week01-绪论

一.作业题目

仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子、分母均为整数且分母不为零的分数)。
有理数基本运算:

    1. 构造有理数T,元素e1,e2分别被赋以分子、分母值
    2. 销毁有理数T
    3. 用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母。
    4. 将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母
    5. 有理数T1,T2相加,结果存入有理数T3
    6. 有理数T1,T2相减,结果存入有理数T3
    7. 有理数T1,T2相乘,结果存入有理数T3
    8. 有理数T1,T2相除,结果存入有理数T3
      实验要求:
    9. 抽象数据类型名为Rational。
    10. 有理数分母不能为负数或者0,类似输入请提示重输入。
    11. 数据对象和数据运算的表示与数据操作的实现分离。表示用头文件完成,实现用CPP文件完成。Main.cpp文件实现数据输入输出。
    12. 数据输入输出格式参考如下:
      输入:
      1 3 //T1的分子、分母
      1 2 //T2的分子、分母
      ** 输出:**
          5 6  //两个有理数相加
          -1 6  //两个有理数相减
           1 6  //两个有理数相乘
           2 3  //两个有理数相除
    13. 程序应对异常输入或者出错必要处理和提示,比如提示:“分数是否需要约分等”。

二.作业内容

1.用ADT的抽象数据模型描述

 

2.数据结构、函数说明

1)头文件

2)函数

 

3.代码实现说明

1)构造

2)摧毁

3)返回

4)改变

5)加

6)减

7)乘

8)除

 

4.结果展示

1)一般情况

 

2)当分母为0时

 

 

3)当结果为整数时

 

5.总结

    1) 首先对于结构的构造还只是处于模糊的情况,但是看了参考的代码之后差不多知道该怎么构造了,其余的运算约分之类的还是比较简单的。

    2)这个的结果为整数的时候,只输出分子,不输出分母,但是实际上分母还是有存在数组里的。

    3)要保证e1>e2

posted @ 2018-03-07 19:47  木桐  阅读(137)  评论(2编辑  收藏  举报