Ввести дату, напечатать номер дня года, соответствующий этой дате - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Ввести дату в формате дд.мм.гггг, напечатать номер дня года, соответствующий этой дате(1 января -- 1-й день и т.д.)

Решение задачи: «Ввести дату, напечатать номер дня года, соответствующий этой дате»

textual
Листинг программы
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
    int d,m,y;
system("chcp 1251 > nul");
lab: printf("Введите дату dd:mm:yyyy\n");
    scanf("%d:%d:%d",&d,&m,&y);
  
{m==1&&d>=1&&d<=31?printf("%d %s - %d день\n",d,"Января"",d)
:m==2&&d>=1&&d<=29?printf("%d %s - %d день\n",d,"Февраля"",d)
:m==3&&d>=1&&d<=31?printf("%d %s - %d день\n",d,"Марта"",d)
:m==4&&d>=1&&d<=30?printf("%d %s - %d день\n",d,"Апреля"",d)
:m==5&&d>=1&&d<=31?printf("%d %s - %d день\n",d,"Мая"",d)
:m==6&&d>=1&&d<=30?printf("%d %s - %d день\n",d,"Июня"",d)
:m==7&&d>=1&&d<=31?printf("%d %s - %d день\n",d,"Июля"",d)
:m==8&&d>=1&&d<=31?printf("%d %s - %d день\n",d,"Августа"",d)
:m==9&&d>=1&&d<=30?printf("%d %s - %d день\n",d,"Сентября"",d)
:m==10&&d>=1&&d<=31?printf("%d %s - %d день\n",d,"Октября"",d)
:m==11&&d>=1&&d<=30?printf("%d %s - %d день\n",d,"Ноября"",d)
:m==12&&d>=1&&d<=31?printf("%d %s - %d день\n",d,"Декабря"",d)
: printf("Ошибка\n");
 
     
    goto lab;}
    system("pause");
}

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

В коде указаны следующие действия:

  1. Ввод даты: Пользователю предлагается ввести дату в формате dd:mm:yyyy. Для ввода используется функция scanf().
  2. Проверка введенной даты: С помощью условных операторов if-else происходит проверка введенной даты. Если день и месяц введены верно (от 1 до 31 для января и марта, от 1 до 29 для февраля, от 1 до 30 для апреля, июня, сентября и ноября, от 1 до 31 для мая, августа, декабря), и год введен верно (от 0001 до 9999), то выводится номер дня года. Если дата введена некорректно, выводится сообщение об ошибке.
  3. Вывод номера дня года: Используется функция printf() для вывода номера дня года. Форматирование вывода включает в себя заполнение пробелами перед и после знака -.
  4. Повторение ввода: Если введенная дата некорректна, программа возвращается к шагу 1 с помощью инструкции goto.
  5. Завершение программы: После окончания цикла программа выводит сообщение о завершении работы с помощью функции system().

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


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

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

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