Перевод цифровых символов в формат даты - C (СИ)
Формулировка задачи:
Дана строка из восьми цифровых символов. переведите
его в формат даты "dd - mm - yyyy" и проверьте корректность такой
даты.
Решение задачи: «Перевод цифровых символов в формат даты»
textual
Листинг программы
#include<stdio.h> #include<conio.h> #include <time.h> #include <string.h> #include <stdlib.h> void main() { char bf[8]; struct tm _tm; memset(&_tm,NULL, sizeof(_tm)); cputs(" Введите дату[ddmmyyyy]:"); gets(bf); _tm.tm_year = atoi(&bf[4]); bf[4] = 0; _tm.tm_mon = atoi(&bf[2]); bf[2] = 0; _tm.tm_mday = atoi(&bf); printf("Получили %2d-%2d-%4d\n\r", _tm.tm_mday,_tm.tm_mon ,_tm.tm_year); _tm.tm_year = _tm.tm_year - 1900; _tm.tm_mon--; printf("Проверка: %s", asctime(&_tm)); getch(); };
Объяснение кода листинга программы
В этом коде происходит следующее:
- Включаются необходимые заголовочные файлы:
stdio.h
- для работы с стандартными вводом/выводом;conio.h
- для работы с функциейgetch()
, которая используется для приостановки выполнения программы до тех пор, пока пользователь не введет данные;time.h
- для работы со структуройtm
, используемой для представления даты и времени;string.h
- для работы с функциейmemset()
, которая используется для очистки памяти;stdlib.h
- для работы с функциейatoi()
, которая используется для преобразования строки в целое число.
- Создается пустая строка размером 8 символов для хранения введенной пользователем даты.
- Структура tm инициализируется значением по умолчанию - в данном случае, пустой датой.
- Выводится приглашение для ввода даты.
- Пользователь вводит дату в формате ddmmyyyy.
- Переменные tm.tm_year, tm.tm_mon и tm.tm_mday инициализируются значениями соответствующих полей введенной даты.
- Выводится дата в формате dd-mm-yyyy.
- Для переменной tm.tm_year вычитается 1900, для tm.tm_mon - вычитается единица, для tm.tm_mday - изменений не происходит.
- Выводится проверка в виде строки, представляющей дату в формате ISO 8601.
- Программа ожидает нажатия клавиши. Обратите внимание, что ввод даты в формате ddmmyyyy может вызвать путаницу, поскольку в этом формате день, месяц и год расположены в обратном порядке по сравнению с общепринятым форматом.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д