Задать вопрос
dauren101
@dauren101
Python, Django ,Vue.js

Цикл с проверкой на ввод числа С++?

Нужно сделать цикл ввода, только целых чисел, число попыток до 10.
Код ниже уходит в бесконечный цикл.
int a;
		int arr[10];
		int i = 0;
		int k = 0;
		while (i < 10)
		{
			while (!(cin >> a))
			{
				cout << "Just a number";
				cin.clear();
			}
			i++;
		}
  • Вопрос задан
  • 7311 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
dauren101
@dauren101 Автор вопроса
Python, Django ,Vue.js
Вот верный ответ!
Как же много мусора в интернете, когда одни копипастеры в надежде раскрутить свой блог, распространяют неправильный код, даже не протестив его.
int demo_choice()
{
int a;
int i = 0;
while (!(cin >> a))
{
cin.clear();
cin.ignore(cin.rdbuf()->in_avail());
cout << "Не верный ввод!!! Введите число : ";
}
cout << a;
return 0;
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
tsarevfs
@tsarevfs Куратор тега C++
C++ developer
У вас получается бесконечное количество неудачных попыток. Цикл не бесконечный. После 10 успехов он должен завершиться.
Избавьтесь от вложенных циклов. Используйте break чтобы выйти в случае успеха.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы