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

cin.get() - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Приведите простейший пример реализации диалога http://www.cyberforum.ru/cpp-beginners/thread1071578.html
:cry: Приведите простейший пример реализации диалога в С++ при вводе значений переменных. Какова роль оператора ввода?
C++ Назначение комментария :-|Назначение комментария. Как указать комментарий в программе С++? http://www.cyberforum.ru/cpp-beginners/thread1071576.html
ООП. нахождение суммы обыкновенных дробей с выделенной целой частью C++
Неправильно высчитывает сумму. что не так? помогите. само задание такое. написать класс, реализующий понятия обыкновенных дробей с выделенной целой частью. Найти их сумму. перегрузка суммы. конструктор, деструктор. #include <iostream> #include <ostream> #include <locale> #include <conio.h> using namespace std; class Rational { int ch;
C++ Найти площадь треугольника по формуле Герона
Помогите пожалуйста с задачкой на класс. Нужно найти площадь треугольника по формуле Герона. Ошибку выдает, подчеркивает p в самой формуле. Нужно уже завтра #include "stdafx.h" #include <iostream> #include <math.h> using namespace std; class ger { public: int a, b, c;
C++ Строки. Нужно дополнить строку нулями слева http://www.cyberforum.ru/cpp-beginners/thread1071525.html
Нужно дополнить строку нулями слева. Например была строка str1="345" результат str2="0000000345" Нужно именно в С++. Спасибо!
C++ Записать функции в виде методов класса #include <stdio.h> #include <stdlib.h> #include <locale.h> struct Stack { int data; struct Stack *next; }; подробнее

Показать сообщение отдельно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.01.2014, 22:48     cin.get()
Цитата Сообщение от templas Посмотреть сообщение
Я ввожу букву вместо целого числа у меня происходит зацикливание. В чем проблема?
При ошибке в потоке невведённое остаётся в очереди ввода, которую нужно очистить. Вот эта конструкция делает очистку (извлекает все введённые символы вместе с '\n'):
C++
1
while (cin.get() != '\n');
Добавлено через 2 минуты
У вас же, при следующем чтении, опять считается буква, опять ошибка в потоке, cin.clear() сделает поток рабочим, опять считается буква, опять ошибка и т.д.
 
Текущее время: 20:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru