C++课程设计:计算器(1)_第1页
C++课程设计:计算器(1)_第2页
C++课程设计:计算器(1)_第3页
C++课程设计:计算器(1)_第4页
C++课程设计:计算器(1)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论