抽象数据类型复数的实现.
石家庄经济学院
实 验 报 告
学 院: 信息工程学院
专 业: 计算机
信息工程学院计算机实验中心制
《数据结构》实验报告姓名张文楚学号409109070515日期2011.3.25 7-8节实验室计算机基础实验室指导教师张有华设备编号实验题目实验1 抽象数据类型复数的实现一 实验内容
实验1 抽象数据类型复数的实现
二 实验目的
1. 了解抽象数据类型(ADT)的基本概念,及描述方法。
2. 通过对复数抽象数据类型ADT的实现,熟悉C语言语法及程序设计。为以后章节的学习打下基础。
三 需求分析
复数抽象数据类型ADT的描述及实现。
[复数ADT的描述]
ADT complex{
数据对象:D={ c1,c2 c1,c2∈FloatSet }
数据关系:R={ c1, c2 ∈D }
基本操作:创建一个复数 InitComplex();
输出一个复数 OutComplex();
求两个复数相加之和 AddComplex();
求两个复数相减之差 SubComplex();
求两个复数相乘之积 MulComplex();
求两个复数的商 SComplex();
等等;
} ADT complex;
本实验实现使用TC2.0实现复数的描述及操作。具体实现要求:
1.从键盘分别输入2个复数,并可修改已输入的复数。
2.能输出指定的复数。
3.两个复数相加之和,观察输出结果。
4.两个复数相加之差,观察输出结果。
5.求两个复数相乘之积,观察输出结果。
6.求两个复数的商,观察输出结果。
7.用户可看到如下界面:
*****************************
* 1.输入复数C1 *
* 2.输入复数C2 *
* 3.输出复数C1 *
* 4.输出复数C2 *
* 5.求C1和C2的和 *
* 6.求C1和C2的差 *
* 7.求C1和C2的积 *
* 8.求C1和C2的商 *
* 0.结束 *
*****************************
四 详细设计
步骤1:复数的抽象数据类型的定义。
ADT Complex{
数据对象:D={a,b|a,b∈FloatSet }
数据关系:R={ |a,b ∈D }
基本操作:
InitComplex(&C,vr,vi);
操作结果:构造一个复数,元素a,b分别被赋以参数vr,vi的值。
OutComplex(C);
操作结果:输出一个复数。
AddComplex(&C,C1,C2);
操作结果:求两个复数C1,C2之和,结果存入C。
SubComplex(&C,C1,C2);
操作结果:求两个复数C1,C2之差,结果存入C。
MulComplex(&C,C1,C2);
操作结果:求两个复数C1,C2的积,结果存入C。
} ADT Complex
步骤2:复数的存储结构及相关操作的声明。
复数的存储结构
#include
#include
typedef struct Complex
{
float real;
float image;
}Complex;
基本操作的声明:
Status InitComplex(&C,vr,vi);
操作结果:构造一个复数,元素a,b分别被赋以参数vr,vi的值。
void OutComplex(C);
操作结果:输出一个复数。
Complex AddComplex(&C,C1,C2);
操作结果:求两个复数C1,C2之和,结果存入C。
Complex SubComplex(&C,C1,C2);
操作结果:求两个复数C1,C2之差,结果存入C。
Comp