#include <iostream>
#include <thread>
#include <chrono>
// Определение состояний светофора
enum class TrafficLightState {
Red,
Yellow,
Green,
};
// Функция для вывода текущего состояния светофора
void printLight(TrafficLightState state) {
switch (state) {
case TrafficLightState::Red:
std::cout << "Red light\n";
break;
case TrafficLightState::Yellow:
std::cout << "Yellow light\n";
case TrafficLightState::Green:
std::cout << "Green light\n";
}
int main() {
// Состояние светофора по умолчанию
TrafficLightState currentState = TrafficLightState::Red;
while (true) {
// Вывод текущего состояния светофора
printLight(currentState);
// Ожидание в зависимости от состояния светофора
// Здесь для простоты используется одинаковый промежуток времени для каждого состояния,
// но на практике промежутки могут быть разными
std::this_thread::sleep_for(std::chrono::seconds(5));
// Переключение на следующее состояние светофора
if (currentState == TrafficLightState::Red) {
currentState = TrafficLightState::Green;
} else if (currentState == TrafficLightState::Green) {
currentState = TrafficLightState::Yellow;
} else if (currentState == TrafficLightState::Yellow) {
currentState = TrafficLightState::Red;
return 0;
#include <iostream>
#include <thread>
#include <chrono>
// Определение состояний светофора
enum class TrafficLightState {
Red,
Yellow,
Green,
};
// Функция для вывода текущего состояния светофора
void printLight(TrafficLightState state) {
switch (state) {
case TrafficLightState::Red:
std::cout << "Red light\n";
break;
case TrafficLightState::Yellow:
std::cout << "Yellow light\n";
break;
case TrafficLightState::Green:
std::cout << "Green light\n";
break;
}
}
int main() {
// Состояние светофора по умолчанию
TrafficLightState currentState = TrafficLightState::Red;
while (true) {
// Вывод текущего состояния светофора
printLight(currentState);
// Ожидание в зависимости от состояния светофора
// Здесь для простоты используется одинаковый промежуток времени для каждого состояния,
// но на практике промежутки могут быть разными
std::this_thread::sleep_for(std::chrono::seconds(5));
// Переключение на следующее состояние светофора
if (currentState == TrafficLightState::Red) {
currentState = TrafficLightState::Green;
} else if (currentState == TrafficLightState::Green) {
currentState = TrafficLightState::Yellow;
} else if (currentState == TrafficLightState::Yellow) {
currentState = TrafficLightState::Red;
}
}
return 0;
}