Программка выводит информацию о дате рождения.Есть класс 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;
Так как из-за структуры языка все символы, вводимые для типа 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
Вы ввели неправильные данные!
-
Вопросы ответы
Статьи
Информатика
Статьи
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.
Математика.