版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实 验 报 告学 院: 信息工程学院 专 业: 计算机 信息工程学院计算机实验中心制数据结构实验报告姓名学号日期2011.3.25 7-8节实验室计算机基础实验室指导教师张有华设备编号实验题目实验1 抽象数据类型复数的实现一 实验内容实验1 抽象数据类型复数的实现二 实验目的1. 了解抽象数据类型(adt)的基本概念,及描述方法。2. 通过对复数抽象数据类型adt的实现,熟悉c语言语法及程序设计。为以后章节的学习打下基础。三 需求分析复数抽象数据类型adt的描述及实现。 复数adt的描述 adt complex 数据对象:d= c1,c2 c1,c2floatset 数据关系:r= c1, c
2、2 d 基本操作:创建一个复数 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(&
4、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 complexfloat real;float image;complex;基本操作的声明:status initcomplex(&c,vr,vi);操作结果:构造一个复数,元素a,b分别被赋以参数vr,v
5、i的值。void 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的值sta
6、tus initcomplex(complex &c, float vr, float vi) c.real = vr; c.image =vi; return ok;/输出一个复数void outcomplex(complex c) printf(c.real“+”c.image“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之
7、差,结果存入ccomplex subcomplex(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
8、; return c; /求两个复数c1,c2的商,结果存入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
9、 stdafx.h#include complex0515.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
10、);printf( * 7.求c1和c2的积 * n);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.initc
11、omplex(c1,vr,vi); printf(c1=); 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: c.scomplex(c,c1,c2); /求两个复数的商 printf(c1/c2=); c.outcomplex(c); break; case 0: printf(结束n); flag1=1; break; default: printf(输入不合法!n); break;/switchif(flag1=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 样条方法在二元非经典扩散问题求解中的应用与探究
- 关爱鼻腔健康 畅享清新呼吸全国爱鼻日主题班会
- 湖南省娄底新化县联考2026届中考一模生物试题含解析
- 2026届陕西省渭南市富平县中考五模生物试题含解析
- 黑龙江省哈尔滨市依兰县市级名校2026届中考生物考试模拟冲刺卷含解析
- zcs拼音教学教案
- 廉洁行医教育课件
- 医德医风提升课件
- 【语文】《五代史伶官传序》同步课件 2025-2026学年统编版高二语文选择性必修中册
- 2026年从零到精通租房合同协议书由谁拟的
- 甘肃省2023年中考:《语文》考试真题与参考答案
- 《电力设备典型消防规程》考试复习题库(含答案)
- 加热炉推料结构设计论文(1)-学位论文
- 桥梁工程量清单
- 河北人社APP认证操作指南
- 英语人教新目标七年级下册My favorite animals
- CB/T 615-1995船底吸入格栅
- 大姜优质高产栽培管理技术课件
- 马工程西方经济学(第二版)教学课件-8
- (完整)普洱茶介绍ppt
- 园林景观小品景观工程施工设计方案
评论
0/150
提交评论