簡易计算器设计.docVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
簡易计算器设计

简易计算器设计实习报告 题 目: 简易计算器设计 学 号 姓 名 专业班级 指导教师 实践日期 目 录 一、综合训练目的与要求 1 二、综合训练任务 1 三、总体设计 1 四、详细设计说明 1 五、调试与测试 1 六、实习日志 1 七、实习总结 1 八、附录:核心代码清单 1 一、综合训练目的与要求 《面向对象程序设计》课程设计是实践性教学环节之一,是《面向对象程序设计》课程的辅助教学课程。 该课程设计要求学生综合运用在《面向对象程序设计》课程中学到的面向对象技术与实际编程相结合,独立完成一项较为完整、并具有一定实际功能的课程设计任务,同时加深学生对面向对象和C++编程技术的理解和掌握,培养实际的应用程序开发能力。在课程设计过程中,使学生养成良好的程序设计风格,并掌握C++应用程序的设计开发过程和编程方法、测试方法。图2 stack类 图3 CalculatorWindow类 (3)个人设计stack的示图 图4 StackL类 四、详细设计说明 (1)工程文件视图 图5 工程文件试图 (2)类的介绍 const int max_len = 20;//栈的最大容量 ?栈类stack() const int max_len = 20:栈的最大容量 函数: stack():构造函数,实现栈的初始化 ~stack():析构函数 int getTop():得到栈顶指针的值 void clear():清空栈 void push(char c):符号入栈 void push(float f):数字入栈 char pop(char c):返回符号栈栈顶的符号。 float pop(int f):返回数字栈栈顶的数字。 char remove(char c) :栈顶元素出栈。 float remove(int f) :栈顶元素出栈。 bool empty():判断栈是否为空。 bool full():判断栈是否满了 分析: 开始的时候只有char s[max_len],没有float n[max_len]这个属性,后来由于字符和float型转换存在精度的问题,所以在stack类中加入了float n[max_len]这个属性。使用的时候如果建立符号栈,那么只使用char s[max_len],如果建立数字栈那么只使用float n[max_len]。栈顶指针int top,和其他函数是char s[max_len]和float n[max_len]公用。其中有push()、pop()、remove(),函数的参数没有具体意义只是为了实现函数重载来实现不同栈的操作。 ?运算类class calculator() 功能:实现功能选择和实现进制转换与表达式计算 属性: stack numStack:数字栈 stack operatorStack:符号栈 string str :字符串(输入的表达式) 函数: calculator():构造函数 virtual ~calculator():析构函数 void setStr():设置输入的数字或是表达式的字符串 string getStr():得到输入的数字或表达式的字符串 bool operatorCompare(char stackOut,char stackIn):运算符比较函数, void partCalculate(char oper):局部计算函数, void calculate():选择表达式运算 bool operatorCompare(char stackOut,char stackIn):运算符比较函数 long int changeHexadecimal(int num):进制转换函数实现进制的选择 float n[max_len];//数字栈 char s[max_len];//符号栈 int top;// 栈顶指针 实现表达式的计算,计算中可以有加减乘除、括号。利用栈的思想来实现,先取得表达式,然后按序入栈,符号栈和数字栈。边入栈边进行运算最后的数字栈顶元素为结果。这里面除了需要出入栈的操作,还需要进行符号优先级的设定和比较,用函

文档评论(0)

df9v4fzI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档