11 / 11 / 10
Регистрация: 16.12.2013
Сообщений: 66
1

Выполнение цикла. Очистка потока ввода

15.10.2014, 20:18. Показов 656. Ответов 1
Метки нет (Все метки)

Добрый вечер. В данном коде тело цикла выполняется не n, а n-1 раз. Вернее, выполняется оно именно n раз, но почему-то 1ый раз команда cin.getline ( a,30 ) и последующие игнорируется. Почему?

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
        #include <iostream>
 
        using namespace std;
    
 
            int main () 
        {
            setlocale (0,"");
 
            char a[40];
            int i;
            int eCount=0;
            int mCount=0;
            int lCount=0;
            int n;
            cin >> n;
 
            for ( i=0; i<n; i++ )
            {
                cin.getline ( a,30 );
                switch  (a[0])
                {
                case 'E':
                    eCount++;
                    break;
                case 'M':
                    mCount++;
                    break;
                case 'L':
                    lCount++;
                    break;
                }
            }
 
            cout << "e=" << eCount << endl;
            cout << "m=" << mCount << endl;
            cout << "l=" << lCount << endl;
 
            system ("pause");
            return 0;
        }
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.10.2014, 20:18
Ответы с готовыми решениями:

Очистка потока ввода
ПОМОГИТЕ НАЙТИ ОШИБКУ Ребят написал малюсенький фрагмент кода, но уже есть ошибка. после того...

Очистка потока ввода
Собственно тема подымалась в интернете, но внятного объяснения я не получил. Для ввода строки с...

Цикл и строки, очистка потока ввода
Возникла проблема. При вводе &quot;Y&quot; цикл переходит сразу к следующему вооду, то есть пропускает...

Класс Person. Очистка потока ввода
Добрый вечер помогите найти ошибку в проге: задание : Разработайте класс Person, который...

1
342 / 342 / 331
Регистрация: 02.10.2014
Сообщений: 666
15.10.2014, 20:55 2
Попробуйте после:
C++
1
cin >> n;
Вставить: (для очистки потока, у Вас там ввод застревает.)
C++
1
2
cin.clear();
while(cin.get() != '\n');
У меня с "этим" Ваш код работает.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.10.2014, 20:55
Помогаю со студенческими работами здесь

Телефонный справочник. Очистка потока ввода
Доброго времени суток!!! Нужно сделать подобие телефонного справочника! Вот мой код: # include...

Ввод данных в string, очистка потока ввода
Дана программа #include &quot;stdio.h&quot; #include &quot;stdlib.h&quot; #include &quot;string.h&quot; #include...

Очистка потока ввода && строки
как вобще грамотно очистить поток после ввода множества всяких вещей с клавиатуры? если совсем не...

Очистка потока
Так получается в программе, что приходится несколько раз открывать файл и закрывать, в ходе этого...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru