Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RinaldFN

Contar palavras de um texto

Recommended Posts

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

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

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

/*

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.