版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.课 程 设 计 报 告 课程名称:面向对象程序设计C+ 设计题目: 计算器 专 业: 计算机科学与技术 姓 名: 学 号: 指导教师: 李 晓 虹 2015 年 1 月 10 日课程设计报告模块内容要求:(1) 系统需求分析:我们平常所用的计算器都是可视化界面计算器,对于计算一些混合的四则算术运算不是很方便,所以我们此次设计的计算器则是可以进行四则混合运算,用户可以从键盘输入算式,可以进行加、减、乘、除混合运算,运算的优先级也已经考虑在内,并且用户可以按任何的运算符出现顺序进行输入,输入的计算式的长也是不限定。这样就方便了我们对于一些混合算式的计算。(2) 总体设计:本系统较简易,是白字黑屏
2、,用键盘按照提示输入要计算的算式进行计算。(3) 详细设计:根据任务要求,程序的总体功能可以设计成如下图所示。 否是是否开始输出算式及提示信息检查输入算式:字符是否合格、除数是否不为0除法加法减法乘法输出结果是否继续结束图1-1(4) 系统调试:系统没有出现详细代码:#include<iostream>#include<cmath>using namespace std;class counterprivate:int n; /计算输入数组的长度double a100;/ 存放数据的数组 char fh100; /存放字符的数组public:input(); /输入函数
3、suanfa(); /四则运算“+、-、*、/、”show(); /显示函数;counter :input() cout<<"请输入表达式,并且以“=”结尾"<<endl;for(int i=0;i<100;i+) cin>>ai; cin>>fhi; if(fhi='=') /"="为结束符标志 n=i; break; counter :suanfa() char sign; for(int j=0;j<n;j+) if(fhj='*') /乘法运算 if(fh
4、j-1='+')/乘法的优先级 aj+1=aj*aj+1; aj=0; fhj='+' else if(fhj-1='-') aj+1=-aj*aj+1; aj=0; fhj='+' else aj+1=aj*aj+1; else if(fhj='/') /除法运算 if(fhj-1='+')/除法的优先级 if(aj+1!=0) aj+1=aj/aj+1; aj=0; fhj='+' else cout<<"除数为0,退出程序!"<<en
5、dl; /除数为零 exit(0); else if(fhj-1='-') if(aj+1!=0) aj+1=-aj/aj+1; aj=0; else cout<<"除数为0,退出程序!"<<endl; exit(0); else if(aj+1!=0) aj+1=aj/aj+1; else cout<<"除数为0,退出程序!"<<endl; exit(0); for(int i=0;i<n;i+) if(fhi='+') /加法运算 ai+1=ai+ai+1; els
6、e if(fhi='-') /减法运算 if(ai<ai+1) ai+1=-(ai+1-ai); else ai+1=ai-ai+1; counter :show() /输出函数cout<<"该表达式的结果为:"cout<<an<<endl;void read() /程序说明cout<<"tt*n"cout<<"tt* C+课程设计 *n"cout<<"tt* 简单的计算器 *n"cout<<"tt*
7、n" cout<<"n说明:可以进行四则混合运算,但是不能进行括号优先级运算n"cout<<endl;int main()char sign; counter b;read();b.input();b.suanfa ();b.show ();while(true) cout<<"是否继续?输入y表示继续,n表示退出"<<endl;cin>>sign;if(sign='y') b.input(); b.suanfa (); b.show ();else break;ret
8、urn 0; 测试结果:当先输入加减“+、-”运算符,再输入乘除“*、/”时,计算结果是正确的。如输入以下测试实例:“1+2*3=”,正确结果因为“7”“1+4/2=”, 正确结果因为“3”“5-6/3=”, 正确结果因为“3”“7-2*3=”, 正确结果因为“1” 图1-2 但是如果先输入乘除“*、/”时,再输入加减“+、-”运算符,则会出现错误。 如以下测试实例: “2*3+1=”,正确结果因为“7”,但是程序结果却为“-5”“4/2-1=”,正确结果因为“1”,但是程序结果却为“-3” 图1-3修改后将该段代码放到主程序中,加一个while循环就可以实现该功能图1-4(5)结果分析:简易的计算器可以运行,用起来也比较满意,也应用到了C+的很多知识,对于初学者
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《2024年 八种盐生植物根部内生真菌的分离鉴定及抗逆、促生作用研究》范文
- 《 《盛装打扮-影响法国时尚的女性》(第6、8、9、10章)英汉翻译实践报告》
- 《机械制造工艺与装备》
- 咏雪(原卷版)-2024年中考语文之文言文对比阅读
- 河南省商丘市永城市2023-2024学年八年级下学期期末考试英语试题
- 当代知名作家余华介绍动态
- 山西省忻州高级中学2025届高三全国统一考试仿真卷(五)英语试题试卷含解析
- 山东省潍坊市青州二中2025届高三5月摸底考试英语试题试卷含解析
- 山东省青岛经济开发区致远中学2025年高三下学期英语试题试卷含解析
- 教学设计初中信息技术课程《计算机网络应用》教学设计
- 固体料仓 (2.26)设计计算
- 2023届上海市高考英语翻译复习词汇汇总
- 氧气、二氧化碳、氩气安全周知卡
- 2023年医师病历书写规范培训课件PPT(医务人员学习资料)
- GB/T 16751.1-1997中医临床诊疗术语疾病部分
- 《水的组成》设计 全省一等奖
- 初一中学生日常行为规范主题班会
- 系统解剖学-传导通路
- “双减”政策下谈幼儿教育“小学化”现象优秀获奖科研论文
- 二年级上册语文课件-5《玲玲的画》人教部编版 (共23张PPT)
- 吉林省普通中学2023学年高考数学一模试卷(含解析)
评论
0/150
提交评论