Вопрос по программированию в c++ - Вопросы по С+
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Вопрос по программированию в c++

Регистрация
2 Ноя 2013
Сообщения
70
Репутация
0
Спасибо
0
Монет
0
Задача: Написать приложение, которое позволяет проверить дату введенную пользователем. Учесть, что в году 12 месяцев, в январе - 31 день, в феврале 28 дней для не високосного года и 29 дней для високосного года и т. д.

Год високосный, если он делится на четыре без остатка, но если он делится на 100 без остатка, это не високосный год. Однако, если он делится без остатка на 400, это високосный год. Таким образом, 2000 г. является особым високосным годом, который бывает лишь раз в 400 лет.

Ниже приведен рекомендуемый вид экрана программы:

-----------------------------------------------------------------
Введите дату: 29.12.2016
Дата правильная
-----------------------------------------------------------------
Введите дату: 29.2.2000
Дата правильная
-----------------------------------------------------------------
Введите дату: 29.2.2001
Ошибка: год не високосный, в феврале только 28 дней
-----------------------------------------------------------------
Введите дату: 31.13.2016
Ошибка: в году только 12 месяцев
-----------------------------------------------------------------

#include
using namespace std;
int main()
{
setlocale(LC_ALL, "ru");
int day, month, year;
char del;

cout << "Введите дату (дд. мм. гггг): ";
cin >> day >> del >> month >> del >> year;

if (month < 0 || month > 12)

cout << "В году только 12 месяцев. ";

else if (year < 1)

cout << "Год не может быть меньше одного. ";

else if (month = 1 && day <= 30 || day >= 1)

cout << "Дата правильная ";

else if (month = 1 && day > 30 || day < 1)

cout << "Ваше дата не правильная ";

return 0;
}

Почему я ввожу к премеру 31.1.2016 но оно все равно пишет что дата правильная...?
 
Сверху Снизу