Написать программу, которая вычисляет сколько дней осталось до нового года от введенной пользователем даты. - C (СИ)
Формулировка задачи:
Написать программу, которая вычисляет сколько дней осталось до нового года от введенной пользователем даты.
Помогите пожалуйста!
Решение задачи: «Написать программу, которая вычисляет сколько дней осталось до нового года от введенной пользователем даты.»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int KolDays (int d1,int m1,int y) { int i,s,d2=31,m2=12; int mondays[12]={31,28,31,30,31,30,31,31,30,31,30,31}; if ((y%4==0) && (y%100!=0) || (y%400==0)) mondays[1]=29; if (m1==m2) s=d2-d1; else { s=mondays[m1-1]-d1+1; for (i=m1+1;i<m2;i++) s+=mondays[i-1]; s+=(d2-1); } return s; } void main () { printf ("%d\n",KolDays (1,1,2012)); printf ("%d\n",KolDays (1,1,2013)); printf ("%d\n",KolDays (20,12,2013)); printf ("%d\n",KolDays (31,12,2013)); system("pause"); }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с вводом/выводом и для работы с математическими функциями.
- Создание функции
KolDays
, которая принимает три аргумента типаint
для представления дня, месяца и года. - Внутри функции объявление переменных
i
,s
иd2
для хранения количества дней в месяце (31), значения переменнойs
(сумма дней) и переменнойd2
(количество дней в декабре). - Объявление массива
mondays
размером 12 для хранения количества дней в каждом месяце. - В условии, если год високосный (делится на 4, не делится на 100, делится на 400), то в массиве
mondays
для февраля устанавливается значение 29. - Если месяц и день введены верно (например, не может быть 30 февраля или 31 декабря), то в переменной
s
вычисляется количество дней до конца месяца. - Если месяц введен верно, но день не соответствует количеству дней в этом месяце, то в переменной
s
вычисляется количество дней до конца месяца, начиная с следующего месяца. - В переменной
s
учитывается количество дней в каждом месяце и добавляется количество дней до конца года (декабрь). - Возврат значения переменной
s
из функцииKolDays
. - Вызов функции
KolDays
с различными аргументами для проверки работы программы. - Вывод результатов вычислений на экран.
- Ожидание нажатия клавиши для завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д