Напишите программу, которая вводит с клавиатуры номер месяца и день,и определяет, сколько...

0 голосов
142 просмотров

Напишите программу, которая вводит с клавиатуры номер месяца и день,и определяет, сколько дней осталось до Нового года. При вводе неверныхданных должно быть выведено сообщение об ошибке. Считается, что годневисокосный.Через case.


Информатика (28 баллов) | 142 просмотров
Дан 1 ответ
0 голосов

#include

using namespace std;

int main()

{

setlocale(LC_ALL, "Russian");

short int year[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

int month = 0, day = 0, daysUntilNewYear = 0;

while (month == 0)

{

 cout

 cin >> month;

 if (month < 1 || month > 12)

 {

 month = 0;

 cout

 }

}

while (day == 0)

{

 cout

 cin >> day;

 if (day > year[month - 1] || day < 1)

 {

 day = 0;

 cout

 }

}

for (int i = month - 1; i < 12; i++)

{

 daysUntilNewYear += year[i];

}

daysUntilNewYear -= day - 1;

cout

system("pause");

return 0;

}

Если через case делать, то будет больше кода и он будет менее понятен - смысла в этом нет, поэтому сделал через while.

(421 баллов)
0

p.s. программа на c++, думаю, ты это и так понял, так, на всякий ;)