四则运算 个人项目整理
个人项目--四则运算器
需求分析
*随机生成指定数量的表达式,存入*.txt文档中
从*.txt文档中导入算式,在屏幕中显示,并等待用户输入一个运算结果
待用户输入后,将用户结果与标准答案进行比对,并显示正确答案
当用户完成对所有的题目的解答后,程序给出用户作答的统计结果,正确率或错误率等等
规格说明
包含的运算符有:+,-,*,/,(,)等
包含的操作数有:整数,真分数,假分数
每个算式的长度不大于10(可在程序内设定)
总运算题目数不大于20(可根据用户需求自定)
设计
a) 程序整体流程设计
b) 模块间及模块细节设计
- 中缀转后缀模块
处理中缀表达式中的括号,优先级等问题,并生成相应的后缀表达式。
2.后缀计算模块
将运算和2个操作数从一个长的后缀表达式中分离出来,调用二元运算模块进行计算,结果压栈。
3.二元运算模块
一个长的表达式计算最终均可归结为众多个二元运算的累加,因此核心的运算部分在此完成。
c) 附加设计
表达式自动生成模块
自动生成没有重复的,数量,难度可控的表达式组(通过内部宏参数确定)。
主要流程设计,实际编程中又加入许多对过程控制的标志位。
综合测试
分别在Console界面和MFC界面下进行了测试:
- 正确性检验:经随机挑选的运算式分别采用人工计算与电脑计算,结果相同。
- 健壮性检验:出现问题,除0问题开始时没有考虑。
遇到的问题:
- 遇到了除0问题,例如3/(5-5)之类的生成的表达式。
- 冗余的括号问题:比如(9+9)-5+(6*3)…
- 加入了除0问题的判别与返回,增强了程序的健壮性。
- 使用MFC界面使用户操作更加直观,操作简洁。
- 加入了表达式属性设置功能。
维护
- 加入了除0问题的判别与返回,增强了程序的健壮性。
- 使用MFC界面使用户操作更加直观,操作简洁。
- 加入了表达式属性设置功能。
posted on 2016-03-19 19:47 13070006王奈 阅读(492) 评论(2) 编辑 收藏 举报