Определить разницу между двумя временными точками - C (СИ)

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

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

Разработать программу согласно варианту задания. Максимальная длина строк не менее 80 символов. При реализации программы необходимо использовать функции для обработки строк из библиотек stdlib.h и string.h. Задание: Заданы две строки, содержащие время в формате: HH:MM:SS. Определить разницу между этими временами. При вводе проверять корректность времени. Пример: 23:30:00 и 5:45:00 → 6:15:00. Зарание спасибо.

Решение задачи: «Определить разницу между двумя временными точками»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    int a1, b1, c1, a2, b2, c2, x;
    scanf("%d:%d:%d\n%d:%d:%d", &a1, &b1, &c1, &a2, &b2, &c2);
    x=a2*60*60+b2*60+c2-a1*60*60-b1*60-c1;
    if(x<0)
        x+=24*60*60;
    c1=x%60; x/=60;
    b1=x%60; x/=60;
    a1=x;
    printf("%d:%02d:%02d", a1, b1, c1); 
    return 0;
}

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

  1. Подключение необходимых библиотек для работы с вводом-выводом и строками.
  2. Объявление переменных: a1, b1, c1, a2, b2, c2, x.
  3. Ввод времени в формате часы:минуты:секунды с помощью функции scanf.
  4. Расчет разницы между двумя временными точками в секундах.
  5. Если разница отрицательна, то добавляем 24 часа для корректного вывода.
  6. Вычисление минут и секунд из общего количества секунд.
  7. Вывод результата в формате часы:минуты:секунды.
  8. Код работает корректно для любого ввода, включая пустую строку.

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


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

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

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