题目:上机实验 1 抽象数据类型
1.需求分析
这是一个用于实现复数的简单的四则运算和实部虚部的提取等操作的程序,其中定义复数为由两个相
互之间存在次序关系的实数构成的抽象数据类型,利用实数的操作来实现复数的操作。输入时以分别
输入复数的实部和虚部的形式,从而完成复数的创建,加法,减法,乘法,除法,提取实部虚部,输
出等操作,结果以复数的形式,即 a+bi 的形式输出。
【测试数据】
求和运算 3.1,0;4.22,8.9;输出“7.32+8.9i”
乘法运算 8.56;-4.5;3.8;1.3;输出“38.378-5.972i”
除法运算(1)6.5;9.4;1.9;3.7;输出“2.72-0.36i”
(2)3.5;6.4;0;0;输出“error”
2.概要设计
为了实现复数的运算功能,必须定义抽象数据类型 Complex 及对它功能实现的各个函数,代码如
下:typedef struct Complex
{oat real; //复数的实部
oat image; //复数的虚部
}Complex;
有了复数这个抽象类型的定义的准备工作之后,就能对 Complex 这个抽象数据类型进行各种操作,
电脑就能识别该类型,以做出相应操作。
ADT Complex{
数据对象: D={ c1,c2 c1,c2 ∈ FloatSet }
数据关系: R={ <c1,c2>| c1,c2 ∈ FloatSet }
基本操作:
void CreatComplex(Complex &c,oat a,oat b)
操作结果:创建一个复数。
v AddComoidplex(Complex &sum,Complex c1,Complex c2)
初始条件:复数 c1 和 c2 已经存在。
操作结果:用 sum 返回复数 c1 加上 c2 的和。
void Subtract_Complex(Complex &Sub,Complex c1,Complex c2 )
初始条件:复数 c1 和 c2 已经存在。
操作结果:用 sum 返回复数 c1 减去 c2 的差。
void Multiple_Complex(Complex &product,Complex c1,Complex c2 )
初始条件:复数 c1 和 c2 已经存在。
操作结果:用 sum 返回复数 c1 乘以 c2 的积。
void Division_Complex(Complex "ient,Complex c1,Complex c2)
初始条件:复数 c1 和 c2 已经存在。
操作结果:用 sum 返回复数 c1 除以 c2 的商。
void Print_Complex(Complex c)
初始条件:复数 c 已经存在。
操作结果:显示 c 的值。
void Get_real(Complex &get_r,Complex c)