Data_Structure01-绪论作业

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

      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

1.ADT抽象数据模型描述有理数数据类型

2.数据结构、函数说明

头文件:

函数:

3.代码实现说明

(1)构造和销毁一个有理数

(2)

  1. 用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母。
  2. 将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母。

(3)加减乘除

(4)辗转相除求最大公约数

5.总结

根据数据结构中的逻辑类型和储存类型,我选择了使用逻辑类型的线性类型。先定义一个有理数作为int类型的指针,再由构建函数开辟一个长度为2的内存空间来储存分子分母,再把有理数作为一个类型进行操作。C++是面向对象的语言,本题中,我将有理数这个概念实例化,先定义了“概念”,而T1,T2,T3是几个特例,由泛型转为特性,在编程中就能避免很多问题。

在程序编写中,要把空泛的概念实体化,用我熟知的知识去描述。

6.运行截图

1,正常操作

2,分母小于等于零

原文地址:https://www.cnblogs.com/3nodisnoable/p/8521868.html