Ввести дату в формате DD.MM.YYYY и перевести в DD Month Year - C (СИ)
Формулировка задачи:
Помогите пожалуйста написать на языке Си (С++ и прочие не предлагать) написать программу, которая выводит на экран дату в формате DD.MM.YYYY и переводит в DD Mouth Year.
Например, ввести 11.11.2011 перевод в 11 Ноября 2011
Решение задачи: «Ввести дату в формате DD.MM.YYYY и перевести в DD Month Year»
textual
Листинг программы
#include<stdio.h> #include<conio.h> #include <time.h> #include <string.h> #include <stdlib.h> void main() { char bf[8],abuf[20]; 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); _tm.tm_year -= 1899; _tm.tm_mon--; strftime(abuf,sizeof(abuf),"%d %B %G",&_tm); printf("Получилось: %s\n\r", abuf); };
Объяснение кода листинга программы
В этом коде:
- Вводится дата в формате DD.MM.YYYY.
- Дата сохраняется в массив bf.
- Устанавливаются начальные значения для структуры tm.
- Используя функцию gets, вводится дата.
- Год YYYY сохраняется в поле tm_year, а месяц MM - в поле tm_mon.
- День DD сохраняется в поле tm_mday.
- Год YYYY уменьшается на 1899.
- Месяц MM уменьшается на 1.
- Используя функцию strftime, дата форматируется в виде DD Month YYYY и сохраняется в массив abuf.
- Выводится отформатированная дата.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д