- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程序设计报告-副本
《C++程序设计》课程设计报告
题目:模拟计算器
专 业:
学 号:
设 计 者:
时 间:
一,系统设计目标及意义,功能。
本题目要求实现一个简单的复数计算器,能够进行加、减、乘和除运算。使用时算式采用后缀输入法,每个操作数、操作符之间都以空白符分隔。例如,若要计算”(1+2i)+(3+4i)”则输入”(1+2i) (3+4i) +”。每次运算在前次结果基础上进行,若要将前次运算结果清除,可键入“c”。当键入“q”时程序结束。
系统具体实现的功能如下:
设计一个操作数栈;
设计一个复数类,并实现对该类的加、减、乘、除、赋值及输入输出的””,””运算符的重载;
设计一个计算器类,实现表达式的运算。
系统界面采用文本菜单方式,交互性好。
二,系统详细设计。
系统使用类来组织管理计算器里的数据,整个程序包括三个类,分别是操作数栈类Stack,计算器类Calculator,复数类complex 。操作数类Stack用来存放栈的元素,也就是计算器所接受的数据,实现操作数的保存和弹出,清空计算器内的数据等。计算器类Calculator用来执行数据的加减乘除和运算符的选择,它包含有操作数栈类Stack的文件用来实现数据的输入输出和数据保存,结果的输出操作等功能。复数类complex用来实现运算符+,-,*,/,,的重载和这些运算符函数的实现。上述类关系的UML图如下:
(1)操作数栈类Stack的UML图如图2:
Stack - stacklist[MaStackSize]:T
- top:int + Stack(void):
+ Push(const T item):void
+ Pop(void):T
+ ClearStack(void):void
+ Peek(void)const:T
+ StackEmpty(void)const:int
+ StackFull(void)const:int
+ ClearStack(void):void
图2 Stack类UML
(2)计算器类Calculator的UML图,如图3
Calculator S:Stackcomplex
Enter(complex num):void
GetTwoOperands(complex opnd1, complex opnd2):Boolean
Compute(char op):void + Calculator(void)
+ Run(void):void
+ Clear(void):void 图3 Calculator类UML图
(3)复数类complex的UML图,图4
complex real:double
imag:double + complex(double r=0.0,double i=0.0)
+ operator +(complex c2):complex
+ operator -(complex c2):complex
+ display():void
+ Gong_e(complex c):complex
+ Gong_e():complex
+ length(complex c):double
+ dlength(complex c):double
+ dlength():double
+ operator*(complex c2):complex
+ operator/(complex c2):complex
+ operator=(complex c2):complex
+operator(ostream output,complex ):ostream
+ operator(istream intput,complex ):istream
图4 complex类的UML图
操作数栈类Stack:
类属性包括存放栈的元素数组(stacklist[MsxStackSize]);数组下标(top);
成员函数包括构造函数(Stack), 将元素item压入栈的函数(Push), 将栈顶元素弹出栈(Pop), 将栈清空(ClearStack), 访问栈顶元素(Peek) 测试是否栈满(StackF
文档评论(0)