Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 09.02.2019
Сообщений: 17
1

Проверка вводимых данных

16.02.2019, 13:06. Показов 2148. Ответов 6
Метки нет (Все метки)

Подскажите, пожалуйста, как зациклить ввод данных до тех пор пока пользователь не введёт корректный ответ

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
25
#include <iostream> 
using namespace std;
 
int main()
{
 
    setlocale(LC_ALL, "Rus");
    int n, k = 0;
    int a, a0;
 
    cout << "Введите количество элементов последовательности: "; cin >> n;
    
 
if(!cin)
{
    cout<<"Ошибка: это должно быть число"<<endl;
    return 0;
}
if (n<0)
{
    cout<<"Ошибка: это должно быть положительное число"<<endl;
    return 0;
    }
    cout << "Введите " << n << " элементов:\n";
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2019, 13:06
Ответы с готовыми решениями:

Проверка вводимых данных
Вот часть программы int main(void) { int vop; setlocale(LC_ALL, &quot;Russian&quot;); int mas1,...

Проверка вводимых данных
Доброго времени суток, форумчане. Я столкнулся с такой проблемой: при введении еденицы измерения,...

Проверка вводимых данных
#include &lt;iostream&gt; using namespace std; int main() { double a, b, c; cout &lt;&lt;...

Проверка вводимых данных.
предполагается, что функция будет проверять, что ввел пользователь, и, если он ввел не натуральное...

6
246 / 163 / 79
Регистрация: 12.02.2019
Сообщений: 573
16.02.2019, 13:17 2
C++
1
2
3
4
5
do
{
  cout << "Введите количество элементов последовательности: "; 
  cin >> n;
}while(n<=0);
0
213 / 160 / 52
Регистрация: 09.12.2017
Сообщений: 520
16.02.2019, 13:20 3
Псевдокод :
C++
1
2
3
4
5
6
7
8
int n;
do {
    cout << " Enter n = "; cin >> n;
 
    if (/*условие ошибки*/)
        cout << " Error ! " << endl;
 
} while (/*условие ошибки*/);
1
246 / 163 / 79
Регистрация: 12.02.2019
Сообщений: 573
16.02.2019, 13:24 4
Лучший ответ Сообщение было отмечено _Юлия___ как решение

Решение

опшипся
C++
1
2
3
4
5
6
7
8
9
10
11
    do
    {
      cout << "Введите количество элементов последовательности: "; 
      cin >> n;
      if(!cin) 
      {
          cin.clear();
          while (cin.get() != '\n');
          cout<<"Луга попутал?\n";
      }
    }while(n<=0);
1
Jesus loves me
Эксперт С++
5189 / 3157 / 355
Регистрация: 12.12.2009
Сообщений: 7,973
Записей в блоге: 2
16.02.2019, 13:28 5
C++
1
2
3
4
5
    int val = 0;
    while (!(std::cin >> val) && (std::cout << "Only integers are allowed!\n")) {
        std::cin.clear();
        std::cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
    }
0
0 / 0 / 0
Регистрация: 09.02.2019
Сообщений: 17
18.02.2019, 19:52  [ТС] 6
Спасибо за ответы! А возможна ли такая проверка с применением булевой функции? На число отрицательное, букву, дробное число?
0
246 / 163 / 79
Регистрация: 12.02.2019
Сообщений: 573
18.02.2019, 20:06 7
в строку читать, все буквы должны быть isdigit
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.02.2019, 20:06

Проверка вводимых данных
Как сделать так, чтобы при вводе символов в строку года поступления на экран появлялось...

Проверка на корректность вводимых данных
В моём коде должны быть ТОЛЬКО вводимые числа от -1000 до 1000 (с плавающей точкой). Если...

Проверка корректности вводимых данных
Здравствуйте, подскажите,пожалуйста, как прописать условия проверки. Мне нужно: если вводится...

Проверка типа вводимых данных.
Собственно,как осуществить ? К примеру,здесь: int main() { int x; int y; ...


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

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

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