zoukankan      html  css  js  c++  java
  • 结对项目进度1

    小组成员:

    王森   13070018

    李经纬 13070019

    我们基本上是在一起编程的,遇到问题可以一起讨论,比自己做思路更加开阔一些。我们在上次作业的基础上,修改了结构上的问题,模块化不清楚,都写在了一个类里。

    这次我们将它模块化,更利于以后的拓展与修改。

    已完成内容:

    王森:

    • 以原来程序作为基础进行改进,功能分离,增强封装性

           在原来的程序中,Calculator类内部进行了所有的工作,输入、计算、打印等等,在新的程序中,使用Calc类替换该类,只保留计算部分。Calc主要有两个共有函数作为接口,一个是setExp(String exp),一个是getResult(Fraction &result),第一个是给这个模块传入要计算的表达式,第二个是得到计算结果。

       新的核心模块Calc增加的成员变量和方法如下:

     1 class Calc
     2 {
     3 private:
     4     string exp;
     5     int max_opNum, min_numVal, max_numVal;
     6 public:
     7     void setExp(string exp);
     8     void Setting(int max_opNum, int min_numVal, int max_numVal);
     9     int getResult(Fraction &result);
    10 }

    李经纬:

    • 定义异常

           在核心模块中找到各种可能出现错误的地方,返回不同的整形值。将计算结果通过函数参数的位置进行返回。

           异常数字所对应的描述为:

           -1 除数为0

           -2 算式格式错误

           -3 运算符数量超限

           -4 数值范围超限

           -5 未知字符

    • 编写测试模块

           测试模块的功能是来测试核心模块的,在本题中就是测试一个输入式子和参数获得结果和捕获异常。

      测试模块主要代码:

     1 Test::Test()
     2 {
     3     while (true)
     4     {
     5         cout << "请输入表达式:" << endl;
     6         //cin >> exp;
     7         char getExp[128];
     8         cin.getline(getExp, 128);
     9         exp.assign(getExp);
    10 
    11         Calc c;
    12         c.setExp(exp);
    13         c.Setting(2, -1000, 1000);
    14         Fraction result;
    15         int e;
    16         if (!(e = c.getResult(result)))
    17         {
    18             cout << result << endl;
    19         }
    20         else
    21         {
    22             cout << "捕获异常,异常码为:" << e << endl;
    23         }
    24     }
    25 }

    测试异常如下:

  • 相关阅读:
    ELF 格式简介
    gdb 使用说明;ARM 汇编
    博士研究生的组会PPT汇报相关-labgirls
    浅尝辄止·认识Blazor及基础使用
    VBA·Function的基础使用
    WCF·无法自动进入并单步执行服务器。调试器未能在服务器进程中停止。
    Word·查找任意汉字的方法
    VBA·编译错误:ByRef参数类型不符
    排坑·QQ浏览器打开MD文件时显示下载不能直接打开
    MSSQL·PIVOT关键字实现列转行
  • 原文地址:https://www.cnblogs.com/bjut13070019/p/5338376.html
Copyright © 2011-2022 走看看