Estou fazendo um exercício sobre manipulação de arquivos, porém estou com uma dificuldade, o meu contador tá contando sempre 1 a menos, no caso ele deveria apontar 14 palavras, mas só aponta 13, já testei varias frases e palavras e ainda não consegui encontrar a solução.
Alguém poderia me dar uma luz, do que foi tratado errado?
O que consta no meu arquivo Exercicio 2.txt no momento e a seguinte frase repetida:
E preciso viver e não apenas existir
E preciso viver e não apenas existir
Total de palavras: 14
Total de palavras que o programa me retorna: 13
/*
Name: Cassio Oliveira Lopes
Date: 23/05/12 08:36
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char c;
FILE *fp;
int count = 0;
int flag = 0;
if ((fp=fopen("Exercicio 2.txt", "r"))==NULL)
{
printf("ERRO! Arquivo invalido");
exit(1);
}
while(!feof(fp))
{
c = getc(fp);
if ( c == ' ' || c == '\n' )
{
if (flag == 0)
{
count++;
flag = 1;
}
}
else
{
if ( flag == 1 )
flag = 0;
}
}
fclose(fp);
printf("Total de palavras: %d\n", count);
system("pause");
return (0);
}
Pergunta
FaiscaroX
Bom dia,
Estou fazendo um exercício sobre manipulação de arquivos, porém estou com uma dificuldade, o meu contador tá contando sempre 1 a menos, no caso ele deveria apontar 14 palavras, mas só aponta 13, já testei varias frases e palavras e ainda não consegui encontrar a solução.
Alguém poderia me dar uma luz, do que foi tratado errado?
O que consta no meu arquivo Exercicio 2.txt no momento e a seguinte frase repetida:
E preciso viver e não apenas existir
E preciso viver e não apenas existir
Total de palavras: 14
Total de palavras que o programa me retorna: 13
Agradeço qualquer ajuda!
Abraços!
Editado por FaiscaroXLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.