设计红绿灯的c语言程序
时间: 2024-05-05 17:19:09 浏览: 87
单片机c语言编程红绿灯设计
对于红绿灯的控制,我们可以借助C语言中的时间函数以及条件语句来实现。
以下是一个简单的红绿灯控制程序示例:
```c
#include <stdio.h>
#include <time.h>
int main() {
int timer = 0;
while (1) {
// 获取当前时间
time_t now;
time(&now);
struct tm *local = localtime(&now);
// 判断当前时间是否在红灯时间段内
if (local->tm_hour >= 8 && local->tm_hour < 9) {
printf("红灯\n");
// 计时器清零
timer = 0;
}
// 判断当前时间是否在绿灯时间段内
else if (local->tm_hour >= 9 && local->tm_hour < 10) {
// 判断是否需要切换到绿灯
if (timer == 0 || timer >= 20) {
printf("绿灯\n");
// 计时器清零
timer = 0;
} else {
printf("倒计时:%d\n", 20 - timer);
// 计时器加1
timer++;
}
}
// 其他时间都是黄灯
else {
printf("黄灯\n");
// 计时器清零
timer = 0;
}
// 等待1秒钟
sleep(1);
}
return 0;
}
```
以上代码基于时间判断,若当前时间处于红、绿、黄灯应亮的时间段内,则打印对应颜色名;当时间处于需亮绿灯的时间段内时,若计时器已经清零或者已经20秒,则亮绿灯并清计时器;否则打印还需等待的秒数。等待1秒钟,继续下一轮循环。
阅读全文