Перевод времени из 24-часового формата в 12-й - C (СИ) (150315)

Узнай цену своей работы

Формулировка задачи:

Пользователь вводит время в формате 24-х часов, программа переводит в 12-х часов. Помогите допилить.
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
 
    struct time
    {
        int hour;
        int minute;
        int second;
    }; 
    time t1;

    printf("Введите время:(через точку)\n");
    scanf("%d.%d.%d", &t1.hour, &t1.minute, &t1.second);
 
    if (t1.hour < 12)
    {
        printf("%d.%d.%d am", t1.hour, t1.minute, t1.second);
    }
    if (t1.hour>12)
    {
        printf("%d.%d.%d pm", (t1.hour-12), t1.minute, t1.second);
    }

    return 0;
}
Неправильно пишет в scanf и соответственно не хочет переводить поэтому

Решение задачи: «Перевод времени из 24-часового формата в 12-й»

textual
Листинг программы
#define TIME() if(t1.hour < 12){printf("%d.%d.%d am\n", t1.hour, t1.minute, t1.second);}if (t1.hour>12){    printf("%d.%d.%d pm\n", (t1.hour - 12), t1.minute, t1.second);}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
 
    struct time
    {
        int hour;
        int minute;
        int second;
    };
    struct time t1;
 
 
    printf("Введите время:(через точку)\n");
    scanf("%d.%d.%d", &t1.hour, &t1.minute, &t1.second);
 
    TIME();
    
    return 0;
}

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

  1. Объявлен макрос TIME.
  2. Если t1.hour меньше 12, то выводится время в формате am.
  3. Если t1.hour больше или равно 12, то выводится время в формате pm.
  4. Для времени после 12 часов из часа вычитается 12.
  5. Объявлена структура time.
  6. Объявлен экземпляр структуры time t1.
  7. Выводится приглашение для ввода времени.
  8. С помощью функции scanf вводятся значения дляhour, minute и second и сохраняются в соответствующих полях структуры t1.
  9. Вызывается макрос TIME.
  10. Программа возвращает 0, завершая свою работу.

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


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

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

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