Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2012, 00:33   #1
t2skler
Форумчанин
 
Аватар для t2skler
 
Регистрация: 25.11.2010
Сообщений: 164
По умолчанию Некорректный подсчёт слов в файле

Написал программу для подсчёта слов, строк и символов в файле, но вот в чём незадача: количество слов на меньше на 1, чем должно. Помогите решить эту проблему.

Код:
	FILE* InputFile;
	if ((InputFile = fopen("C:\\in.txt", "r")) == NULL) {
		printf("Can not open file!\n");
		getch();
		return 1;
	}
	char cSymbol;
	int nWords(0);
	int nStrings(1);
	int nSymbols(0);
	do {
		if ((cSymbol == '\n') || (cSymbol == ' ') || (cSymbol == '\t') || (cSymbol == EOF))
			nWords++;
		if (cSymbol == '\n')
			nStrings++;
		if ((cSymbol != '\n') && (cSymbol != '\0'))
			nSymbols++;
	}
	while ((cSymbol = fgetc(InputFile)) != EOF);
	fclose(InputFile);
	printf("Kol-vo slov = %i\n", nWords);
	printf("Kol-vo strok = %i\n", nStrings);
	printf("Kol-vo simvolov = %i\n", nSymbols);
	getch();
	return 0;
Возможно Я Быдлокодер ©.

Последний раз редактировалось t2skler; 26.03.2012 в 00:46.
t2skler вне форума Ответить с цитированием
Старый 26.03.2012, 10:50   #2
Karmadon
Пользователь
 
Аватар для Karmadon
 
Регистрация: 28.02.2012
Сообщений: 46
По умолчанию

Попробуй вместо
Код:
do {
	.....
	}
	while ((cSymbol = fgetc(InputFile)) != EOF);
Вот это
Код:
while ((cSymbol = fgetc(InputFile)) != EOF)
       {
	....
	}
"THE ONLY WAY TO GET SMARTER IS BY PLAYING A SMARTER OPPONENT." -- Fundamentals of Chess 1883
Karmadon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчёт кол-ва слов Link12 Общие вопросы C/C++ 10 04.06.2010 18:37
подсчёт слов neBu4kaMaXiM Помощь студентам 2 30.03.2010 10:00
подсчёт слов Светочка132 Помощь студентам 1 27.03.2010 15:59
подсчёт слов neBu4kaMaXiM Фриланс 13 18.03.2010 18:11
по вводу слов в массив и подсчёт введённых слов -ushёl- Общие вопросы C/C++ 4 16.11.2009 00:45