四则运算 个人项目整理

个人项目--四则运算器

需求分析

*随机生成指定数量的表达式,存入*.txt文档中

从*.txt文档中导入算式,在屏幕中显示,并等待用户输入一个运算结果

待用户输入后,将用户结果与标准答案进行比对,并显示正确答案

当用户完成对所有的题目的解答后,程序给出用户作答的统计结果,正确率或错误率等等

规格说明

包含的运算符有:+,-,*,/,(,)等

包含的操作数有:整数,真分数,假分数

每个算式的长度不大于10(可在程序内设定)

总运算题目数不大于20(可根据用户需求自定)

设计

a)     程序整体流程设计

 

b)     模块间及模块细节设计

  1. 中缀转后缀模块

处理中缀表达式中的括号,优先级等问题,并生成相应的后缀表达式。

 

  2.后缀计算模块

将运算和2个操作数从一个长的后缀表达式中分离出来,调用二元运算模块进行计算,结果压栈。

 

  3.二元运算模块

一个长的表达式计算最终均可归结为众多个二元运算的累加,因此核心的运算部分在此完成。

 

c)     附加设计

表达式自动生成模块

                     自动生成没有重复的,数量,难度可控的表达式组(通过内部宏参数确定)。

                     主要流程设计,实际编程中又加入许多对过程控制的标志位。

      

综合测试

       分别在Console界面和MFC界面下进行了测试:

  1. 正确性检验:经随机挑选的运算式分别采用人工计算与电脑计算,结果相同。
  2. 健壮性检验:出现问题,除0问题开始时没有考虑。

       遇到的问题:

  1. 遇到了除0问题,例如3/(5-5)之类的生成的表达式。
  2. 冗余的括号问题:比如(9+9)-5+(6*3)…
  3. 加入了除0问题的判别与返回,增强了程序的健壮性。
  4. 使用MFC界面使用户操作更加直观,操作简洁。
  5. 加入了表达式属性设置功能。

维护

 

  1. 加入了除0问题的判别与返回,增强了程序的健壮性。
  2. 使用MFC界面使用户操作更加直观,操作简洁。
  3. 加入了表达式属性设置功能。

 

posted on 2016-03-19 19:47  13070006王奈  阅读(490)  评论(2编辑  收藏  举报

导航