0 / 0 / 0
Регистрация: 09.10.2016
Сообщений: 76
1

Проверка введённых цифр

16.08.2019, 21:48. Показов 828. Ответов 2
Метки нет (Все метки)

Добрый день. Пользователь может ввести любые символы в любом количестве. Я же хочу, чтобы в программе была красивая проверка: программа должна вызвать функцию, если было введено 4 цифры, разделённые клавишой enter, иначе вывести сообщение об ошибке. Проблема в том, что сообщение выводится столько раз, сколько было введено некорректных символов. И вообще мне мой код не нравится, думаю, можно как-то менее громоздко написать.
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
26
cout << "Введите четыре цифры используя enter: " << endl;
 
int n, flag=0;
char ch;
 
while (flag < 4) {
    cin >> ch;
    n = (int) ch;
    switch(n) 
    { 
         case 48:
             ret.push_back(0);
             flag++;
          case 49:
             ret.push_back(1);
             flag++;
          // и т. д. до 57 
         case 57:
             ret.push_back(9);
             flag++;
          default:
               cout << "Введено некорректное значение, повторите попытку. " << endl;
               break;
     } 
 
}
Буду благодарна за ответы.
0

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

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2019, 21:48
Ответы с готовыми решениями:

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

Проверка количества введённых чисел
Задаётся размер массива string. У меня есть while(){}, который проверяет корректность введённого...

Проверка правильности последовательности введённых символов
Допустим есть три символа (a, b, c). Я поочерёдно ввожу эти символы в аналогичном порядке(в...

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

2
357 / 224 / 120
Регистрация: 25.06.2019
Сообщений: 828
16.08.2019, 22:57 2
_getch() - отличная функция
0
Модератор
Эксперт С++
10906 / 9014 / 5419
Регистрация: 18.12.2011
Сообщений: 24,097
17.08.2019, 12:30 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
cout << "Введите четыре цифры и enter: " << endl;
char txt[100];
cin.getline(txt,100);
size_t L=strlen(txt);
if(L>4)
   cout<<"Введено больше 4 символов\n";
else(if(L<4)
   cout<<"Введено меньше 4 символов\n";
else
{
   size_t i=0;
   for(;i<L;i++)
     if(txt[i]<'0' || txt[i]>'9')
     {
         cout<<txt[i]<<" не цифра\n";
         break;
     }
   if(i==L)
   {
       int N=atoi(txt);
       cout<<"Введено 4 значное число "<<N<<endl;
   }
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2019, 12:30

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

Сравнение 1 и 2 цифр числа и проверка числа на наличие одинаковых цифр
нужно создать заголовочный файл, в котором будет функция сравнивающая первую и вторую цифру числа,...

Проверка на ввод цифр
Здравствуйте! Можно ли как нибудь по лучше это сделать: bool CheckInputData(HWND window, HWND...

Проверка строки на наличие цифр
Написал код, который проверяет каждый элемент строки при помощи isdigit и если это цифра выводи...

Проверка количества цифр в числе
Доброго времени суток) Возникла проблема с программой, помогите, пожалуйста Уверен, что ошибка...


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

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

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