Напишите программу, которая вычисляет дату следующего дня. Ниже приведен рекомендуемый вид экрана во время работы программы.
/*
Программа вычисляет дату следующего дня.
*/
#include "locale.h"
#include <curses.h>
#include <stdio.h>
int main()
{
int day, month, year, next;
char *loc;
loc = setlocale(LC_CTYPE,"ru_RU.UTF-8");
initscr();
printw("Введите цифрами сегодняшнюю дату (число, месяц, год): ");
scanw("%i %i %i", &day, &month, &year);
next = 0;
if(month == 2) // Разбираемся с февралем.
{
if(((year % 4) == 0) && (day == 29))
{
next = 1;
// если год високосный то в феврале 29 дней.
}
if(((year % 4) != 0) && (day == 28))
next = 1;
// если год не високосный, то в феврале 28 дней.
}
else
{
if((month == 4) || (month == 6) || (month == 9) || (month == 11) && (day == 31))
next = 1;
// в апреле, июне, сентябре и ноябре 30 дней.
else if(day == 31)
next = 1;
// в остальных месяцах 31 день.
}
if(next != 0)
{
printw("Последний день месяца.\n");
day = 1;
if(month == 12)
{
month = 1;
year = year + 1;
printw("Последний день года.\n");
}
else
month = month + 1;
}
else
{
day = day + 1;
}
printw("Завтра будет %i.%i.%i", day, month, year);
getch();
endwin();
return 0;
}
Комментариев нет:
Отправить комментарий