用c语言在电脑上实现一条十字路口的红绿灯交替
时间: 2024-09-27 20:14:27 浏览: 33
在C语言中,实现一个简单的红绿灯控制程序可以模拟一个基本的交通信号灯系统。我们可以利用循环结构和条件判断来切换灯的颜色(红、黄、绿)。下面是一个简化的示例:
```c
#include <stdio.h>
#include <unistd.h> // 使用usleep函数暂停一段时间
// 定义灯的状态
enum LightStatus {
RED,
YELLOW,
GREEN
};
void lightSwitch(int status) {
printf("\033[1;31mRed light on\033[0m" if (status == RED)
"\033[1;33mYellow light on\033[0m" if (status == YELLOW)
"\033[1;32mGreen light on\033[0m" if (status == GREEN);
sleep(5); // 绿灯亮5秒
if (status != GREEN) { // 如果不是绿色状态,则变为下一个颜色
status = (status + 1) % 3; // 循环切换
}
}
int main() {
enum LightStatus lightState = RED;
while (true) {
lightSwitch(lightState);
printf("\nPress any key to change the light...");
getchar(); // 暂停等待用户按键,实际应用中可能不需要这行
}
return 0;
}
```
这个程序会不断循环,红灯亮5秒后变为黄灯,再过5秒变为绿灯,直到用户按下任意键停止。注意这里使用了ANSI escape codes来显示不同颜色的文字,实际应用中可能会有更好的可视化解决方案。
阅读全文