Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
6 / 6 / 1
Регистрация: 23.06.2012
Сообщений: 146
1

Проверка корректности ввода

30.06.2016, 18:58. Показов 1374. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
****Сразу извините, что заголовок на английском, при попытке написать по русски, вылетала ошибка.****
День добрый. Решил, что пора учить C, так сказать время пришло.
Начал с простых, бесполезных программ, так сказать, что бы набить руку. Возникла проблема с операцией "continue".
Как расположить все так, что бы цикл продолжался до тех пора пока не будет введен нужный возраст, число из нужного диапазона.
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
            while (age > 18 || age < 60)
        cin >> age;
        {       
             if (age < 18) 
            {
                cout << "You are very young, try again later" << name << endl;
                cout << "Press Enter to exit" << endl;
                system ("pause");
                cout << "Pssss friend, enter the age from 18 to 60 to make things work" << endl;
                continue;
            } else if (age > 60)
            {
                cout << name << ", you are very old, it is too late. ! " << endl;
                cout << "Goodbye! " <<endl;
                cout << "Press Enter to exit" << endl;
                system ("pause");
                cout << "Pssss friend, enter the age from 18 to 60 to make things work" << endl;
                continue;
            }  else if (age >= 18)
            {
                cout << name << ", you are worthy ! " << endl;
                break;
            }
        }
P.S. Не сразу побежал на форму, сам сижу думаю более 5 часов. Серьёзно, более 5 часов !
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.06.2016, 18:58
Ответы с готовыми решениями:

Проверка корректности ввода
Есть класс Point, в котором поля int X, int Y, int Z; (X должен быть больше Y) Есть конструктор...

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

Проверка корректности ввода фамилии инициалов
Нужно сделать полную проверку при вводе фамилии инициалов. Разрешаются только буквы, пробелы, две...

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

4
18841 / 9840 / 2408
Регистрация: 30.01.2014
Сообщений: 17,283
30.06.2016, 18:59 2
MAXPOL, 2 и 3 строку местами поменяй.
1
6 / 6 / 1
Регистрация: 23.06.2012
Сообщений: 146
30.06.2016, 19:07  [ТС] 3
DrOffset, спасибо.
-----
Если честно, зашел написать, что тема закрыта.
Магия форума ! Как только опубликовал вопрос, так сразу понял в чем проблема.
------
DrOffset, еще раз спасибо, что быстро ответил ))))
---
Вот так в итоге, вряд ли конечно, но мало ли кому тоже пригодится.
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
while (age > 18 || age < 60)
        {   
        cout << "Èòàê, âàø âîçðàñò: ";
        cin >> age; 
             if (age < 18)
            {
                cout << "You are very young, try again later" << name << endl;
                cout << "Press Enter to exit" << endl;
                system ("pause");
                cout << "Pssss ... friend, enter the age from 18 to 60 to make things work" << endl;
                continue;
            } else if (age > 60)
            {
                cout << name << ", you are very old, it is too late. ! " << endl;
                cout << "Goodbye! " <<endl;
                cout << "Press Enter to exit" << endl;
                system ("pause");
                cout << "Pssss ... friend, enter the age from 18 to 60 to make things work" << endl;
                continue;
            }  else if (age >= 18)
            {
                cout << name << ", you are worthy ! " << endl;
                break;
            }
        }
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
30.06.2016, 19:11 4
continue тут совсем не нужны.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        do
        {       
            cin >> age;
            if (age < 18) 
            {
                cout << "You are very young, try again later" << name << endl;
                cout << "Press Enter to exit" << endl;
                system ("pause");
                cout << "Pssss friend, enter the age from 18 to 60 to make things work" << endl;
            } else if (age > 60)
            {
                cout << name << ", you are very old, it is too late. ! " << endl;
                cout << "Goodbye! " <<endl;
                cout << "Press Enter to exit" << endl;
                system ("pause");
                cout << "Pssss friend, enter the age from 18 to 60 to make things work" << endl;
             }  else
            {
                cout << name << ", you are worthy ! " << endl;
            }
        }while (age < 18 || age > 60);
0
6 / 6 / 1
Регистрация: 23.06.2012
Сообщений: 146
06.07.2016, 16:32  [ТС] 5
zss, да, так тоже работает, спасибо за еще один вариант.
0
06.07.2016, 16:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.07.2016, 16:32
Помогаю со студенческими работами здесь

Обеспечение корректности ввода
Здравствуйте, господа. Столкнулся с вопросом об обеспечении корректного ввода данных пользователем....

Контроль корректности ввода числа
В консоли в поле (Enter The Yar: )вводя нужно вводить только цифры, если ввести случайно букву то...

Проверка корректности даты
Заданы 2 числа DD и ММ. Проверьте, может ли число ММ быть номером месяца, а число DD - номером дня....

Не работает проверка корректности
Я ввожу даты, и их нужно проверять на корректность. Число и месяц проверяются нормально таким же...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru