




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要该软件为用户提供在windows系统上的简易计算器,能进行简单的加、减、乘、除四则运算与混合运算。在该软件中加入一些基本且人性化的操作和简明清晰的显示界面与操作提示,使用户能很方便的使用该软件解决实际问题。在该软件中,大量的运用了if嵌套,for循环等语句相互配合构成了完整的程序。并且在该程序中多次调用自定义函数,实现了程序模块化,结构化,清晰化等,方便人们阅读与查找错误,也方便程序员调试程序,修改程序。并且如果程序运行错误,修改时只会产生局部影响,减少了程序员的工作量。关键词:C语言;简易计算器;程序;基本算法;混合运算AbstractThe software provides a simple calculator in Windows system for users ,can be a simple add,subtract,multiply,divide. Add somebasic andhumanized operationand concisein the softwarecleardisplay interface andoperation hints,users canconveniently usethe softwareto solve practical problems。In this software,the use of a large number ofnested if,forloopstatementto cooperate with each otherto form a completeprogram. Andin the processmany timesto call customfunction,realize theprogram modular,structured,clear,convenient for people to readandfind errors,alsofacilitate programmers to debugthe program,modify the program. And if theruntime error,changewill only have alocaleffect,reducesthe work of the programmer.Keywords:C language;Simple calculator;Progame;The basic aigorithm;Mixed operation 目 录1概述11.1简单计算器设计的意义11.2系统的基本要求11.3课程设计目的11.4功能设计22总体设计32.1系统模块机构框图32.2功能模块框图42.3系统流程图52.4界面设计62.5计算界面72.6退出界面83详细设计83.1模块描述83.2系统头文件83.3函数声明94调试分析174.1遇到的问题174.2采取的解决措施174.3界面截图及说明185总结20参考文献22致 谢231概述1.1简单计算器设计的意义本课题的内容是设计一个简单的计算器。通过对程序的设计可以对C程序中的函数,循环,数组,调用,文件内容有更深入的理解和运用。设计程序的过程中,通过已有知识的运用和思考,能够做到对知识的整体理解。通过解决设计中遇到的问题,能够提高设计程序的熟练度,并对知识有巩固作用。另外,所选课题与自己的兴趣有关,编程之中不仅能提高题目涉及到的内容的兴趣,更主要的在于能对C语言更加感兴趣。1.2系统的基本要求1)设计一个简单的计算器;2)程序基本功能要求完整,并有简单的验证;3)用C实现系统;4)利用结构体、数组等实现数据结构设计;5)系统的各个功能模块要求用函数的形式实现;6)本系统可以进行复杂的混合运算。1.3课程设计目的1通过一个学期的学习,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。特别是作为本科生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。通过这次课程设计,进一步巩固所学的语句,如语句嵌套等;加深对循环,分支等结构的运用;最后还可以熟悉四则运算三角函数等经典算法。2通过此次课程设计扩展自己的知识面,课本上的东西是远远不够的,可以通过去图书馆查资料,上网找资料等手段学到一些新知识,比如画图函数,颜色填充函等。3通过课程设计,加深对结构化程序设计思想的理解,能进行一个系统功能需求分析并设计合理的模化结构。提高程序开发能力。1.4功能设计1)在程序中加入足够的操作提醒环节,使得使用者能够清楚的掌握操作流程和界面。2)程序中完成+、-、*、/的混合运算,使用者可以根据个人的需要在提示后输入相应的代码,然后进行相应的运算,最后在运算结果中查找相应的结果即可,如果需要继续运算,只要在上一次的运算结束后按照提示输入相应代码即可选择是继续进行运算还是退出程序。2总体设计通过调用自定义函数与if的嵌套来实现混合运算2.1系统模块机构框图该简易计算器包括输入模块,显示界面模块,运算模块,退出界面模块。简 易 计 算 器显 示 界 面混 合 计 算退 出 程 序 图2.1系统模块框图2.2功能模块框图该简易计算器包括以下功能:1)四则运算;2)混合运算;3)退出程序;简 易 计 算 器加 法 运 算四 则 运 算减 法 运 算乘 法 运 算除 法 运 算退 出 程 序混 合 运 算 图2.2 功能模块框图2.3系统流程图10是无“=”有“=”开始循环函数输入函数判断继续输入循环循环判断判断退出退出运算运算计算SUM函数输出SUM输入1或0判断结束是否否图2.3 程序流程图 2.4界面设计图2.4 系统主界面进入主界面之后,主屏上显示“WELCOME”表示您已进入本系统,然后系统屏幕上会提示“xuan ze shifou ji suan”意思为“选择是否计算”,1,“yes”代表进入计算界面,0,“no”代表退出程序,用户可根据自己的意思来输入相应代码进行下一步。2.5计算界面图2.5 计算界面在计算界面中,主屏显示“qing shu ru ji suan gong shi”代表“请输入计算公式”之后用户可以进行任何四则运算,例如:在主屏中输入“86*67+32/4+5=”然后通过enter键得出计算结果2.6退出界面 图2.6 退出界面退出程序后用户将看到“THANKS!”字样,代表对您本次使用表示感谢。之后主屏左下方提示“shu ru ren yi shu zi tui chu”代表您将输入任意一个数字退出程序 3详细设计基于系统需求分析与系统总体设计的结论,本系统采用TC 2.0实现各模块的功能。下面按照模块的划分来分别阐述系统的详细设计和实现过程。3.1模块描述(1)显示界面模块为系统提供类似于菜单的功能,让用户输入要操作的运算类型的数字代码,并进入相应的功能执行程序,显示相应界面。(2)数学计算模块中,根据用户选择的运算类型和运算符号,自动调用相应的函数,运行相关程序,进行计算,并显示结果。(3)退出程序模块。根据用户的需要,选择是否退出程序。3.2系统头文件#include “stdio.h”Include称为文件包含命令,其意义是把尖括号或引号“”内指定的文件包含到本程序中,成为本程序中的一部分。被包含的文件通常是由系统提供的,其扩展名为.h而stdio为standard input output的缩写,意为“标准输入输出”。3.3函数声明(1)主函数main()功能:计算器功能选择界面,选择循环调用mm()自定义函数;输入:用户输入运算类型、退出程序的相应数字代码(1 四则运算,2 混合运算3退出程序)处理: 根据用户输入的数字代码,跳转到相关功能函数输出:显示相应界面或退出程序(2)mm()自定义函数功能:进行混合运算;(3)nn()自定义函数功能:退出界面,显示“THANKS!”(4) kk()自定义函数功能:在开始界面显示“WELCOME”()程序清单#includestdio.hmm()int i,o,t,k,l;float m;float a999;char b999;clrscr();m=0;l=999;printf(n);printf(n);printf(n);printf(n);printf( -qing shu ru ji suan gong shi-n);printf(n);printf(n);printf( );for(i=0;i=999;i+)ci=0;fi=0;scanf(%f%c,&ai,&bi);if(bi=) t=i; break;for(i=0;i=t;i+)if(bi=/&bi+1=/|bi=*&bi+1=*|bi=/&bi+1=*|bi=*&bi+1=/)for(k=1;k=t;k+)if(bi+k=-|bi+k=+|bi+k=)l=k;if(l!=999)break;for(k=0;k=l;k+)if(bi+k=*)ai+k+1=ai+k*ai+k+1;ai+k=0; if(bi+k=/)ai+k+1=ai+k/ai+k+1;ai+k=0;if(k=(l-1)if(bi-1=-)ai+l=0-ai+l;i=i+l;break;for(o=0;o=t;o+)if(bo=*&bo+1=*|bo=*&bo+1=/|bo=/&bo+1=/|bo=/&bo+1=*)for(k=0;k=t;k+)if(bk+o=+|bk+o=-|bk+o=)l=k;o=l+o;break;if(bo=*&bo+1!=*&bo+1!=/)ao=ao*ao+1;ao+1=0;if(bo=/&bo+1!=/&bo+1!=*)ao=ao/ao+1;ao+1=0;for(i=0;i=t;i+)m=m+ai;if(bi=-)m=m-ai+1-ai+1;printf( -ji suan jie guo-n);printf( | %f n,m);printf( -n);printf(n);printf(n);main()int a,i,q;clrscr();for(i=0;i=999;i+)if(i=0)i=kk();clrscr();continue;printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf( -n);printf( xuan ze shi fou ji xu (1.yes, 0.no) );scanf(%d,&a);if(a=1)mm();if(a=0)q=nn();break;nn()int p,e;clrscr();printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf( o o o o o o o o o oo n);printf( o o o o o oo n);printf( o o o o o o oo n);printf( o o o o o oo n);printf( o o o o o o o o o o o o o o o o o oo n);printf( o o o o o o o o o o oo n);printf( o o o o o o o o o o n);printf( o o o o o o o o o o o ooo n);printf( o o o o o o o o o o o ooo n);printf( o o o o o o o o o o o o o ooo n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf( shu ru ren yi shu zi tui chu. );scanf(%d,&e);if(e!=9556)p=0;return p;kk()int a,b;clrscr();printf(n);printf(n);printf(n);printf(n);printf(n);printf( n);printf( n);printf( n);printf( o o o o o o o o o o o o o o o o o n);printf( o o o o o o o o o o o o o n);printf( o o o o o o o o o o o o o o o o o o n);printf( o o o o o o o o o o o o o o n);printf( o o o o o o o o o o o o o o o o o o o n);printf( n);printf( n);printf( n);printf( n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf(n);printf( qing shu ru ren yi shu zi ji xu. );scanf(%d,&a);if(a!=3295)b=1;return b;4调试分析 图4.1 系统运算经过计算,主屏右侧显示“ji suan jie guo”代表“计算结果”下方便为计算出的数值,之后系统会提示,主屏下方显示“xuan ze shi fou ji xu”代表“选择是否继续”1,yes代表继续进行运算,0,no代表退出程序,用户根据自己的意愿,选择是否继续4.1遇到的问题:1.计算器的界面不会做,有时数字显示在边框外面。2.在四则混合运算中,运算符号的优先级比较难判断。3.编写函数时遇到困难,陷入死循环。4在做计算器界面的时候有些函数出错,出现“声明语法错误”。4.2采取的解决措施1.去图书馆借相关图书,上网查资料,通过自己的阅读,研究,不断的尝试,运行,修改,最终做出了简单的界面,但仍存在很多不足的地方,只能模拟出大体的外观,没能模拟出更加美观的外观。2.查在界面显示的函数原型,对比自己的程序,不断修改,对比,调试,检查,反思,最后发现是语句顺序错误,显示写在了判断的后面,修改成功。3.在编写循环函数的时候,遇到很大困难,最后通过查阅资料,不断尝试编写,最后终于编写出了函数。4.3界面截图及说明 图4.2错误1函数之后多打了一个逗号,导致系统报错 图4.3错误2由于逗号的影响,出现了语法声明错误 图4.4错误3莫名的进入死循环,后经验证,只因输错了一个字235总结本报告对简单计算器系统的分析、设计、实现的完整过程进行了介绍。经过了五天的课程设计,在设计中我们遇到了很多编程问题,最后我们齐心合力的攻克一个个难关,我们组做得是计算器的设计,内容包括很多。运用的函数也很复杂。在五天的编程与调试中,我发现只有经过大量测试,大量调试,才能获得真确的结果。在这个过程中,同伴的合作是必不可分的,由此可见,一个团队的力量远远比一个人的力量要大很多。经过五天的编程,我发现了编程的快乐,发现了生活得美,而我们就是在这寻找美的道路上慢慢的成长。短短的五天,让我明白了许多的道理,只有坚持坚持再坚持才能成功,只有调试调试在调试才会有结果。往往成功的人都是在日日夜夜的坚持中积累出财富,积累出成功。在编译的过程中,有许多的错误,有时遇到死循环,有时输出的结果错误,又是直接不显示。但是,想想程序员哪能没有错误呢?每一个优秀的程序员都有上千道上万道的错误,俗话说失败乃成功之母,有了失败,才会里成功更进一步。然而在程序员的世界里,系统错误更是家常便饭。所以唯有大量的调试,大量的测试,大量的修复,才会编出一条成功的程序来。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,从拿到课题开始到结束,整整五天个日日夜夜,面对那么多的代码,最后发现,原来就课本的知识是远远不够的。在编程的过程中,想了各种方法去寻找资料与信息。像,图书馆,百度,找老师等等。在一步一步的探索中慢慢的修改直至运行成功。最终我发现,理论永远都比不上实践,也并不是说理论没用。一些好的想法大多数都是来源于实践,而实践的基础就是一些简单的理论。所以说实践才是人类最好的老师。在程序的创作过程中,不缺乏单调,苦涩,乏味,但是只有当你成功的时候才会发现所做的一切都是值得的,哪怕是中午顾不上吃饭就啃点面包,哪怕是晚上熄灯了还要借台灯编程序,哪怕是程序出现错误后的落寞与失败。但是,只要坚持,只要努力。用网络语言就可以说“一切皆是浮云”。为什么我说了那么多的坚持贱么多的努力呢?这不仅仅是句话那么简单。努力与坚持这两个词里面的含义谁也说不清,当你面对困难,要是没有愚公精神作为支柱,那即使你面对的是一粒石子,它也会挡住你前进的道路。 说了这么多,我对这个程序总体而言还是感到满意的。这个简单计算器程序它不光能满足人们所需要的加.减.乘.除还增加了混合运算,这样更能为大家节省时间并且计算精度达到六位,基本满足了人们正常生活的需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中考试题及答案绍兴
- 烯烃炔烃试题及答案
- 能源概论试题及答案
- 生活药学考试题及答案
- 中交安全考试试题及答案
- 2025年国家电投集团福建核电招聘考试笔试试题(含答案)
- 北京知识型直播培训课件
- 2025年甘肃烟草公司招聘考试笔试试题(含答案)
- 2025年恩施州鹤峰县县直教育单位选调教师考试笔试试题(含答案)
- 2024年云南省社区《网格员》考前冲刺训练(含答案)
- 慢性疾病管理与健康指导手册
- 2025年高中音乐教师招聘考试测试题及参考答案
- 主持人基础知识培训课件
- 2025年储能运维面试题及答案
- 2025年安徽演艺集团有限责任公司招聘20人笔试备考题库及答案详解(名师系列)
- 2025年事业单位考试医学基础知识真题及答案解析(医疗卫生系统)
- 建筑工地基孔肯雅热防控和应急方案
- 车间现场6S管理课件
- 计量基础知识培训课件
- 2025年新反洗钱知识竞赛题库(附含答案)
- 融媒体中心媒资管理办法
评论
0/150
提交评论