Задача со светофором на C++

Ответы mail.ru — штука глючная. Пытался ответить там на вопрос. Не дает вставлять код. Размещаюсь здесь.

Задача

Работа светофора для пешеходов запрограммирована следующим образом: начиная с начала каждого часа, в течение трех минут горит зеле-ный сигнал, затем в течение двух минут — красный, в течение трех минут — опять зеленый и т. д. Дано вещественное число N, означающее время в минутах, прошедшее с начала очередного часа. Определить, сигнал какого цвета горит для пешеходов в этот момент.

Язык С++.

Желательно решить простым способом (уровень новичка) . Да, и еще нужно использовать функции ввода и вывода scanf и printf, а не cin и cout.

Решение

#include 

int main(){
/*
Согласно данным задачи мы имеем:
1. светофор имеет пятиминутный цикл.
2. если 0 < время <= 3, то горит зеленый
3. если 3 < время <= 5, то горит красный */ float current_time; puts("Enter time, please: "); scanf("%f", &current_time); /* чтобы облегчить задачу отбрасываем всю часть времени, которая кратна 5. тут я решил в цикле отнимать по 5 пока current_time > 5.
тогда ответ найдем, воспользовавшись условиями задачи
*/
while (current_time > 5){
current_time -= 5;
}
// для проверки остатка можно вывести
// printf("%.2f\n", current_time);

/*
теперь применим условия задачи
*/
if (current_time >0 && current_time <= 3){
printf("Green\n");
} else {
printf("Red\n");
}

return(0);
}

Kamo Petrosyan Автор

Добавить комментарий

Ваш e-mail не будет опубликован.