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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2011, 23:46   #1
Sergey_Black
 
Регистрация: 10.11.2011
Сообщений: 5
По умолчанию Проблемы со счетчиком

#include "stdafx.h"
#include <stdio.h>
int tab, probel, konec, c;
int main(void)
{
tab=0;
probel=0;
konec=0;
while((c=getchar())!=EOF) {
if(c=='\t') ++tab;
if(c==' ') ++probel;
if(c=='\n') ++konec; }
printf("tabulyaciya %d\n probel %d\n konec stroki %d\n", tab, probel, konec);
}

Вот код команды, который должен считать количество пробелов, знаков табуляции и строк. Однако после ввода текста и нажатия ENTER ничего не происходит и только курсор смещается на новую строку.
Если поместить } в конец оператора printf
printf("tabulyaciya %d\n probel %d\n konec stroki %d\n", tab, probel, konec);}
то выводит значение для каждого символа.
Если написать printf после каждого инкремента, то отображает правильно, но вот только еще выводит счет подряд (т.е например: probel 1, probel 2) а не в одном числе.
Что сделано не так? Или может как то по другому надо записать код?
Работаю на visual С++, Windows 7.

Последний раз редактировалось Sergey_Black; 10.11.2011 в 23:49.
Sergey_Black вне форума Ответить с цитированием
Старый 11.11.2011, 01:05   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

А после какого признака он должен останавливаться? ) Если после нажатия enter, то замени в коде eof на цифру 10.
Son Of Pain вне форума Ответить с цитированием
Старый 11.11.2011, 01:27   #3
Sergey_Black
 
Регистрация: 10.11.2011
Сообщений: 5
По умолчанию

Оу! спасибо огромное, теперь все работает))
Я думал о том, что как-то программу надо остановить, но не знал как это реализовать))
А почему именно цифра 10?
Sergey_Black вне форума Ответить с цитированием
Старый 11.11.2011, 02:22   #4
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

На самом деле 10 это то же самое, что '\n', то бишь конец строки.
Son Of Pain вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Циклический процесс со счетчиком kuy Паскаль, Turbo Pascal, PascalABC.NET 6 13.11.2011 00:15
Проблема с счетчиком( vityanya Общие вопросы C/C++ 14 16.12.2010 02:41
Ошибка со счетчиком адреса (Assembler TASM) Fata1ity Помощь студентам 0 28.05.2010 03:08
Циклы с счетчиком, помогите! Elena90 Microsoft Office Excel 2 13.12.2009 20:48
элементарная задача на цикл с счетчиком VaR_Female Паскаль, Turbo Pascal, PascalABC.NET 3 28.10.2008 10:04