Форум программистов, компьютерный форум CyberForum.ru

Подсчет символов в строке, как работает? ( С++ ) - C++

Войти
Регистрация
Восстановить пароль
 
sanek7
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 6
26.11.2012, 00:41     Подсчет символов в строке, как работает? ( С++ ) #1
Доброго времени суток! Помогите начинающему:
Есть код который читает символы -
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
int main ()
{
 
int spase=0;
int total=0;
char ch;
 
std::cin.get(ch);
while (ch != '.')
{
    if(ch == ' ')
        ++spase;
            ++total;
        std::cin.get(ch);   //почему без этой строки не работает??
}
std::cout<<spase<<"spases, "<<total;
std::cout<<" - total chars\n";
 
 
 
    system("pause");
    return 0;
}
Вопрос:
1) Как сделать так что-бы символ перевода строки не учитывался?
2) Каким образом переменная "total" знает что нужно подсчитывать символы?
3) Мне целых 27 лет, не поздновато ли начинать всем этим заниматься? (Хочу жутко сменить свою работу...)

Заранее благодарен...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2012, 00:41     Подсчет символов в строке, как работает? ( С++ )
Посмотрите здесь:

C++ Подсчет в строке символов вводимых с клавиатуры
C++ Подсчет символов в строке
Подсчет количества символов пунктуации в строке C++
C++ Подсчет количества символов в строке
C++ Подсчет символов в строке. Программа не компилируется
Подсчет кол-ва символов в строке во входном файле C++
C++ Как работает функции подсчёта символов в строке
C++ Не работает подсчет символов
C++ Подсчет количества различных символов в строке
C++ Подсчет количества символов в строке
C++ Подсчет количества разных символов в строке
Подсчет символов в строке C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3584 / 1364 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
26.11.2012, 00:58     Подсчет символов в строке, как работает? ( С++ ) #2
Цитата Сообщение от sanek7 Посмотреть сообщение
1) Как сделать так что-бы символ перевода строки не учитывался?
C++
1
2
if (ch == '\n')
    continue;
Добавлено через 54 секунды
Цитата Сообщение от sanek7 Посмотреть сообщение
2) Каким образом переменная "total" знает что нужно подсчитывать символы?
На каждой итерации цикла она наращивается.

Добавлено через 36 секунд
Цитата Сообщение от sanek7 Посмотреть сообщение
std::cin.get(ch); * //почему без этой строки не работает??
Говоря простыми словами, именно здесь происходит чтение из буфера клавиатуры.
grizlik78
Эксперт С++
 Аватар для grizlik78
1887 / 1419 / 103
Регистрация: 29.05.2011
Сообщений: 2,967
26.11.2012, 01:02     Подсчет символов в строке, как работает? ( С++ ) #3
Цитата Сообщение от sanek7 Посмотреть сообщение
почему без этой строки не работает??
Потому что именно эта строка считывает каждый последующий символ.
Цитата Сообщение от go Посмотреть сообщение
C++
1
2
if (ch == '\n')
    continue;
только надо не забыть считать-таки тот самый следующий символ, а то бесконечный цикл получится.
Впрочем, считывание символа правильнее перенести в условие, с проверкой на конец файла.
sanek7
0 / 0 / 0
Регистрация: 17.11.2012
Сообщений: 6
26.11.2012, 01:23  [ТС]     Подсчет символов в строке, как работает? ( С++ ) #4
Ок, всем спасибо.. вроде все понятно!
Yandex
Объявления
26.11.2012, 01:23     Подсчет символов в строке, как работает? ( С++ )
Ответ Создать тему
Опции темы

Текущее время: 18:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru