zoukankan      html  css  js  c++  java
  • 四则运算 个人项目整理

    个人项目--四则运算器

    需求分析

    *随机生成指定数量的表达式,存入*.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. 加入了表达式属性设置功能。
  • 相关阅读:
    求斐波那契数列的第n项
    八大经典排序算法
    [BZOJ 3083] 遥远的国度
    [BZOJ 3306] 树
    [SCOI 2010] 序列操作
    [AHOI 2013] 差异
    [USACO2006 DEC] Milk Patterns
    [JSOI 2007] 字符加密
    [BZOJ 2588] Count on a tree
    [NOIP 2018 Day1] 简要题解
  • 原文地址:https://www.cnblogs.com/kiyoshikazuya/p/5296103.html
Copyright © 2011-2022 走看看