Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, следующей за указанной.
(Помогите. С использованием оператора case на С++)
Ответы
Відповідь:
#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "Rus");
int day,month,year;
cout << "Введите день: ";
cin >> day;
cout << "Введите месяц: ";
cin >> month;
cout << "Введите невысокосный год: ";
cin >> year;
if(year % 4 == 0){
cout << "Год высокосный..." << endl;
return 1;
}
cout << "Текущая дата: " << day << "." << month << "." << year << endl;
switch(month){
case 1:;
case 3:;
case 5:;
case 7:;
case 8:;
case 10:{
if(day > 31){
cout << "День введен неверно..." << endl;
break;
}
if(day == 31){
day = 1;
month++;
}
else{
day++;
}
break;
}
case 4:;
case 6:;
case 9:;
case 11:{
if(day > 30){
cout << "День введен неверно..." << endl;
break;
}
if(day == 30){
day = 1;
month++;
}
else{
day++;
}
break;
}
case 2:{
if(day > 28){
cout << "День введен неверно..." << endl;
break;
}
if(day == 28){
day = 1;
month++;
}
break;
}
case 12:{
if(day > 31){
cout << "День введен неверно... " << endl;
break;
}
if(day == 31){
day = 1;
month = 1;
year++;
}
break;
}
default:{
cout << "Месяц введен неверно..." << endl;
break;
}
}
cout << "Следующая дата: " << day << "." << month << "." << year << endl;
return 0;
}