Программа с меню: Вывод количества дней, прошедших от Рождества Христова до введённой даты - 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
- Вычисление по дате дня недели и порядкового номера дня в году
- Вывод количества дней, прошедших от Рождества Христова до введёной даты
- Информация о версии и авторе программы
- Выход из программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д