Написать программу, которая вычисляет сколько дней осталось до нового года от введенной пользователем даты. - 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");
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с вводом/выводом и для работы с математическими функциями.
  2. Создание функции KolDays, которая принимает три аргумента типа int для представления дня, месяца и года.
  3. Внутри функции объявление переменных i, s и d2 для хранения количества дней в месяце (31), значения переменной s (сумма дней) и переменной d2 (количество дней в декабре).
  4. Объявление массива mondays размером 12 для хранения количества дней в каждом месяце.
  5. В условии, если год високосный (делится на 4, не делится на 100, делится на 400), то в массиве mondays для февраля устанавливается значение 29.
  6. Если месяц и день введены верно (например, не может быть 30 февраля или 31 декабря), то в переменной s вычисляется количество дней до конца месяца.
  7. Если месяц введен верно, но день не соответствует количеству дней в этом месяце, то в переменной s вычисляется количество дней до конца месяца, начиная с следующего месяца.
  8. В переменной s учитывается количество дней в каждом месяце и добавляется количество дней до конца года (декабрь).
  9. Возврат значения переменной s из функции KolDays.
  10. Вызов функции KolDays с различными аргументами для проверки работы программы.
  11. Вывод результатов вычислений на экран.
  12. Ожидание нажатия клавиши для завершения работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы