Ir para conteúdo
Fórum Script Brasil

FJordan

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre FJordan

Contatos

  • Website URL
    http://
  • ICQ
    0

Perfil

  • Location
    Fortaleza

FJordan's Achievements

0

Reputação

  1. Eu resolvi desenterrar o tópico original para comentar uma outra solução tendo em vista uma quantidade maior de caracteres a serem comparados. Por exemplo, se a questão pedisse a contagem das consoantes, seria melhor reescrevê-lo assim: #include <stdio.h> #include <stdlib.h> #include <string.h> int contar (char *); int main () { char str[30]; printf ("Digite uma string\n"); fgets (str, 30, stdin); printf("\nO numero de vogais é: %d \n\n", contar (str)); system ("pause"); return 0; } int contar (char str[]) { int count = 0; char *ptr = str - 1, s[] = "BbCcDdFfGgHhJjKkLlMmNnPpQqRrSsTtVvWwXxYyZz"; while (ptr = strpbrk (ptr + 1, s)) count++; return count; } Já para o exercício 7, eu fiz um código ilustrativo sem críticas, preparado APENAS para o melhor caso (entrada com mais de um termo e sem espaço no final): #include <stdio.h> #include <stdlib.h> #include <string.h> int main () { char str[100], *ptr; printf ("Digite uma string\n"); scanf ("%100[^\n]s", str); ptr = strrchr (str, ' '); *ptr = '/0'; Esse caracter é um barra zero printf("%s, %s\n", ptr + 1, str); system ("pause"); return 0; } Espero ter ajudado! :)
  2. FJordan

    Outras bibliotecas de c

    No próprio Dev-C++ é possível encontrar essas bibliotecas verificando por atualizações. Mas tome cuidado, a maioria delas está em fase de teste, então não há garantias de seu funcionamento. Para obter mais informações e fazer o download direto podes acessar http://devpaks.org/ e http://old.devpaks.org/ (mais antigas). Espero ter ajudado! ;)
  3. OI, Jessé. O teu menu é um capítulo a parte, portanto nem falarei dele. Vamos focar em gravação de arquivos. O parâmetro "w+" especifica leitura e escrita, então não faz sentido utilizá-lo numa operação somente escrita. Além disso, ele substitui o arquivo anterior e eu imagino que tu gostarias de acrescentar informações. E estou partindo das premissas: o caminho "C:\Filmes" é valido, ou seja, existe (já que o "fopen" não cria diretórios) e tu tens permissão para gravar ali. Tendo em vista a utilização do código (locadora), eu sugiro uma abordagem completamente diferente (conceitualmente): listas (dado estruturado). O princípio é simples, carregar todo o conteúdo do arquivo (ou parte dele, se for muito grande) para uma lista com alocação dinâmica e vários campos (nome, gênero, ano etc), fazer todas as operações nela (acrescentar ou excluir filmes, organizar em ordem alfabética ou por gênero) e, quando concluir, uma função grava os dados num arquivo substituindo o anterior. Simples, não é?! Outras dicas: releia o código para não incluir uma mesma biblioteca 3 vezes; "!filme == NULL" <==> "filme != NULL" <==> "filme"; pergunte sobre "switch". Espero ter ajudado! ;)
  4. De antemão lhe peço desculpas, mas, ou essa NÃO é uma duvida de quem pesquisou bastante, ou NÃO entendi a tua pergunta. Porque, se entendi certo, na verdade, é bem simples e vou exemplificar: #include <stdio.h> #include <time.h> int main () { FILE * TFile; TFile = fopen ("ARQUIVO_X.txt","a"); if (TFile != NULL) { fputs ("\n\n"__DATE__" "__TIME__"\n", TFile); fclose (TFile); } TFile = fopen ("C:\\Users\\Fulano\\Documents\\ARQUIVO_X.txt","a"); if (TFile != NULL) { fputs ("\n\n"__DATE__" "__TIME__"\n", TFile); fclose (TFile); } return 0; } O programa acima, primeiramente, cria, no diretório de onde foi executado, um arquivo em texto puro de nome "ARQUIVO_X" e extensão ".txt". Se o arquivo puder ser criado ou já existir, o programa o atualiza (por conta do parâmetro "a" em "fopen") com a data e horário atuais (dando uns "\n" para organizar). Depois ele faz o mesmo na pasta "C:\Users\Fulano\Documents", levando em conta um sistema Win7 e uma conta de usuário de nome "Fulano". Se eu não possuir permissão para gravar ali ou o caminho da pasta estiver incorreto, o "if" garante que o programa faça nada. Espero ter ajudado! ;)
  5. O que o Jonathan disse é a verdade. Se tu quiseres escrever em C (e não C++), precisas utilizar as funções da biblioteca "stdio.h" (e não "iostream"). Posto dessa forma teu algoritmo ficaria + ou - assim: #include <stdio.h> //#include <stdlib.h> #define MAX 10 int main () { int v[MAX], i, n; printf ("Digite %d numeros para um vetor\n", MAX); for (i = 0; i < MAX; i++) { printf ("Digite o %do numero: ", i + 1); scanf ("%d", &v[i]); } printf ("\nDigite o numero a ser procurado: "); scanf ("%d", &n); for (i = 0; i < MAX; i++) if (v[i] == n) { printf ("O numero \"%d\" foi encontrado na %da posicao!\n\n", n, i + 1); break; } if (i == MAX) printf ("O numero \"%d\" não foi encontrado no vetor!\n\n", n); //system ("timeout /t 6"); return 0; } Este mesmo estilo pode ser aplicado a diversos outros casos. Espero ter ajudado! ;)
×
×
  • Criar Novo...