




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机学院 高级语言程序设计课程设计报告学号2016-2017年 第二学期1608220203高级语言程序设计课程设计报告题目:简单计算器专业:网络工程班级:16级网工3班姓名:代应豪指导教师:程庆成绩:计算机学院2017年4月25日目录一设计内容及要求31内容32.要求3二、系统流程图4三、源程序代码5四、运行结果13五、计算器的使用15六、设计结果与分析15七、心得与体会16一 设计内容及要求1内容利用本学期所学的C语言程序设计课程,运用相关知识,查阅相关资料,编写C语言程序,设计一个简单计算器,要求编写的简单计算器能够模拟windows系统的计算器,用户能够用键盘输入相关数据,能够进行简单的加、减、乘、除运算,并且在程序运行过程中能够正常的退出程序。在计算器程序运行中,输入数据时如果遇到输入错误的情况,能够能过键盘上的退格键进行删除,并且重新输入正确的数据。在数据输入完成后,如果需要放弃本次计算操作,可以利用程序中设置好的按键进行清零,并为下一次运算作准备。2.要求运用相关知识,查阅相关资料,编写一个简单的计算器,能够实现简单的基本的加减乘除运算,在计算器工作时用户能利用键盘或鼠标进行相应操作。程序基本功能要求实现完整,并有简单的验证。程序还须有符合标准的程序设计报告。二、系统流程图 开始输入第一个操作数加法乘法除法清零开方乘方减法输入第二个操作数 显示结果 结束三、源程序代码#include #include #includedouble jisuan(char a)int i=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;char nibo50,zhan250;double x,n,l,z=0,zhan350;typedef structdouble d1;int d2;dd;typedef structdd data50;int top;zhan1;zhan1 *shu;shu=(zhan1 *)malloc(sizeof(zhan1);shu-top=0;while(ai!=0)if(ai=0&ai=0&aj=9)j+;j-;for(k=i;k=0&aj=9)j+;j-;for(k=i;kdata+shu-top.d1=x;shu-datashu-top.d2=+cnt;nibo+t1=0+shu-datashu-top.d2;nibot1+1=0;else if(ai=()zhan2+t2=ai;i+;else if(ai=)j=t2;while(zhan2j!=()nibo+t1=zhan2j;nibot1+1=0;j-;t2=j-1;i+;else if(ai=+)while(t20&zhan2t2!=()nibo+t1=zhan2t2;nibot1+1=0;t2-;zhan2+t2=ai;i+;else if(ai=-)if(ai-1=$)a0=0;i=0;else if(ai-1=()ai-1=0;ai-2=(;i=i-2;t2-;elsewhile(t20&zhan2t2!=()nibo+t1=zhan2t2;nibot1+1=0;t2-;zhan2+t2=ai;i+;else if(ai=*|ai=/)while(zhan2t2=*|zhan2t2=/|zhan2t2=|zhan2t2=#)nibo+t1=zhan2t2;nibot1+1=0;t2-;zhan2+t2=ai;i+;else if(ai=|ai=#)while(zhan2t2=|zhan2t2=#)nibo+t1=zhan2t2;nibot1+1=0;t2-;zhan2+t2=ai;i+;while(t20)nibo+t1=zhan2t2;nibot1+1=0;t2-;j=1;t3=0;while(j=0&niboj!=&niboj!=#)for(i=1;itop;i+)if(int)(niboj-0)=shu-datai.d2)m=i;break;zhan3+t3=shu-datam.d1;else if(niboj=+)zhan3t3-1=zhan3t3-1+zhan3t3;t3-;else if(niboj=-)zhan3t3-1=zhan3t3-1-zhan3t3;t3-;else if(niboj=*)zhan3t3-1=zhan3t3-1*zhan3t3;zhan3t3-1=zhan3t3-1/zhan3t3;t3-; else if(niboj=) zhan3t3-1=pow(zhan3t3-1,zhan3t3);t3-;else if(niboj=#)zhan3t3=sqrt(zhan3t3);j+;return zhan3t3;void main()for(;)char x,a50;double jieguo;int i=0;a0=$;printf(#表示开方,表示乘方(支持负数)n);printf(请输入表达式无需输入=号直接回车可输出答案退出请输入qnn);scanf(%c,&x);if(x=q)break;while(x!=n)a+i=x;scanf(%c,&x);ai+1=0;jieguo=jisuan(a);printf(n);printf(结果为:%lf,jieguo);printf(nnn);printf(退出请输入q继续请直接输入nn);四、运行结果五、计算器的使用加法:输入一个数,按“+”,输入被加数,按“=”,输出结果。减法:输入一个数,按“”,输入被减数,按“=”,输出结果。乘法:输入一个数,按“*”,输入另外个数,按“=”,输出结果。除法:输入一个数,按“/”,输入另外个数,按“=”,输出结果。求开方:按“#”,在输入一个数,按“=”,输出结果。求乘方:输入一个数,按“”,输入另外个数,按“=”,输出结果。Tab键:清零Q键:退出计算器界面六、设计结果与分析在实验过程中,由于输入的代码有误,经常出错,有可能是标点符号的问题,有可能是单词拼写错误。对于长且复杂的程序段,最好模块化处理,一般都分为好几个函数,提高效率,如果都写在一起,一旦出错,很难找出来,程序出错了,们应该找到合适的方法调试,可以分别在每个函数中写上输出语句,如果该语句执行了且执行结果和预想的结果一致,则说明该函数及函数以上部分没问题,则可以查找下面的语句是否有问题,一个字母不同也可以使结果不同,所以子啊敲代码的时候,要多到尽量的细心,只有这样,才能使后面的调试变得不复杂。七、心得与体会计算机知识博大精深,很奥妙,学过c语言之后我知道我们平时用的那些应用程序都是用各种计算机语言编写的。这次通过老师布置的课程设计,我学会了更多的计算机知识,觉得编程是一件很费脑细胞同时很有意思的一件事。在这次程序设计过程中,学会了不懂就问同学,如果不是有他们,我相信我是不能交出这样一份完美的答卷的。同时也让我意识到编写c语言是需要耐心、细心和热心去做的一件事情!最关键的是,这个程序是我们经过一个寒假后的过程来编写的,我发现很多知识都忘了,所以最关键的是我觉得编程就该持之以恒!这次的报告前前后后改了很多遍,我觉得无论是做程序还是报告都应该按照要求的格式来,严谨规范的要求自己才能事半功倍!本题目的内容是设计一个简单的计算器。通过对程序的设计,可以对C程序中的数组函数分支循环文件等内容有更深入的理解与运用。设计程序的过程中,通过已有知识的运用和独立完成思考并和同学交流,能够做到对知识的整体理解。通过解决设计过程中遇到的问题,能够提高设计程序的熟练度,并对知识有巩固作用。另外,所选题目与自己的兴趣有关。编程之中不仅能提高题目涉及到的内容的兴趣,更主要在于能够对C语言更加感兴趣 C语言来编程的技巧,以及对C也有了更加深刻的认识。通过这次两个星期左右的C语言程序课程设计实习,我觉得我学到了很多,以前在课堂上学的东西以为都是一些枯燥无味的东西
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厨师临时聘用合同协议书
- 合同协议书错了
- 租房合同协议书细
- 合同股份协议书
- 转款合同三方协议范本
- 沙漠营地协议书
- 轮胎销售服务合同协议
- 转让汽车出租合同协议
- 企业与工厂合同协议书
- 轮椅景区租赁合同协议
- 影视艺术鉴赏课件
- 泼水节文化介绍课件
- 2024-2030年中国机载气象雷达行业市场发展趋势与前景展望战略分析报告
- 提高四级手术术前多学科讨论完成率实施方案
- 【一例猪流行性腹泻的诊断与治疗实例探析4500字(论文)】
- 第1课古代亚非教学设计-2023-2024学年中职高一下学期高教版(2023)世界历史
- 第8课《良师相伴 亦师亦友》第1框《良师相伴助力成长》-【中职专用】《心理健康与职业生涯》同步课堂课件
- 外卖行业交通安全培训
- 神经外科管道的护理
- 自动检测技术及仪表控制系统
- 既有建筑幕墙安全性鉴定技术规程(征求意见稿)
评论
0/150
提交评论