Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <locale.h>
- #include <malloc.h>
- char** createCalendar() { //ета функция делает "календарь" массив строк где хранятся месяца
- char** calendar = (char**)malloc(12 * sizeof(char*));
- calendar[0] = (char*)malloc(6 * sizeof(char));
- calendar[0] = "Января";
- calendar[1] = (char*)malloc(7 * sizeof(char));
- calendar[1] = "Февраля";
- calendar[2] = (char*)malloc(5 * sizeof(char));
- calendar[2] = "Марта";
- calendar[3] = (char*)malloc(6 * sizeof(char));
- calendar[3] = "Апреля";
- calendar[4] = (char*)malloc(3 * sizeof(char));
- calendar[4] = "Мая";
- calendar[5] = (char*)malloc(4 * sizeof(char));
- calendar[5] = "Июня";
- calendar[6] = (char*)malloc(4 * sizeof(char));
- calendar[6] = "Июля";
- calendar[7] = (char*)malloc(7 * sizeof(char));
- calendar[7] = "Августа";
- calendar[8] = (char*)malloc(8 * sizeof(char));
- calendar[8] = "Сентября";
- calendar[9] = (char*)malloc(7 * sizeof(char));
- calendar[9] = "Октября";
- calendar[10] = (char*)malloc(6 * sizeof(char));
- calendar[10] = "Ноября";
- calendar[11] = (char*)malloc(7 * sizeof(char));
- calendar[11] = "Декабря";
- return calendar;
- }
- void printMonth(int month) { //тут ты лезешь в этот массив строк за нужным месяцем (month - 1) и выводишь его на экран
- char** calendar = createCalendar();
- int i = 0;
- while (calendar[month - 1][i] != '\0') {
- printf("%c", calendar[month - 1][i]);
- i++;
- }
- }
- int dayNumber()
- {
- int day = 0, month = 0, sum = 0;
- printf("Введите день. ");
- scanf("%d", &day);
- printf("Введите месяц. ");
- scanf("%d", &month);
- if (month <= 0 || month > 12 || day <= 0)
- {
- printf("Введены неверные данные. \n");
- }
- printf("%d ", day);
- printMonth(month); //тут вызывается функция сверху
- switch (month)
- {
- case 2:
- if (day > 28)
- {
- printf("Некоректные данные. \n");
- return dayNumber();
- }
- break;
- case 4:; case 6:; case 9:; case 11:
- if (day > 30)
- {
- printf("Некоректные данные. \n");
- return dayNumber();
- }
- break;
- default:
- if (day > 31)
- {
- printf("Некоректные данные. \n");
- return dayNumber();
- }
- }
- month--;
- while (month > 0)
- {
- switch (month)
- {
- case 2:
- sum = sum + 28;
- break;
- case 4:; case 6:; case 9:; case 11:
- sum = sum + 30;
- break;
- default:
- sum = sum + 31;
- }
- month--;
- }
- sum += day;
- printf(" %d день", sum);
- }
- int main()
- {
- setlocale(LC_ALL, "RUS");
- printf("По дате определить порядковый номер дня текущего года. \n");
- dayNumber();
- int sooqa;
- scanf("%d", &sooqa);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement