Определить время по углу наклона часовой стрелки (Си) - C (СИ)

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

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

Здравствуйте, я еще новичок в изучении языка Си, недавно столкнулся с такой вот задачкой. Всё вроде бболее менеее сам понимаю как написать, да вот не выходит.... Прошу помочь с ней: Программа которая по заданному угловому положению часовой стрелки на циферблате часов определяет время дня. Положение часовой стрелки фиксирует угол её поворота относительно луча, проходящего через точку, которая соответствует 12 часам. Угловое смещение часовой стрелки, измеренное в угловых градусах, должно передаваться программе через аргумент командной строки её вызова. Время дня, вычисленное в результате работы программы, должно отображать через поток стандартного вывода количество часов и полных минут. Загвоздка в том что кроме того что просто определить время хочу что бы программа уточняла время суток (день/ночь), для переведения времени в 24-часовой формат

Решение задачи: «Определить время по углу наклона часовой стрелки (Си)»

textual
Листинг программы
int angle = atoi(argv[1]) % 360;
if (angle < 0)
    angle += 360;
 
int minutes = angle * 2;
int hours = minutes / 60;
minutes %= 60;
 
printf("time(HH:MM): %02d:%02d\n", hours, minutes);

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

  1. Переменная angle получает значение угла наклона часовой стрелки в градусах от начальной позиции.
  2. Если значение угла отрицательное, то оно увеличивается на 360, чтобы угол стал положительным.
  3. Переменная minutes вычисляется как значение угла, умноженное на 2.
  4. Переменная hours вычисляется как значение переменной minutes, разделенное на 60.
  5. Значение переменной minutes берется остатком от деления на 60.
  6. Выводится время в формате HH:MM.

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


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

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

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