四则运算 个人项目整理
2016-03-19 19:47
246 查看
个人项目--四则运算器
需求分析
*随机生成指定数量的表达式,存入*.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界面使用户操作更加直观,操作简洁。
加入了表达式属性设置功能。
相关文章推荐
- Android快速开发系列 10个常用工具类
- 《数学之美》读书记录
- Spark运行模式及原理(一)
- 实现自动生成30道四则运算题目(4)
- 四则运算二项目计划总结
- modbus学习
- 第三周作业(一)单元测试
- 第四周上机实践项目——项目2-太乐了
- Android SwipeRefreshLayout 谷歌官方下拉刷新空间 最好的没之一
- 用Python写出LSTM-RNN的代码!
- Xshell的安装与使用,向云服务器上传文件
- pycaffe对于图片的加载与训练
- pycaffe API的使用
- 杂记-大佬尚技术讲堂
- caffe学习入门:pycaffe的使用
- 学习进度
- [网络流24题][BZOJ1475]方格取数(最小割)
- 来自bit.ly的1.usa.gov数据
- Ubuntu14.04 使用virtualbox 安装win7
- 软件工程-构建之法 理解C#一小段程序