一.作业题目
仿照三元组或复数的抽象数据类型写出有理数抽象数据类型的描述 (有理数是其分子、分母均为整数且分母不为零的分数)。
有理数基本运算:
- 构造有理数T,元素e1,e2分别被赋以分子、分母值
- 销毁有理数T
- 用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母。
- 将有理数T的分子或分母更改为e,入参i为1时改变分子, i为2是改变分母
- 有理数T1,T2相加,结果存入有理数T3
- 有理数T1,T2相减,结果存入有理数T3
- 有理数T1,T2相乘,结果存入有理数T3
- 有理数T1,T2相除,结果存入有理数T3
实验要求: - 抽象数据类型名为Rational。
- 有理数分母不能为负数或者0,类似输入请提示重输入。
- 数据对象和数据运算的表示与数据操作的实现分离。表示用头文件完成,实现用CPP文件完成。Main.cpp文件实现数据输入输出。
- 数据输入输出格式参考如下:
输入:
1 3 //T1的分子、分母
1 2 //T2的分子、分母
** 输出:**
5 6 //两个有理数相加
-1 6 //两个有理数相减
1 6 //两个有理数相乘
2 3 //两个有理数相除 - 程序应对异常输入或者出错必要处理和提示,比如提示:“分数是否需要约分等”
二、博客作业要求:
编程前请务必学习c++基础,请参见“参考资料”压缩包中的C++基础(精简版).ppt
1.作业内容
用ADT的抽象数据模型描述你的有理数数据类型。如:
图片:2.数据结构、函数说明
- 头文件
- 函数
- 函数功能
-
函数构造
- 有理数的加法
- 有理数的减法
-
有理数的乘法
-
有理数的除法
-
约分
3.运行结果展示
- 样例
- 分母为0
- 一正一负
- 两个都为负
- 两个相等
- 互为相反数
4.总结
- 从c到c++的过度,对c++有了一点理解。
- 对抽象数据也有了深刻的理解,并且借助抽象数据类型可以使我们更容易理清思路,建立基本结构,以及函数之间的关系。