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

Оператор cin и ошибка - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
09.03.2012, 18:30     Оператор cin и ошибка #1
Вот у меня есть такая прога она считивает цифру если она входит в диапазон пишет Ок
и завершает програму
если нет то спрашивает еще раз
Работает всё хорошо но если ввести букву оно начинает бесконечно писать об ошибке...
Почему так? почему оно не просит еще раз ввод а просто делается цикл?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2012, 18:30     Оператор cin и ошибка
Посмотрите здесь:

C++ оператор cin. Как вывести информацию.
C++ Ошибка ( cin.get и цикл )
Ошибка при работе с cin и cout C++
C++ Ошибка на cout и cin
C++ ошибка потокового ввода cin
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
09.03.2012, 18:31     Оператор cin и ошибка #2
буфер почистить
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
09.03.2012, 18:46  [ТС]     Оператор cin и ошибка #3
всмысле?

Добавлено через 12 минут
Вот код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<conio.h>
#include<iostream>
usingnamespace std;
int main()
{
int a,e=1;
while (e==1)
{
cout << "Please enter number(0-9)\n";
cin >> a;
if (a<0 || a>9)
{
cout << "Error!\n\n\n"; 
e=1;
} 
else 
{
cout << "Ok!";
e=0;
} 
}
getch();
}
Drum and C++
12 / 14 / 0
Регистрация: 03.08.2011
Сообщений: 213
09.03.2012, 18:58     Оператор cin и ошибка #4
ну ты даешь надо юзать char а не int и тогда ошибки не будет
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
09.03.2012, 19:00  [ТС]     Оператор cin и ошибка #5
мне надо считать цифру а не букву но если случайно нажать букву то такое будет!
мне надо остановить и начать ввод заново
Байт
 Аватар для Байт
13993 / 8824 / 1231
Регистрация: 24.12.2010
Сообщений: 15,990
09.03.2012, 19:05     Оператор cin и ошибка #6
Перевод копеек в рубли
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
09.03.2012, 19:10     Оператор cin и ошибка #7
Taras_Z, читай в переменную типа char.
Drum and C++
12 / 14 / 0
Регистрация: 03.08.2011
Сообщений: 213
09.03.2012, 19:18     Оператор cin и ошибка #8
че непонятного запиши в char if(z!='1'){То то и то то}
и юзай continue и break
Байт
 Аватар для Байт
13993 / 8824 / 1231
Регистрация: 24.12.2010
Сообщений: 15,990
09.03.2012, 19:21     Оператор cin и ошибка #9
Вообще, будь моя воля, я бы штуки типа cin>> и scanf - запретил бы! Или допускал бы их использование только после сдачи экзамена, типа как на права. Или хотя бы ограничил их использование самыми простейшими случаями. А все попытки их использовать как-то изощренно пресекал путем отрубания рук
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
09.03.2012, 19:48     Оператор cin и ошибка #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <conio.h>
#include <iostream>
#include <limits>
 
using namespace std;
 
int main()
{
   int a = 0;
 
   cout << "Please enter number(0-9): ";
   cin >> a;
   
   while(!cin || (a < 0 || a > 9))
   {      
      cout << "Error, try again: ";
      cin.clear();
      cin.ignore(numeric_limits<streamsize>::max(), '\n');
      cin >> a;        
   }
   cout << "Ok!\n";
   getch();
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2012, 20:09     Оператор cin и ошибка
Еще ссылки по теме:

Оператор cin. Задать ширину для вывода нескольких значений C++
Оператор cin в одну строку C++
C++ Оператор cin. Ввод нескольких переменных через делитель

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

Или воспользуйтесь поиском по форуму:
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
09.03.2012, 20:09  [ТС]     Оператор cin и ошибка #11
спасибо понял!
Yandex
Объявления
09.03.2012, 20:09     Оператор cin и ошибка
Ответ Создать тему
Опции темы

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