单位换算c程序设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

12目录1前言...................................................12课程设计任务和基本设计要求.............................12.1课程设计任务.....................................12.2基本设计要求.....................................23系统需求分析...........................................13.1系统功能需求分析.................................23.2系统其它需求分析.................................24系统设计...............................................24.1系统总体设计.....................................34.2系统详细设计.....................................34.2.1界面及功能详细设计.............................44.2.2程序运行的具体操作.............................65系统调试与设置..........................................6课程设计总结..........................................136.1对所设计的系统的总结............................136.2个人心得体会....................................14参考文献................................................14附录....................................................233单位换算1前言为了加深对《C语言程序设计》课程所学知识的理解,进一步巩固C语言语法规则。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。参加该程序设计可以很好的将所学的知识运用于实际,加深了对C语言的了解和体验,学会了一定的新方法来实现编程的目的。提高了我用C语言编程的能力,达到了学以致用的目的。此次课程设计我选择的题目是单位换算。2课程设计任务和基本设计要求2.1课程设计任务学习C语言已有半年的时间,掌握了一定的C语言知识,但都只是皮毛,且仅限于课本的知识,而这是远远不够的,为了更深的掌握C语言知识,我参加了本次课程设计,按要求完成该程序的设计。我设计的单位换算程序是一个单位换算程序,通过设计的程序实现输入输出、判断等基本功能。该题要求实现二种以上单位的换算,必须有运用结构体、函数等2.2基本设计要求单位换算应该具有一个友好的系统界面,操作简单,结果清晰明了、适用于所有的用户,能满足用户的要求,即用户能够按照所编写的程序实现输入输出、判断进行三种不同类别的单位换算等基本功能。3系统需求分析3.1系统功能需求分析单位换算程序的主要功能如下:(1)输入输出信息功能4用户通过此功能进行信息录入,用户通过此功能在机器终端按照程序输出主菜单、1.长度单位转换2.时间单位转换3.数制转换等信息,从而控制单位换算的进程。当程序开始运行时,用户可以通过输入功能选择执行那种单位换算,(2)判断信息功能程序开始后,用户通过输入信息后,通过一定的判断语句,输出相应的信息继续运行程序。例如人通过输入信息1、2、3。机器判断来决定执行哪个小程序。3.2系统其它需求分析(1)性能要求实时性好、可靠性强。(2)设计约束开发工具:Turbo.c运行环境:Windows2000以上能实现用户所定义的各项需求(3)软硬件要求在windows平台上运行;在Turbo.c中运行;客户端使用普通个人计算机。(4)界面要求以Windows窗口形式显示,顶部为标题栏,接着是菜单栏,上面有File、Edit、Compile、Run等操作显示。程序全部英文给出。4系统设计4.1系统总体设计为了实现单位换算程序的所有需求,设计应分为三个部分:首先需要设计此单位换算的界面以及其框架布局。单位换算的框架采用Windows标准框架,从上由下依次是标题栏、菜单栏、操作栏和信息显示区。菜单栏包含设置以及操作两个菜单项,并对菜单项以及界面上的控制按钮进行事件响应,相应地来成功控制单5位换算程序的各项操作。其次则需设计单位换算的功能设计,需要设计输入输出、判断等功能。单位换算程序设计设计共含输入、输出、判断等功能模块。单位换算的功能模块图如图1所示。图1单位换算功能模块4.2系统详细设计4.2.1界面及功能详细设计单位换算的程序设计由三个调用函数构成,分别为fun1、fun2和fun3函数,其中fun1函数是用于进行长度单位的换算,fun2函数则是用于时间单位的换算,最后fun3函数用来实现数制转换。生成单位换算程序的结构图如图2所示。单位换算程序长度单位转换时间单位转换数制转换千米与其他长度单位的转换米与其他长度单位的转换分米与其他长度单位的转换厘米与其他长度单位的转换毫米与其他长度单位的转换钠米与其他长度单位的转换微米与其他长度单位的转换天与其他时间单位的转换分钟与其他时间单位的转换小时与其他时间单位的转换秒与其他时间单位的转换二进制与其他进制的转换八进制与其他进制的转换十进制与其他进制的转换十二进制与其他进制的转换6图2单位换算的程序结构图此单位换算程序由三个调用函数实现所有设计需求。第一个函数实现了长度单位转换的功能,第二个函数实现了时间单位转换的功能,第三个则实现了数制转换的功能,他们各自实现的功能分析如下:(1)fun1()方法fun1()方法完成了长度单位转换的功能,调用此函数后,人如在机器终端输入x==10,y==k,则表示将10千米用其他长度单位表示。(2)fun2()方法fun2()方法实现了时间单位转换的功能,人如在机器终端输入x==24,y==h,则表示将24小时用其他时间单位表示。main()方法voidfun1(floatx,chary)voidfun2(floatx,chary)voidfun1(intx,inty)调用fun1函数调用fun2函数调用fun3函数程序开始程序结束7(3)fun3()方法fun3()函数的设计主要是为了实现数制转换的功能,人如在机器终端输入x==10,y==2,则表示将十进制转换成二进制。由此三个调用函数,下面给出游戏流程图,如图3所示:……开始输入x,y,zZ=1fun1(floatx,chary)fun3(intx,inty)Z=2fun2(floatx,chary)y=ty=hy=dy=s输出c=86400a,e=’s’c=1440a,e=’d’c=24a,e=’h’输出c=3600a,e=’s’c=60a,e=’d’c=a/24,e=’h’输出c=60a,e=’s’c=a/60,e=’h’c=a/24,e=’t’输出c=a/60,e=’s’c=a/3600,e=’h’c=a/86400,e=’t’y=k输出c=(le+3)a,d=’m’c=(le+4)a,d=’d’………YYYYNNN8图3单位换算流程图4.2.2程序运行的具体操作单位换算程序各种操作实现详细如下:(1)输入输出信息操作由程序流程可知,程序运行时,首先会输出主菜单,1长度单位转换、2时间单位转换、3数制转换,表示此为单位换算程序。当再次输出Z的数值时,再决定执行那一步程序,此时程序开始{/*printf(\t\t*****主菜单****\n\n);printf(\t\t****1.单位换算****\n\n);printf(\t\t****2.时间换算****\n\n”);printf(“\t\t****3.数制转换****\n\n”);*/}(2)判断用户所输入的Z值if(z==1)fun1(x,y);elseif(z==2)fun2(x,y);elsefun3(x,y);结束9}(3)长度单位转换的程序voidfun1(floata,charb)/*a为数值,b为长度单位*/{floatc,chard;clrscr();if(b==’k’)/*千米与米、分米、厘米、毫米、微米、纳米之间的转换*/{c=(le+3)*a,d='m';/*千米转换成米*/c=(le+4)*a,d='d';/*千米转换成分米*/c=(le+5)*a,d='c';/*千米转换成厘米*/c=(le+6)*a,d='g';/*千米转换成毫米*/c=(le+9)*a,d='u';/*千米转换成微米*/c=(le+12)*a,d='n';/*千米转换成钠米*/}if(b=='m')/*米与千米、分米、厘米、毫米、微米、纳米之间的转换*/{c=(le-3)*a,d='k';c=(le+1)*a,d='d';10c=(le+2)*a,d='c';c=(le+3)*a,d='g';c=(le+6)*a,d='u';c=(le+9)a,d='n';}if(b=='d')/*分米与千米、米、厘米、毫米、微米、纳米之间的转换*/{c=(le-4)*a,d='k';c=(le-1)*a,d='m';c=(le+1)*a,d='c';c=(le+2)*a,d='g';c=(le+5)*a,d='u';c=(le+8)*a,d='n';}if(b=='c')/*厘米与千米、米、分米、毫米、微米、纳米之间的转换*/{c=(le-5)*a,d='k';c=(le-2)*a,d='m';c=(le-1)*a,d='d';c=(le+1)*a,d='g';11c=(le+4)*a,d='u';c=(le+7)*a,d='n';}if(b=='g')/*毫米与千米、米、分米、厘米、微米、纳米之间的转换*/{c=(le-6)*a,d='k';c=(le-3)*a,d='m';c=(le-2)*a,d='d';c=(le-1)*a,d='c';c=(le+3)*a,d='u';c=(le+6)*a,d='n';}if(b='u')/*微米与千米、米、分米、厘米、毫米、纳米之间的转换*/{c=(le-9)*a,d='k';c=(le-6)*a,d='m';c=(le-5)*a,d='d';c=(le-4)*a,d='c';c=(le-3)*a,d='g';c=(le+3)*a,d='n';12}if(b='n')/*纳米与千米、米、分米、厘米、毫米、微米之间的转换*/{c=(le-12)*a,d='k';c=(le-9)*a,d='m';c=(le-8)*a,d='d';c=(le-7)*a,d='c';c=(le-6)*a,d='g';c=(le-3)*a,d='u';}}(4)时间单位转换的程序voidfun2(floata,charb)/*a为数值,b为时间单位*/{floatc,chare;clrscr();if(b=t)/*天与小时、分钟、秒之间的转换*/{c=86400*a,e='s';/*天转换成秒*/13c=1440*a,e='d';/*天转换成分钟*/c=24*a,e='h';/*天转换成小时*/}if(b=h)/*小时与天、分钟、秒之间的转换*/{c=3600*a,e='s';c=60*a,e='d';c=a/24,e='t';}if(b=d)/*分钟与天、小时、秒之间的转换*/{c=60*a,e='s';c=a/60,e='h';c=a/1440,e='t';}if(b=s)/*秒与天、小时、分钟之间的转换*/{c=a/60.e='d';c=a/3600,e='h';14c=a/86400,e='t';}}(5)数制转换的程序voidfun3(intm,intn){intx;charch;flush(stdin);/*一个M

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功