Программа с меню: Вывод количества дней, прошедших от Рождества Христова до введённой даты - C (СИ)
Формулировка задачи:
Разработать программу, меню которой позволяет выполнить следующие функции:
1. Вввод даты (число, месяц, год)
2. Ввод даты в форме: 1 января 2010
3. Ввод даты в форме: 01.01.10
4. Вычисление по дате дня недели и порядкового номера дня в году
5. Вывод количества дней, прошедших от Рождества Христова до введёной даты
6. Информация о версии и авторе программы
7. Выход из программы
Всем добрый вечер.
Как реализоваться подобное меню (консольное)? (буду очень признателен, если кто-то скинет пример кода)
Также не знаю как сделать пункты 4,5
P.S. До этого с Си дела не имел.
Решение задачи: «Программа с меню: Вывод количества дней, прошедших от Рождества Христова до введённой даты»
textual
Листинг программы
- #include <stdio.h>
- /*Разработать программу, меню которой позволяет выполнить следующие функции:
- 1. Вввод даты (число, месяц, год)
- 2. Ввод даты в форме: 1 января 2010
- 3. Ввод даты в форме: 01.01.10
- 4. Вычисление по дате дня недели и порядкового номера дня в году
- 5. Вывод количества дней, прошедших от Рождества Христова до введёной даты
- 6. Информация о версии и авторе программы
- 7. Выход из программы*/
- int main()
- {
- int a, b, c, d = 0, S = 0, dw, i, m, y;
- printf("Input day:\n");
- scanf("%d", &c);
- printf("month (numbers only):\n");
- scanf("%d", &b);
- printf("year:\n");
- scanf("%d", &a);
- y = a;
- for(m = 1; m < b; ++m){
- if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){
- for(i = 1; i <= 31; ++i)
- ++d;
- }
- if(m == 4 || m == 6 || m == 9 || m == 11){
- for(i = 1; i <= 30; ++i)
- ++d;
- }
- if(m == 2){
- if(y % 100 == 0){
- if(y % 400 == 0){
- for(i = 1; i <= 29; ++i)
- ++d;
- }
- else
- for(i = 1; i <= 28; ++i)
- ++d;
- }
- else
- if(y % 4 == 0){
- for(i = 1; i <= 29; ++i)
- ++d;
- }
- else
- for(i = 1; i <= 28; ++i)
- ++d;
- }
- }
- printf("Serial number of days in a year\n%d\n", (d + c));
- for(i = 1; i < a; ++i){
- if(i % 4 == 0){
- if(i % 100 == 0){
- if(i % 400 == 0)
- S = S + 366;
- else
- S = S + 365;
- }
- else
- S = S + 366;
- }
- else
- S = S + 365;
- }
- dw = (S + d + c) - (S + d + c) / 7 * 7;
- if(dw == 0)
- dw = 7;
- printf("Number of days from AD started:\n%d\n", S + d + c);
- printf("Weekday:\n%d\n", dw);
- puts("Program "Days" v1.0 by LFC Cyberforum.ru 2016.03.09");
- return 0;
- }
Объяснение кода листинга программы
- Ввод даты (число, месяц, год)
- Ввод даты в форме: 1 января 2010
- Ввод даты в форме: 01.01.10
- Вычисление по дате дня недели и порядкового номера дня в году
- Вывод количества дней, прошедших от Рождества Христова до введёной даты
- Информация о версии и авторе программы
- Выход из программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д