出租车计价器的设计(用计算机输入输出系统完成(编辑修改稿)内容摘要:

闷,多方请教反复看书查阅资料最后写出了正确的程序。 说起来过程也是有些心酸,最后写出程序的一刹那,还是很有成就感的。 在画各软件模块的程序流程图中困难很少,整个过程也很简单,我是在 Word 上画的,整个过程比较轻松。 整个课程设计中遇到的问题都是在完成程序设计中的,写出来的程序虽然不多但是耗费了不少周折,在编写程序中,有些数据课程设计题目上并未给出,我们商量后决定采用一个合理的数据,全组统一,如余油量少于 2 时报警等。 完成设计后我回过头看看,又加深了对 c 语言的了解,熟悉了它的应用,当然过程中也翻阅了很多参 考资料,如程序设计技术及实验指导书,计算机硬件技术基础及实验指导书等。 简单回顾这个过程,时间虽然短暂但是我们也从中学到了不少东西,凡事多商量,一个人的思维难免有局限性,一种方法走不通,赶快换路,时间很重要,分工合作互相帮助,明确任务详细计划,并按照计划确定任务步骤一步步的攻克难题。 我们同样学会了一些把文字转换为我们实际设计时所用语言的能力。 再设计过程中大家齐心协力,最后将各自的子程序合并在一起,由组长整合后,我们的程序最终正确的运行,这里包含大家的两周劳动,增强了我们的自信。 第 11 页 共 22 页 这次关于计程 车计价器的设计任务相对来说,比较繁琐,我们一共花费了一周左右的时间,每个人都积极动手和思考,团结得比较融洽,我们还把这个设计详细地进行了分工。 每个人负责不同的一小块。 由于计价器可以说是相对来说比较智能的器件,因为它的计价需要按照路程,时间的差异收费不同,一般情况下它有个起步价,一般设置在 3 公里范围内,然后超过 3 公里了就按照每公里的单价收费。 这种情况比较普遍。 但是遇到路上堵车的情况,也就是出租车没有走,但是同样要计费,这种计费方式就是按照时间进行计费,也就是说每隔一段时间,计价器计价结果增加一次单价。 出租 车的启动或者静止应该是计价器自己进行分析,有必要设置一个传感器。 如果没有设置传感器,则需要人为的进行计价调整,那样相对来说比较麻烦。 然而更过时候,白天的收费标准和晚间的收费标准不同,晚上的收费按照晚上的起步价和晚间美公里单价计算。 比如说晚上 10 点过后到早上 7 点之间这段时间里面。 这种不需要计价器自己感应,如果把它设计成计价器自动调节收费标准,会产生一些没必要的错误,至少在时间上存在差异,比如快几分钟或者慢几分钟。 我觉得人为地调整收费情况比较好。 这次设计任务中我主要是负责停车停车等待时的计价程序, 也就是堵车或者等待乘客的时候所需要的程序,属于一个子模块。 这个部分相对来说比较简单,而且内容上不是很繁琐。 在设计该段程序之前我首先列出了程序流程图。 在此用文字作简单的描述,首先是程序开始(指等待的时候,即开始等待),通过程序计算出时间,根据时间增加单价,然后考虑等待时间是否结束了(也就是说预先设置的开关键 S 是否按下),若是,则程序结束,显示出来。 如果不是,那么需要回到第一步,继续这个程序,直到等待时间结束为止。 通过这次课程设计,我学到了很多东西。 锻炼了自己的动手能力,积极查阅资料的动力,以及思 考能力。 为今后投入工作打下了一个坚实的基础。 同时更重要的是这次设计室分小组进行的,每个小组几个成员一起探讨,共同努力,提高了团队的意识。 6 参考文献 [1].熊壮、陈策主编 .程序设计技术 .重庆大学出版社 [2].卜艳萍、周伟主编 . 汇编语言程序设计教程 . 清华大学出版社 [3]. 徐爱芸、向华主编 . 汇编语言程序设计教程与实验 . 清华大学出版社 [4].黄勤、高富强主编 .计算机硬件技术基础实验教程 .重庆大学出版社 7 附录 程序清单 第 12 页 共 22 页 include include include include include include double temp,V,oil,oil_used,price_day,price_night,price_day3,price_night3。 char reset[256]。 int st[256],R,t,X,Y,x,y。 clock_t start, finish。 double price,distance,delay_min,delay_sec。 char *wday[]={Sun,Mon,Tue,Wed,Thu,Fri,Sat},*endptr。 time_t timep。 struct tm *p。 const char tips1[256]=重置速度的提示 :,tips2[256]=r=重新设置速度。 c=取消设置。 回车 =速度设置完成。 整数 且 0V1000。 float H, S, L。 // sampal : 8 10 300 4 10 bool getkey() { if( kbhit( ) ) { char ch。 ch=getch()。 st[ch]++。 if (ch==39。 c39。 ){st[39。 c39。 ]=st[39。 r39。 ]=0。 reset[0]=39。 \039。 R=0。 } if (st[39。 r39。 ]0 amp。 amp。 ch =39。 039。 amp。 amp。 ch=39。 939。 ) { reset[R++]=ch。 reset[R]=39。 \039。 } 第 13 页 共 22 页 if (st[39。 r39。 ]0 amp。 amp。 ch==8) { reset[R]=39。 \039。 } if (ch==13) { st[13]=st[39。 r39。 ]=0。 if (strtod(reset,amp。 endptr)1000) V=strtod(reset,amp。 endptr)。 R=0。 reset[0]=39。 \039。 } // 画渐变的天空 (通过亮度逐渐增加 ) H = 190。 // 色相 S = (float)。 // 饱和度 L =。 // 亮度 for(y = 300。 y 600。 y++) { L +=。 setcolor( HSLtoRGB(H, S, L) )。 line(0, y, 799, y)。 } return true。 } return false。 } void init() { R=0。 reset。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。