RinaldFN 0 Denunciar post Postado Março 26, 2007 Olá a todos,Estou tentando criar uma função para contar as palavras de um texto txt, só que não estou conseguindo..Tenho que considerar espaços em branco(varios) e quebas de linha.Se alguem souber a lógica de como se faz.. valeu.. Compartilhar este post Link para o post Compartilhar em outros sites
RinaldFN 0 Denunciar post Postado Março 27, 2007 Olá pessoal, fiz um exemplo aqui: O objetivo é contar quantas vezes uma preposição aparece no texto, só que não esta dando cerot.. vejam: #include <iostream.h> #include <stdlib.h> #include <string.h> #include <stdio.h> #include <conio.h> int main() { FILE *fp; int cont=0,i=0; char *palavra,caractere; char *prep[3]={"para","ante","apos"}; clrscr(); /*strcpy(palavra,"para"); if(strcmp(palavra,prep[0]) == 0) printf("ok\n"); */ if((fp = fopen("kiki.txt","r")) == NULL) { printf("Erro"); } while (!feof(fp)) { caractere = fgetc(fp); if(!feof(fp)) { if(caractere != ' ' && caractere != '\n') { palavra = caractere; i++; } } else { palavra = '\'; if(strcmp(prep[0],palavra) == 0) { printf("%s",palavra); cont++; } i=0; } } // printf("%d",cont); // fclose(fp); // system("PAUSE"); getche(); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Abril 2, 2007 está no rumoa lógica é ler o arquivo enquanto não chegar em EOF, voce pode ler caracter por caracter ou pegar uma linha inteira com fgets, dentro desse loop voce precisa comparar caracter por caracter da linha lida por exemplo e a cada " " espaço ou "\n" seu contador é incrementado. Compartilhar este post Link para o post Compartilhar em outros sites
Helton Eduardo Ritter 0 Denunciar post Postado Novembro 23, 2007 /* Modifique o ex 1 de modo que ele conte quantos caracteres o arquivo tem*/ #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main() { int iCont=0; FILE *fp; char arq[10],ch,chant; printf("Este pograma conta quantas palavras tem em um arquivo texto."); printf("\nContar palavras do arquivo: "); gets(arq); if((fp=fopen(arq,"r"))==NULL) exit(1); ch=fgetc(fp); while(ch!= EOF) { if(isalnum(chant) && !isalnum(ch)) iCont++; chant = ch; ch=fgetc(fp); } printf("%d\n",iCont); system("pause"); return 0; } // fim do main Compartilhar este post Link para o post Compartilhar em outros sites