资源描述
菏泽学院Heze University蒋震机电工程学院课程设计报告课程名称 微机原理与接口技术 题目 标准单位转换器 姓名 周宇涛 学号 2012174297 专业 12级自动化 指导教师 任国军 职称 教授 20 年 月 日目 录摘要1关键词1Abstract1Key words 1前言21 课程设计任务和基本设计要求21.1 课程设计任务 21.2 基本设计要求 22 系统需求分析22.1 系统功能需求分析 22.2 系统其它需求分析 33 系统设计33.1 系统总体设计 33.2 系统详细设计 53.2.1 界面及功能详细设计 53.2.2 程序运行的具体操作 74 系统调试与设置105 课程设计总结115.1 对所设计的系统的总结 115.2 个人心得体会 11参考文献12附录12标准单位转换器摘要:长度单位换算是长度换算的一种方式。目前国际上的长度单位换算方式有多种类型,分别有中国传统的长度单位、国际标准的长度单位、英制长度单位、天文学长度单位等。长度单位是指丈量空间距离上的基本单元,是人类为了规范长度而制定的基本计量单位。我国传统的长度单位有里、丈、尺、寸等。国际单位制中,长度的标准单位是“米”,用符号“m”表示。这些长度单位均属于公制单位。为了方便换算查询,标准单位转换器逐渐走进视野。本设计是基于Turbo.c,运行于Windows 2000环境以上,满足日常生活中基本单位换算。关键词:单位换算 Turbo.c Windows 2000Abstract:Length unit conversion is a way of length conversion. At present the international unit of length in the conversion has many types, the traditional Chinese unit of length, the international standard unit of length, British unit of length, astronomy unit of length, respectively. The unit of length is the basic unit to measure the distance, it is the basic unit of measurement for human beings in order to regulate the length. Our countrys traditional length unit has the inside, the foot, the foot, the inch and so on. In the international system of units, the length of the standard unit is meter, with the symbol m. These length units are metric units. In order to facilitate the conversion of query, standard unit converter gradually into the field of vision. The design is based on Windows, running on the Turbo.c 2000 environment, to meet the basic unit of the conversion of basic units.Key words:Unit conversion Windows Turbo.c 200015单位换算前言为了加深对C语言程序设计课程所学知识的理解,进一步巩固C语言语法规则。学会编制结构清晰、风格良好、数据结构适当的语言程序,从而具备解决综合性实际问题的能力。参加该程序设计可以很好的将所学的知识运用于实际,加深了对C语言的了解和体验,学会了一定的新方法来实现编程的目的。提高了我用C语言编程的能力,达到了学以致用的目的。此次课程设计我选择的题目是单位换算。1 课程设计任务和基本设计要求1.1 课程设计任务学习C语言已有半年的时间,掌握了一定的C语言知识,但都只是皮毛,且仅限于课本的知识,而这是远远不够的,为了更深的掌握C语言知识,我参加了本次课程设计,按要求完成该程序的设计。我设计的单位换算程序是一个单位换算程序,通过设计的程序实现输入输出、判断等基本功能。该题要求实现二种以上单位的换算,必须有运用结构体、函数等。1.2 基本设计要求单位换算应该具有一个友好的系统界面,操作简单,结果清晰明了、适用于所有的用户,能满足用户的要求,即用户能够按照所编写的程序实现输入输出、判断进行不同类别的单位换算等基本功能。2 系统需求分析2.1 系统功能需求分析单位换算程序的主要功能如下:(1) 输入输出信息功能用户通过此功能进行信息录入,用户通过此功能在机器终端按照程序输出主菜单、1.长度单位转换等信息,从而控制单位换算的进程。当程序开始运行时,用户可以通过输入功能选择执行那种单位换算。 (2) 判断信息功能程序开始后,用户通过输入信息后,通过一定的判断语句,输出相应的信息继续运行程序。例如人通过输入信息1、2、3。机器判断来决定执行哪个小程序。2.2 系统其它需求分析(1) 性能要求实时性好、可靠性强。(2) 设计约束开发工具:Turbo.c运行环境:Windows 2000以上能实现用户所定义的各项需求(3) 软硬件要求在windows平台上运行;在Turbo.c中运行;客户端使用普通个人计算机。(4) 界面要求以Windows窗口形式显示,顶部为标题栏,接着是菜单栏,上面有File、Edit、Compile、Run等操作显示。程序全部英文给出。3 系统设计3.1 系统总体设计为了实现单位换算程序的所有需求,设计应分为三个部分:首先需要设计此单位换算的界面以及其框架布局。单位换算的框架采用Windows标准框架,从上由下依次是标题栏、菜单栏、操作栏和信息显示区。菜单栏包含设置以及操作两个菜单项,并对菜单项以及界面上的控制按钮进行事件响应,相应地来成功控制单位换算程序的各项操作。其次则需设计单位换算的功能设计,需要设计输入输出、判断等功能。单位换算程序设计设计共含输入、输出、判断等功能模块。单位换算的功能模块图如图1所示。单 位 换 算 程 序长度单位转换钠米与其他长度单位的转换微米与其他长度单位的转换毫米与其他长度单位的转换厘米与其他长度单位的转换分米与其他长度单位的转换米与其他长度单位的转换千米与其他长度单位的转换 图1 单位换算功能模块3.2 系统详细设计3.2.1 界面及功能详细设计单位换算的程序设计由一个调用函数构成,为fun1函数,fun1函数是用于进行长度单位的换算。生成单位换算程序的结构图如图2所示。 程序结束 main( ) 方法程序开始 调用fun1函数void fun1(float x,char y) 图2 单位换算的程序结构图此单位换算程序由一个调用函数实现所有设计需求。实现了长度单位转换的功能,其实现的功能分析如下:(1) fun1()方法fun1 ()方法完成了长度单位转换的功能,调用此函数后,人如在机器终端输入x=10,y=k,则表示将10千米用其他长度单位表示。此调用函数,下面给出游戏流程图,如图3所示:开 始输入x,y,zZ=1Fun(floatx,chary)ob=k b=m b=d 输出c=(le+3)a,d=”m”c=(le+4)a,d=”d”输出c=(le-3)a,d=”k”c=(le+1)a,d=”d”结 束图3 单位换算流程图3.2.2 程序运行的具体操作单位换算程序各种操作实现详细如下:(1) 输入输出信息操作由程序流程可知,程序运行时,首先会输出主菜单,1长度单位转换、2时间单位转换、3数制转换,表示此为单位换算程序。当再次输出Z的数值时,再决定执行那一步程序,此时程序开始 /* printf(tt*主菜单*nn); printf(tt* 1.单位换算 *nn);*/ (2)判断用户所输入的Z值 if(z=1) fun1(x,y);(3)长度单位转换的程序 void fun1(float a,char b)/*a为数值,b为长度单位*/float c,char d;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;c=(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;c=(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;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系统实现与设置 使用Turbo.c运行程序时,首先打开fire文件夹中的edit子文件夹,编辑以写出的文件,再通过ctrl+c 进行检查,程序无误后运行。运行次单位换算成叙事窗口指令操作如下:Printf z=1Scanf 长度单位转换Please count:printf x=10,y=k;scanf c=10000,d=m; c=10000,d=d;c=100000,d=c;c=1000000,d=g;c=1000000000,d=u;c=10000000000000,d=n;5课程设计总结 5.1 对所设计的程序的总结此次我所设计的单位换算程序基本实现了所需求的功能,即成功地运行了。用户能够正常进行此次项简单的单位之间的转换。但是受水平及其它一些因素的限制,该程序行数不够长,设计也不够完善,能进行的单位换算有限。不足以吸引用户使用 。但通过这次课程设计,所得的收获还是挺多的。不仅学到了课堂上所学不到的东西,而且还加深了对这门课的理解,能够较熟悉的使用C语言编写稍复杂点的程序了,特别是对函数的调用上,进步颇大,收获甚多。还有在自主学习能力上也有了很大的提高。同时这次课程设计也给了我多次上机操作的机会,加强了自己的动手操作能力。希望下次还能有这么好的机会来提高自己的能力,真正掌握并应用自己的所学,达到学以致用的目的。5.2 个人心得体会这次课程设计做下来感触颇多,硬逼着自己利用一个暑假的时间来更深地学习C语言课程设计,并利用所学做一个课程设计,这对于我来说是一个挑战。因为毕竟我们所学的知识有限,且以前在课堂上学的是一些简短且易懂的程序。仅凭我们在课堂上的所学来完成该程序设计是无法达到的,因此我必需不断上网查询或去图书馆借书来研读,幸好经过努力,我虽不能很好的运用我所学的相关知识到实际设计中来,但是最终我还是按自己所预定的设计要求完成了流程的各个步骤,基本实现了单位换算的程序设计。第一次进行课程设计,难度虽不小,但是收获也异常丰富,更深的掌握了C语言程序设计这门课程,掌握了一定的专业基础,了解了课程设计的书写,认识到了自己能力水平的不足,改变了自己对于语言学习的态度,语言的学习核心在实际操作而非理论学习。最重要的是,它培养了我对C语言的兴趣。通过为期一个暑假的课程设计实验使我了解到了一个程序从编写到运行是需要经过多少次不断的更改,操作再操作。为了一个算法的实现而绞尽脑汁,为了一个小小的编译错误而花时间去寻找,这需要很大的毅力和耐心,而且要有良好的思维,这才能完成这个任务,也使我感到一分喜悦。使我更深的体会到一分耕耘一分收获。于此,我也发现自己的一些不足,知道只有养成良好的编程习惯,有着坚定的毅力和决心,不断的补充C语言知识,同别人交流才能不断使自己进步并取得成功。参考文献:1 刘振安等.C 程序设计课程设计M.机械工业出版社.书号:ISBN 7-111-14619-02 李兰友等.TurboC 语言程序设计M400 例.电子工业出版社.书号:ISBN7-5053-1327-43 李大友.C 语言程序设计M. 清华大学出版社.书号: ISBN 7-302-03103-74付玉生. SQL Server 2005基础教程与上机指导M. 北京:清华大学出版社,20065裘雪红. 计算机毕业设计宝典M. 西安:西安电子科技大学出版社,20086萨师煊,王珊. 数据库系统概论M. 北京:高等教育出版社,20067谭浩强.C程序设计(第1版)M.清华大学出版社附录单位换算的完整程序如下:附件( 个) 超大附件正在检测超大附件%name%(%size%, %expiretime%), 查看下载信息#includevoid main( ) /* printf(tt*主菜单*nn); printf(tt* 1.单位换算 *nn);*/void fun1(float,char)/*对被调用函数fun1的声明*/float x,z,m;char y,n;printf(“please input x,y,z :n”);scanf(%f,%f,%c,&x&z&y); if(z=1) fun1(x,y); void fun1(float a,char b)/*a为数值,b为长度单位*/float c,char d;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;c=(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;c=(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;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;
展开阅读全文