Ввести дату в формате 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);
};

Объяснение кода листинга программы

В этом коде:

  1. Вводится дата в формате DD.MM.YYYY.
  2. Дата сохраняется в массив bf.
  3. Устанавливаются начальные значения для структуры tm.
  4. Используя функцию gets, вводится дата.
  5. Год YYYY сохраняется в поле tm_year, а месяц MM - в поле tm_mon.
  6. День DD сохраняется в поле tm_mday.
  7. Год YYYY уменьшается на 1899.
  8. Месяц MM уменьшается на 1.
  9. Используя функцию strftime, дата форматируется в виде DD Month YYYY и сохраняется в массив abuf.
  10. Выводится отформатированная дата.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5
Похожие ответы