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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
fisharik
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 4
#1

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

14.02.2014, 21:22. Просмотров 460. Ответов 5
Метки нет (Все метки)

Есть класс Point, в котором поля int X, int Y, int Z; (X должен быть больше Y)
Есть конструктор без параметров
C++
1
2
3
4
5
6
7
8
Point::Point(){
    cout << "Enter X: ";
    cin >> X;
    cout << "Enter Y: ";
    cin >> Y;
    cout << "Enter Z: ";
    cin >> Z;
}
Как мне сделать, чтобы ввод начинался занова, если пользователь неверно ввел данные(например, ввел буквы или нецелые числа, и если X<Y то тоже занова)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2014, 21:22     Проверка корректности ввода
Посмотрите здесь:

Проверка корректности ввода - C++
****Сразу извините, что заголовок на английском, при попытке написать по русски, вылетала ошибка.**** День добрый. Решил, что пора учить...

Проверка корректности ввода чисел - C++
считывается квадратная матрица с файла Как написать условие в коде,если после пробела идет не число то if(тут какое условие?) { ...

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

Проверка корректности данных - C++
Вводятся числа. Необходимо проверить, что данные введены действительно числового формата (double, например). Если вводятся буквы, другие...

Проверка корректности двоичного дерева - C++
Здравствуйте! Задача такая, Свойство двоичного дерева поиска можно сформулировать следующим образом: для каждой вершины дерева V...

Проверка корректности xml документа - C++
Нужно написать программу, которая проверяет закрытие тегов в xml документе. Подскажите пожалуйста.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
14.02.2014, 21:51     Проверка корректности ввода #2
Наверно в конструкторе проверять надо
fisharik
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 4
14.02.2014, 21:54  [ТС]     Проверка корректности ввода #3
Это да. Мне сама проверка нужна.
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
14.02.2014, 22:00     Проверка корректности ввода #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 Point::Point(){
    cout << "Enter X: ";
    while((cin >> X)&& (!cin.good())
{
cout<<"Try again! Enter X:";
}
    cout << "Enter Y: ";
    while(((cin >> Y)&& (!cin.good())||((X<Y)&& (cin.good())))
{
cout<<"Try again! Enter Y:";
}
    cout << "Enter Z: ";
    while((cin >> Z)&& (!cin.good())
{
cout<<"Try again! Enter Z:";
}
}
fisharik
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 4
14.02.2014, 22:10  [ТС]     Проверка корректности ввода #5
неправильно работает. при вводе Y ввожу символ, и программа заканчивается.
Когда ввожу числа, проверка X>Y работает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2014, 22:35     Проверка корректности ввода
Еще ссылки по теме:

Проверка корректности введеннего IP-адреса - C++
1.Условие задачи : &quot;Для того чтобы выходить в Интернет, каждому компьютеру присваивается так называемый IP-адрес. Он состоит из четырех...

Проверка корректности вводимых данных - C++
Есть программа на проверку високосного года. Преподаватель при проверке вводит &quot;5 Аотао&quot; к примеру и программа читает первое число и...

Проверка корректности введенных данных - C++
Всем привет. Есть задача: Список товаров, имеющихся на складе, включает в себя наименование товара, количество единиц...

Проверка корректности введенных строк - C++
Программа выдает, что все введенные элементы некорректные... Что тут не так. (код не мой) Помогите с этим разобраться, или залейте свой...

Проверка корректности вводимых значений - C++
Имеется следующий код: #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; int main() { double a, b, c; ...

Проверка корректности введенного пароля - Ошибка strcmp - C++
Решил воспользоваться strcmp, чтобы проверить правильность введенного пароля, но вместо этого код не хочет компилироваться. В чем проблема,...


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

Или воспользуйтесь поиском по форуму:
somebdy
7 / 7 / 1
Регистрация: 30.04.2013
Сообщений: 25
14.02.2014, 22:35     Проверка корректности ввода #6
fisharik, такой вариант
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
template <typename T>
bool input(const char * msg, T & dest) {
    std::cout << msg;
 
    if (std::cin >> dest)
        return true;
 
    std::cin.clear();
    std::cin.get();
 
    return false;
}
 
Point::Point() {
    do {
        while(!input("Enter X: ", X))
            std::cout << "Error! Try Again!\n";
        while(!input("Enter Y: ", Y))
            std::cout << "Error! Try Again!\n";
        if (X < Y)
            std::cout << "Error! X must be greater than Y!\n";
    } while (X < Y);
 
    while (!input("Enter Z: ", Z))
        std::cout << "Error! Try Again!\n";
}
Yandex
Объявления
14.02.2014, 22:35     Проверка корректности ввода
Ответ Создать тему
Опции темы

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