C++课程设计 面向对象的红绿灯系统

C++语言 码拜 9年前 (2015-07-10) 2680次浏览 0个评论

就要求是面向对象的红绿灯系统,老师是知道我们那低水平的,所以百度那种复杂的完全不用考虑,
就像求个思路,要写什么类?
我对红绿灯系统完全没想法。都不知道到底要做个什么东西出来,求好人帮帮忙能理个思路出来。

20分

我来给你个简单思路,红绿灯嘛,一般是路口会有,比如十字路口,有纵横两个方向,横向灯相同,纵向灯相同,横向绿灯则纵向红灯,这里如果你愿意,设置2个类就行了
如果决定设置每个红灯为20秒,则,绿灯为17秒,黄灯为3秒
设置三个bool类型变量,bRed,bGReen,bYellow,如果该灯亮,则值为true,否则为false

两个类的灯亮的不同,横向红灯时,纵向为绿灯,且纵向绿灯17秒后变为黄灯,然后横向变为绿灯,纵向变为红灯,反复

这里可以有函数来判断,比如设定一个变量time每秒进行+1操作(计时自己想办法,可以sleep,也可以找其他的)
如果time大于 0且小于等于17,则横向类bRed=true,其他为false,纵向类bGReen=true,其他为false
如果time大于17且小于等于20,则横向类bRed=true,其他为false,纵向类bYellow=true,其他为false
如果time大于21且小于等于37,则横向类bGReen=true,其他为false,纵向类bRed=true,其他为false
如果time大于37且小于等于40,则横向类bYellow=true,其他为false,纵向类bRed=true,其他为false
如果time大于40,则重置其值为1

这只是一个简单的思路,本人思考时间大约3分钟,肯定有不完善的地方,如果有更好的请采用更好的思路

 
https://www.baidu.com/s wd=%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%9A%84%E7%BA%A2%E7%BB%BF%E7%81%AF%E7%B3%BB%E7%BB%9F%20cpp%E6%BA%90%E4%BB%A3%E7%A0%81&rsv_spt=1&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_n=2&rsv_sug3=8&rsv_pq=e973f32a0000a1be&rsv_t=dc73FgXubSGXSUEu6eG1Ye9rQlEui7S060fTjFanwk%2Fg0HcMQNIs97%2FMvu2RdXwwiGWF

 
状态机,状态转换
 

感觉很厉害的样子,我琢磨琢磨看怎么写代码出来

20分

一个简单的思路, 一个灯类, 包括属性比如,颜色, 开关时间等, 一个控制类, 控制这些灯什么时候开关
 
引用 7 楼 fly_dragon_fly 的回复:

一个简单的思路, 一个灯类, 包括属性比如,颜色, 开关时间等, 一个控制类, 控制这些灯什么时候开关

 
感觉计时这里不好弄
 
谢谢各位了,果然我还是错了,老师最后说这太简单了,要四个方向,还要指示方向

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C++课程设计 面向对象的红绿灯系统
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!