《数据结构》实验报告抽象数据类型复数的实现

上传人:cn****1 文档编号:505661847 上传时间:2023-10-12 格式:DOC 页数:12 大小:89KB
返回 下载 相关 举报
《数据结构》实验报告抽象数据类型复数的实现_第1页
第1页 / 共12页
《数据结构》实验报告抽象数据类型复数的实现_第2页
第2页 / 共12页
《数据结构》实验报告抽象数据类型复数的实现_第3页
第3页 / 共12页
《数据结构》实验报告抽象数据类型复数的实现_第4页
第4页 / 共12页
《数据结构》实验报告抽象数据类型复数的实现_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《《数据结构》实验报告抽象数据类型复数的实现》由会员分享,可在线阅读,更多相关《《数据结构》实验报告抽象数据类型复数的实现(12页珍藏版)》请在金锄头文库上搜索。

1、实 验 报 告学 院: 信息工程学院 专 业: 计算机 信息工程学院计算机实验中心制数据结构实验报告姓名学号日期 7-8节实验室计算机基础实验室指导教师张有华设备编号实验题目实验1 抽象数据类型复数的实现一 实验内容实验1 抽象数据类型复数的实现二 实验目的1. 了解抽象数据类型(ADT)的基本概念,及描述方法。2. 通过对复数抽象数据类型ADT的实现,熟悉C语言语法及程序设计。为以后章节的学习打下基础。三 需求分析复数抽象数据类型ADT的描述及实现。 复数ADT的描述 ADT complex 数据对象:D= c1,c2 c1,c2FloatSet 数据关系:R= c1, c2 D 基本操作:

2、创建一个复数 InitComplex(); 输出一个复数 OutComplex(); 求两个复数相加之和 AddComplex(); 求两个复数相减之差 SubComplex(); 求两个复数相乘之积 MulComplex(); 求两个复数的商 SComplex(); 等等; ADT complex;本实验实现使用TC2.0实现复数的描述及操作。具体实现要求:1从键盘分别输入2个复数,并可修改已输入的复数。2能输出指定的复数。3两个复数相加之和,观察输出结果。4两个复数相加之差,观察输出结果。5求两个复数相乘之积,观察输出结果。6.求两个复数的商,观察输出结果。7用户可看到如下界面: * *

3、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,bFloatSet 数据关系:R= |a,b D 基本操作:InitComplex(&C,vr,vi);操作结果:构造一个复数,元素a,b分别被赋以参数vr,vi的值。OutComplex(C);操作结果:输出一个复数。AddComplex(&C,C1,C2);

4、操作结果:求两个复数C1,C2之和,结果存入C。SubComplex(&C,C1,C2); 操作结果:求两个复数C1,C2之差,结果存入C。MulComplex(&C,C1,C2); 操作结果:求两个复数C1,C2的积,结果存入C。 ADT Complex步骤2:复数的存储结构及相关操作的声明。复数的存储结构#include #include typedef struct Complexfloat real;float image;Complex;基本操作的声明:Status InitComplex(&C,vr,vi);操作结果:构造一个复数,元素a,b分别被赋以参数vr,vi的值。void

5、OutComplex(C);操作结果:输出一个复数。Complex AddComplex(&C,C1,C2);操作结果:求两个复数C1,C2之和,结果存入C。Complex SubComplex(&C,C1,C2); 操作结果:求两个复数C1,C2之差,结果存入C。Complex MulComplex(&C,C1,C2); 操作结果:求两个复数C1,C2的积,结果存入C。Complex SComplex(&C,C1,C2);操作结果:求两个复数C1,C2的商,结果存入C。步骤3:复数的基本操作的实现。复数的基本操作:/构造一个复数,元素a,b分别被赋以参数vr,vi的值Status InitC

6、omplex(Complex &C, float vr, float vi) C.real = vr; C.image =vi; return OK;/输出一个复数void OutComplex(Complex C) eal“+”“i”);/求两个复数C1,C2之和,结果存入CComplex AddComplex(Complex &C,Complex C1,Complex C2); C.real = C1.real + C2.real; C.image = C1.image + C2.image; return C; /求两个复数C1,C2之差,结果存入CComplex SubComplex(

7、Complex &C,Complex C1,Complex C2) C.real = C1.real - C2.real; C.image = C1.image - C2.image; return C; /求两个复数C1,C2的积,结果存入CComplex MulComplex(Complex &C,Complex C1,Complex C2) C.real = C1.real * C2.real + C1.image * C2.image; C.image = C1.real * C2.image + C1.image * C2.real; return C; /求两个复数C1,C2的商,

8、结果存入CComplex SComplex(Complex &C, Complex C1, Complex C2)C.real = (C1.real * C2.real + C1.image * C2.image)/(C2.real * C2.real + C2.image * C2.image); C.image = (C1.image * C2.real - C1.real * C2.image)/(C2.real * C2.real + C2.image * C2.image);return C;步骤4:上机编程与调试 #include stdafx.h#include Complex0

9、515.h#include user.hint main(int argc, char* argv)int flag,flag1;float cr,ci,vr,vi;Complex c1,c2,C; CComplex0506 c;printf( * n);printf( * 1.输入复数C1 * n);printf( * 2.输入复数C2 * n);printf( * 3.输出复数C1 * n);printf( * 4.输出复数C2 * n);printf( * 5.求C1和C2的和 * n);printf( * 6.求C1和C2的差 * n);printf( * 7.求C1和C2的积 * n

10、);printf( * 8.求C1和C2的商 * n); printf( * 0.结束 * n); printf( * n);while(1)printf(请输入您的选择(08):);scanf(%d,&flag);switch(flag) case 1: printf(请分别输入复数C1的实部和虚部(空格隔开):); scanf(%f %f,&vr,&vi); break; case 2: printf(请分别输入复数C2的实部和虚部(空格隔开):); scanf(%f %f,&cr,&ci); break; case 3: c.InitComplex(c1,vr,vi); printf(C

11、1=); c.OutComplex(c1); /复数的初始化 break; case 4: c.InitComplex(c2,cr,ci); printf(C2=); c.OutComplex(c2); break; case 5: c.AddComplex(C,c1,c2); /求两个复数的和 printf(C1+C2=); c.OutComplex(C); break; case 6: c.SubComplex(C,c1,c2); /求两个复数的差 printf(C1-C2=); c.OutComplex(C); break; case 7: c.MulComplex(C,c1,c2); /求两个复数的积 printf(C1*C2=); c.OutComplex(C); break; case 8:Complex(C,c1,c2); /求两个复数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号