Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Зависание ввода

6.8K
06 сентября 2008 года
bolt90
80 / / 25.01.2007
Требуется проверить на коректность введеного значения(целого числа).
При вводе других символов повторить ввод.

-язык с++

второй и последущие разы ввод игнорируется. получается безконечный цикл.

 
Код:
n:
 std::cin>>i;
         if (std::cin.fail())
         {
 std::cin.clear();
 goto n;
         }
3
06 сентября 2008 года
Green
4.8K / / 20.01.2000
Цитата: bolt90

второй и последущие разы ввод игнорируется. получается безконечный цикл.


Уже обсуждалось 1 миллион и ещё один раз.
Смотри документацию, что делает clear.
Ищи по форуму ответ. Например по ключевой фразе flush.

6.8K
11 сентября 2008 года
bolt90
80 / / 25.01.2007
нашол:) спс

может еще кому-то пригодится
Код:
#include <iostream>

using namespace std;

void main()
{
int c;
while(!(cin >> c)){
cin.clear();
cin.ignore(80, '\n');
}
system("PAUSE");
return 0;
}
240
11 сентября 2008 года
aks
2.5K / / 14.07.2006
Ужас, не говоря уже о дикости типа: system("PAUSE");
5
11 сентября 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: bolt90
 
Код:
system("PAUSE");

Спасибо, поржал :D

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог