Задачка превести время в секунды - C (СИ)

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

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

На вход подаётся время в формате чч:мм:cc. надо перевести в секунды. У меня главная проблема возникла с тем что на вход подаётя строка как я понял, и как выделить из этой строки часы минуты и секунды да и чтоб они были в числовом типе, я не знаю. помогите пж. какие есть идеи? желательно с коментариями

Решение задачи: «Задачка превести время в секунды»

textual
Листинг программы
#include <stdio.h>
 
int main()
{
    
    char s[] = "23:02:10";
    
    int hour,min,sec;
 
    sscanf(s, "%d:%d:%d", &hour, &min, &sec);
    sec = (hour * 60 * 60) + (min * 60) + sec;
    printf("All seconds: %d",  sec);
    getchar();
}

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

  1. Подключение стандартной библиотеки для работы с файлами и вывода данных в консоль (stdio.h).
  2. Объявление основной функции программы main().
  3. Объявление переменной s типа char, которая содержит строку 23:02:10.
  4. Объявление трех переменных типа int: hour, min и sec. Эти переменные будут использоваться для хранения часов, минут и секунд соответственно.
  5. Использование функции sscanf() для чтения строки s и преобразования ее в значения переменных hour, min и sec. Формат %d:%d:%d указывает, что первая переменная (hour) может содержать цифры от 0 до 9, вторая переменная (min) также может содержать цифры от 0 до 9, а третья переменная (sec) также может содержать цифры от 0 до 9.
  6. Перевод часов, минут и секунд в секунды, используя формулу: sec = (hour 60 60) + (min * 60) + sec.
  7. Вывод значения переменной sec, которое представляет собой общее количество секунд.
  8. Использование функции getchar() для приостановки выполнения программы и ожидания нажатия клавиши.
  9. Ввод не используется в этом коде.

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

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