🚦 智能红绿灯

C5-1 状态表示与过程模拟 · 拓展项目(推荐度第1名)

⭐ 趣味性 ★★★★★  |  推荐度 ★★★★★

📝 题目内容

🚦 欢迎来到智能红绿灯!

你是一名图形设计师,需要用函数画出各种图形。写三个函数来完成任务:

  • ① drawLine(n):画一条横线,n个星号
  • ② drawRect(width, height):画矩形,width列,height行(可调用drawLine)
  • ③ drawTriangle(n):画直角三角形,n层(第i层画i个星号)
  • ④ 主程序调用函数画出5×3的矩形和4层的直角三角形

📚 知识点回顾

🔄 本节课知识点

  • 状态变量:用变量表示系统当前所处的状态,state=0/1/2
  • 时间变量:用变量记录当前状态持续的时间,time++
  • 条件判断:if-else根据状态执行不同操作
  • 状态转移:满足条件时从一个状态切换到另一个状态

🔙 之前知识点

  • for循环:for(int second=1;second<=15;second++) 模拟时间流逝
  • if-else分支:判断当前状态输出对应灯色
  • 变量自增:time++ 当前状态持续时间+1
  • 逻辑与:&& 同时满足两个条件才切换状态

🗺️ 解题逻辑线路

第1步:定义状态变量 state=0(红灯), time=0
↓
第2步:循环模拟每秒 for(second=1; second<=15; second++)
↓
第3步:输出当前状态 if(state==0)输出红灯,else if(state==1)输出绿灯...
↓
第4步:判断是否切换状态 红灯3秒→绿灯,绿灯5秒→黄灯,黄灯2秒→红灯

💻 C++ 在线编辑器

📝 代码填空题:黄色虚线标记的 _____ 是需要你填写的部分。

📝 smart_traffic_light.cpp(填空题)
1

          
        
📌 使用说明:
① 编辑代码:直接在代码区点击即可编辑,支持Tab键缩进(4个空格)
② 运行测试:点击"运行测试"按钮,会进行语法检查并模拟运行
③ 复制代码:点击"复制代码"按钮,一键复制到剪贴板
④ 真正编译:本编辑器为模拟运行环境,如需精确结果,请复制代码到 Dev-C++、Code::Blocks 或在线C++编译器中真正编译运行
⑤ 查看提示/答案:遇到困难可以点击"查看提示",完成后可以对照"查看答案"