Преобразовать целое число в дату - C (СИ)
Формулировка задачи:
По условию задачи требуется разработать функцию, которая принимает дату в виде целого числа в формате ДДММГГГГ и при помощи параметров возвращает указатели на день, месяц и год.
Я состряпал такой код, но в указателях разбираюсь плохо. Как следствие - ошибка "Нарушение прав доступа при чтении". Кто поможет?
#include <stdio.h> #include <locale.h> int convert(int *day, int *month, int *year); int main() { int *day, *month, *year, i; setlocale(LC_CTYPE, "rus"); convert(&day, &month, &year); getch(); return 0; } int convert(int *day, int *month, int *year) { int date=0; printf("Введите дату в формате ДДММГГГГ: "); scanf("%d", date); day=date-(date%1000000); month=(date%1000000)-(date%10000); year=date%10000; printf("%d %d %d", day, month, year); return 1; }
Решение задачи: «Преобразовать целое число в дату»
textual
Листинг программы
#include <stdio.h> #include <locale.h> int convert(int date, int *day, int *month, int *year); int main() { int day, month, year; int date; setlocale(LC_CTYPE, "rus"); printf("Введите дату в формате ДДММГГГГ: "); scanf("%d", &date); convert(date, &day, &month, &year); printf("day:%d month:%d year:%d", day, month, year); return 0; } int convert(int date, int *day, int *month, int *year) { *day = date - (date % 1000000); *month = (date % 1000000) - (date % 10000); *year = date % 10000; return 1; }
Объяснение кода листинга программы
Вывод списка элементов с номерами:
- В функции main() вводятся исходные данные - дата в формате ДДММГГГГ, и сохраняется в переменной date.
- Затем вызывается функция convert(), которая принимает дату и указатели на переменные day, month, year.
- В функции convert() происходит приведение входного параметра date к трем другим переменным.
- Значение переменной day получается вычитанием из date числа 1000000.
- Значение переменной month получается вычитанием из (date % 1000000) числа 10000.
- Значение переменной year получается вычитанием из (date % 10000) числа 10000.
- В функции main() выводятся значения переменных day, month, year.
- В конце функции main() возвращается 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д