Программка выводит информацию о дате рождения.Есть класс Date и унаследованный от

Программа выводит информацию о дате рождения.
Есть класс Date и унаследованный от него Birthday.
В конструктор класса Birthday необходимо передать три значения типа int, для денька, месяца и года соответственно. Если передавать значения вручную прямо из программки - все великолепно. Но если доверить юзеру самому вводить эти значения с клавиатуры (что разумно) и записывать их в какие-или переменные, а позже передавать значения этих переменных в конструктор - возникает возможность ввода данных всех типов, приводимых к int. Как проверить, что юзер вправду ввёл с клавиатуры целые числа? И если введены недопустимые значения (К примеру, буковка либо же строчка, содержащая буковкы, и т.д) обработать ошибку с помощью try - catch - throw?


include
include

using namespace std;

class Date

protected:
int day, month, year;
public:
Date ()

day = 0;
month = 0;
year = 0;


void info ()

cout"day: "dayendl;
cout"month: "monthendl;
cout"year: "yearendl;
coutendl;

;

class Birthday : public Date
public:
Birthday (int d_day, int m_month, int y_year)
day = d_day;
month = m_month;
year = y_year;

;


int main()


Birthday Ilya(17,10,1999);
Birthday Alina(5,2,1999);
Birthday Angelina(5,2,1999);

Ilya.info();
Alina.info();
Angelina.info();

return 0;

Задать свой вопрос
Игорек Махагонов
Короче, смешной код.
Левшиц Маргарита
Всё можно делать через условия, но в вопросе задаётся другой вопрос.
Kabachnyj Vladislav
Да ну? Читаем пристально: "Как проверить, что юзер вправду ввёл с клавиатуры целые числа? И если введены НЕДОПУСТИМЫЕ значения..."
Ольга Байзерова
Да, там далее приведены случаи ввода нечисловых символов, но едь написано К примеру, т.е. этим недопустимые значения вовсе не исчерпываются.
Леонид Посевкин
Скажите, неохота была это все расписывать - я поверю.
Элина Кохальская
Прочтите пример недопустимых значений.
Землянкина Мирослава
Я написал выше: этим недопустимые значения совсем не исчерпываются.
Анатолий
Для корректной даты недопустимые значения - это достаточно много всего.
Шпагина Саша
Не вижу смысла продолжать спорить, поскольку создатель сам написал, какие примеры ему необходимо предотвращать.
Вячеслав Отарбиев
Предотвратить ввод несуществующих дат я в состоянии) Вопрос был действительно только в том, как предупредить ввод значений, приводимых к int
1 ответ

Так как из-за структуры языка все символы, вводимые для типа int преобразуются в 0, то после ввода в main можно проверяться на наличие нуля. Это никак не навредит программке, поскольку в датах не может быть нуля.

Код

int main()

 int day = 0, month = 0, year = 0;

 cout lt;lt; "Ilya (d//m//y): ";

 cin gt;gt; day gt;gt; month gt;gt; year;

 if((day == 0) (month == 0) (year == 0))

     cout lt;lt; "Вы ввели неправильные данные!";

     return 0;

 

 else

    // ...

 

 return 0;

Проверка

Ilya (d//m//y): six 3 1999                                                                            

Вы ввели неверные данные!


Ilya (d//m//y): ( 8 1954                                                                              

Вы ввели неправильные данные!

, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
помоги мне пожалуста прш 869*(61124-488*125)-50974

Математика.

по шкале высот определить ,в каком направлении происходит понижение релефа уральских гор

География.

Помогите пожалуйста написать Сочинение Овчинникова "победитель'

Литература.

Здравствуйте. Нужен цитатный план испытания лётчика в лесу главы2-13 по повести

Разные вопросы.

Я хочу найти решение и ответ для этой задачи и получить

Математика.

Здравствуйте Меня зовут Виталий, я AdOps-аналитик компании  Adfinity.pro Заинтересовал ваш проект obrazovalka.com Думаю сможем увеличить

Разные вопросы.

мне очень срочно нужно сочинение по рассказу экспонат номер по дной

Литература.

мне очень срочно нужно сочинение по рассказу экспонат номер по дной

Литература.

В семье из трех человек три электронных устройства: ноутбук, планшет и

Разные вопросы.

Жаркыраган кашка маш жаралгандан ашка маш табышмак жообу менен

Кыргыз тили.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт