С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Gumba
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 2
#1

Пропускает ввод символа - C++

05.11.2012, 03:11. Просмотров 545. Ответов 2
Метки нет (Все метки)

Начал изучать с++ и в процессе выполнения наткнулся на проблему. В процессе выполнения программа нормально запрашивает и принимает первых два значения, пропускает третье значение (grade) и переходит к последнему в чём ошибка помогите разобраться.
Кликните здесь для просмотра всего текста
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
#include <iostream>
struct infatable
    {
        std::string fs_name;
        std::string ls_name;
        char grade[1];
        int age;
    };
int main()
{
    using namespace std;
    infatable * prog = new infatable;
    cout << "What is you ferst name? ______\b\b\b\b\b\b";
        cin >> prog->fs_name;
    cout << "What is your last name? ______\b\b\b\b\b\b";
        cin >> prog->ls_name;
    cout << "What latter grade do you desert? _\b";
        cin.get(prog->grade, 1);
    cout << "What is  you age? __\b\b";
        cin >> prog->age;
   cout << endl << "Your name " << prog->ls_name << " " << prog->fs_name << endl << "Your age " << prog->age << endl << "Your grade \a" << prog->grade;
   delete prog;
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2012, 03:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пропускает ввод символа (C++):

Пропускает ввод данных после for - C++
После заполнения вектора и выхода из цикла for программа завершается . Почему компилятор не переходит к следующему циклу while ? . ...

Программа пропускает ввод первой строки - C++
здраствуйте. в коде програмы, приведенном ниже, в структуру Track записываются данные, считанные с клавиатуры(функция Track...

Функция getline пропускает ввод строки - C++
Строка с getline(cin, pc.name); пропускает ввод. Пишу getline(cin, pc.name); так, как нужно ввести строку с пробелами. Подскажите ,что...

Программа пропускает ввод данных несмотря на fflush - C++
Доброго времени суток. Возникла проблема - когда я в первый раз в цикле ввожу текст посимвольно с помощью getchar, то все нормально. Однако...

Копирование строки. При вводе пробела программа пропускает последующий ввод данных - C++
char st, st1; int k, m, i, j; system(&quot;cls&quot;); cout &lt;&lt;&quot;Введите строку&quot;&lt;&lt;endl; cin &gt;&gt;st; cout &lt;&lt;&quot;Введите номер символа,...

Структуры и ввод строк с пробелами: программа пропускает второй шаг, сразу переходя к третьему - почему? - C++
Здравствуйте, уважаемые форумчане! Я новичок и в С++ и на этом форуме, так что прошу сильно не пинать. Начал заниматься по книге Стивена...

2
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.11.2012, 04:23 #2
C++
1
2
cin >> prog->ls_name;
cin.get();
После cin>> в потоке ввода остаётся символ новой строки 'n\'(попадает туда при нажатии Enter). cin.get(prog->grade, 1) считывает его первым, и код идёт дальше. Чтобы этого не было, нужно извлечь '\n' из потока (что и делает cin.get()).
0
Gumba
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 2
05.11.2012, 23:48 #3
Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2012, 23:48
Привет! Вот еще темы с ответами:

Ввод символа - C++
char b; int c; puts(&quot;Int&quot;); scanf(&quot;%d&quot;, &amp;c); puts(&quot;Char&quot;); b = getchar(); putchar(b); Когда ввел число, система не дает...

Проверка на ввод символа - C++
При вводе какого либо символа программа уходит в прострацию надо что бы программ распазновала что это символ и выводила error int main() ...

Ввод специального символа. - C++
Всем привет. У меня вопрос про символ -  Decimal 26 HEX 1A Подскажите как мне его записать в файл.

Проверка на ввод символа - C++
Предположим вместо числа был введен символ, тогда после ввода символа пропускается вторая строчка cin&gt;&gt;b; и далее заного перезапускается...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.