c语言编程-简单的计算器

上传人:小** 文档编号:70919340 上传时间:2019-01-19 格式:DOC 页数:16 大小:32KB
返回 下载 相关 举报
c语言编程-简单的计算器_第1页
第1页 / 共16页
c语言编程-简单的计算器_第2页
第2页 / 共16页
c语言编程-简单的计算器_第3页
第3页 / 共16页
c语言编程-简单的计算器_第4页
第4页 / 共16页
c语言编程-简单的计算器_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《c语言编程-简单的计算器》由会员分享,可在线阅读,更多相关《c语言编程-简单的计算器(16页珍藏版)》请在金锄头文库上搜索。

1、C语言编程-简单的计算器 导读:就爱阅读网友为您分享以下“C语言编程-简单的计算器”资讯,希望对您有所帮助,感谢您对的支持!苏 州 市 职 业 大 学课程设计说明书名称 计算机语言 C 课程设计 设计一个简单计算器 2011 年 6 月 20 日至 2011 年 6 月 25 日共一周院 班 姓系 级 名计算机工程系系主任教研室主任 指导教任目录一、题目说明 . 2 二、总体设计 . 2 2.1系统开发平台 . 2 2.2系统流程图 . 2 三、详细说明 . 3 四、遇到的问题和解决方法 . 11 五、课程设计总结 . 12 六、参考文献 . 121 苏州职业大学计算机工程系课程设计文档一、题

2、目说明在功能上尽量模拟 windows 操作系统中的计算器,系统界面不做强制要求。 程序开发背景 传统的计算方法有口算、笔算还有就是借助工具。但是一旦碰到计算量稍大的计算 式子,口算和笔算往往就不能发挥出优势,一般都回借助工具。而传统的计算器也并不 方便随身携带。随着科技的发展,计算机已经逐渐普及,人们的生活中、工作中往往都 离不开计算机。如果碰到大量的计算,还要去找计算器,这样似乎太过麻烦。所以,在 计算机中进行计算器的工作,就会方便得多。因此,本次设计了在计算机操作系统中的 计算器。二、总体设计2.1系统开发平台 系统使用的是 Microsoft VC+ 6.0 软件平台。2.2系统流程图

3、 2 苏州职业大学计算机工程系课程设计文档开始定义一个符号常量调用主界面函数NO 表达式是? YES 匹配表达式调用四则混合运 算函数调用开方函数调用乘方函数结束图 1 系统流程图三、详细说明本系统分为两个部分:double jisuan()部分,main()主函数部分。double jisuan 部分首先对程序进行基础设置,以达到能够对输入的表达式进行判断。main()主函数模块,首先通过 printf()语句对一些特殊符号进行解释,然后通过用户自己 讲要计算的式子输入程序,来得出结果3 苏州职业大学计算机工程系课程设计文档1.double jisuan()函数规定对优先级别,其过程为:wh

4、ile(ai!=0) if(ai=0&ai=9) z=0; j=i+1; while(aj=0&aj=9) j+; j-; for(k=i;k=j;k+) z=z*10+ak-0; j=j+1; x=z; if(aj=.) l=1; i=j+1; j=i+1; while(aj=0&aj=9) j+; j-; for(k=i;k=j;k+) n=pow(0.1,l); l=l+1; x=x+n*(ak-0); i=j+1; else i=j; shu.data+shu.top.d1=x; shu.datashu.top.d2=+cnt; nibo+t1=0+shu.datashu.top.d2

5、; nibot1+1=0; else if(ai=() zhan2+t2=ai; i+; 4 苏州职业大学计算机工程系课程设计文档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=(;

6、i=i-2; else while(t20&.top;i+) if(nibot1-0=shu.datai.d2) m=i; break; zhan3+t3=shu.datam.d1; else if(nibot1=+) zhan3t3-1=zhan3t3-1+zhan3t3; t3-; else if(nibot1=-) zhan3t3-1=zhan3t3-1-zhan3t3; t3-; else if(nibotn3t3=sqrt(zhan3t3); t1+; return zhan31; 2.main()主函数void main() printf(“=n” ); printf(“=这是一个

7、计算器程序=n” ); printf(“=nn”); printf(“tt 输入点号(.)回车,结束程序运行nn” ); for(;) char x,a50; double jieguo; int i=0; a0=$; printf(“请输入表达式,退出请输入 q:nn”); 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(“nn”); 9 苏州职业大学计算机工程系课程

8、设计文档图 3. 主函数输出界面图 4 运算界面 110 苏州职业大学计算机工程系课程设计文档图 5 运行界面 2四、遇到的问题和解决方法1. 在编程时忘记最后少了个“” ,导致程序运行不了。图 8 错误 1在最后输入 后,程序运行正常。 2. 一个语句结束时忘了写上分号导致程序不能正常运行。图 9 错误 211 苏州职业大学计算机工程系课程设计文档五、课程设计总结在本次课程设计上,我发现光靠书上的内容是远远不够的。课本内的知识很多都比 较基础,基础虽然狠重要,但要发挥作用得需要相当大的基础量。所以我们平时应该多 看看这方面的其他书籍,多了解了解这方面的如今比较有价值的知识。 在学习上,光靠自

9、己的努力是远远不够的。遇见不懂得问题,要及时地向周围的同 学、老师或者可以借助互联网来找寻答案。一个问题的不懂可能会导致后面千千万万个 知识的不懂,这样的学习方法是不好的。 平时上课时,照着书打,即使有错基本也都能找出来,所以自我感觉还不错。可是 通过这次的程序设计,我发现我的能力还是远远不够。没了书,没了参考,才发现原来 自己其实什么都不怎么会。连分析出设计这个程序的套路都不能确定究竟是怎么个流 程,压根就不知道究竟该从哪下手。而平时作业都依赖书上现成的,或许就是缺少了平 时的锻炼吧,这样的学习只是半吊子,少了刚开始的分析能力,只能编译一些比较短的 简单的程序,一旦碰到大型的,顿时就感觉没处

10、下手。 虽然我这次的程序设计是要求一个人独立完成的,但是我发现,一个内容的完成其 实有了周围人的帮助会完成的更好更快。几个人出现了问题互相探讨互相帮忙,不仅有 更大的可能性能解决问题,还可以加深我们对这个内容的印象。若是下次再出现类似的 问题,我们也就不会感到迷茫了。而且,每个人对知识理解的方面可能不一样,深入程 度也不一样,合作的话可以互相弥补。六、参考文献1 李金祥、 顾小晶主编. 实用 C 语言程序设计教程 , 北京: 中国电力出版社, 2010.6 2 康莉、李宽编. 零基础学 C 语言 ,北京:机械工业出版社,200712 苏州职业大学计算机工程系课程设计文档附录:略#include

11、stdio.h #includemath.h #includemalloc.h double 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,zhan320; typedef struct double d1; int d2; dd; typedef struct dd data50; int top; zhan1; zhan1 shu; shu.top=0; while(ai!=0) if(ai=0&ai=9) z=0; j=i+1; while(aj=0&aj=9) j+; j-; for(k=i;k=j;k+) z=z*10+ak-0; j=j+1; x=z; if(aj=.) l=1; i=j+1; j=i+1;13 苏州职业大学计算机工程系课程设计文档while(aj=0&aj=9) j+; j-; for(k=i;k=j;k+) n=pow(0.1,l); l=l+1; x=x+n*(ak-0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号