数据结构复数的实现与操作

上传人:宝路 文档编号:23508852 上传时间:2017-12-01 格式:DOC 页数:5 大小:36.51KB
返回 下载 相关 举报
数据结构复数的实现与操作_第1页
第1页 / 共5页
数据结构复数的实现与操作_第2页
第2页 / 共5页
数据结构复数的实现与操作_第3页
第3页 / 共5页
数据结构复数的实现与操作_第4页
第4页 / 共5页
数据结构复数的实现与操作_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《数据结构复数的实现与操作》由会员分享,可在线阅读,更多相关《数据结构复数的实现与操作(5页珍藏版)》请在金锄头文库上搜索。

1、/*/文件名: * * */作者:湖北科技学院 计科院 曹帅/日期:2013.10.28/功能:实现复数的基本操作/*/头文件#include#include#include#include#include/函数返回状态代码#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define INFEASIBLE -1#define OVERFLOW -2/使用动态分配的顺序存储结构typedef int Status;typedef int ElemType;typedef ElemType * Complex;Status Init

2、Complex(Complex &C,ElemType real,ElemType imag)/初始化一个复数C=(ElemType *)malloc(2*sizeof(ElemType);if(!C) exit(OVERFLOW);C0=real;C1=imag;return OK;/InitComplexStatus DestroyComplex(Complex &C)/销毁一个复数free(C);C=NULL;return OK;/DestroyComplexStatus GetReal(Complex C,ElemType &real)/获取复数的实数部分real=C0;return

3、OK;/GetRealStatus AddComplex(Complex C1,Complex C2,Complex &C3)/两个复数相加C3=(ElemType *)malloc(2*sizeof(ElemType);if(!C3) exit(OVERFLOW);C30=C10+C20;C31=C11+C21;return OK;/AddComplexStatus MultiplyComplex(Complex C1,Complex C2,Complex &C4)/两个复数相乘C4=(ElemType *)malloc(2*sizeof(ElemType);if(!C4) exit(OVE

4、RFLOW);C40=C10*C20-C11*C21;C41=C10*C21+C11*C20;return OK;/MutiplyComplexStatus SubComplex(Complex C1,Complex C2,Complex &C5)/两个复数相减C5=(ElemType *)malloc(2*sizeof(ElemType);if(!C5) exit(OVERFLOW);C50=C10-C20;C51=C11-C21;return OK;/SubComplexStatus DivComplex(Complex C1,Complex C2,Complex &C6)/两个复数相除C

5、6=(ElemType *)malloc(2*sizeof(ElemType);if(!C6) exit(OVERFLOW);C60=(C10*C20+C11*C21)/(C20*C20+C21*C21);C61=(C10*C21-C11*C20)/(C20*C20+C21*C21);return OK;/AddComplexvoid main()Complex C1,C2,C3,C4,C5,C6;ElemType real1,imag1,real2,imag2,temp;int select,i;while(1)printf(ntt*复数操作菜单*nn);printf(tt 1.复数的输入;

6、n);printf(tt 2.复数的输出;n);printf(tt 3.复数的四则运算;n);printf(tt 4.复数的实部获取;n);printf(tt 5.退出;nn);printf(tt*n);printf(tt 您的选择是 (1-5):);scanf(%d,&select);if(select 5|select 1)/限定输入选项printf(tt 输入错误 !n);printf(ttt 按任意键返回主菜单.n);system(cls);getch();switch(select)case 1:system(cls);/清屏;printf(nt*输入操作界面*n);printf(n

7、ttreal part: );scanf(%d,&real1);printf(ttimage part: );scanf(%d,&imag1);printf(nttreal part: );scanf(%d,&real2);printf(ttimage part: );scanf(%d,&imag2);InitComplex(C1,real1,imag1);/创建复数InitComplex(C2,real2,imag2);/创建复数,若无该部则无法执行下一步AddComplex(C1,C2,C3);MultiplyComplex(C1,C2,C4);SubComplex(C1,C2,C5);D

8、ivComplex(C1,C2,C6);printf(ttt 按任意键返回主菜单.n);system(cls);/清屏;getch();/返回主菜单;break;case 2:system(cls);/清屏;printf(t *输出操作界面*n);printf(nttComplex 1 is: (%d + %di)n,C10,C11);printf(ttComplex 2 is: (%d + %di)n,C20,C21);printf(ttt 按任意键返回主菜单.n);getch();system(cls);/清屏system(cls);break;case 3:system(cls);/清屏

9、printf(t*四则运算界面*n);printf(nttThe Add : n);printf(tt(%d+%di) + (%d+%di)= %d + %din,C10,C11,C20,C21,C30,C31);printf(nttThe Mut : n);printf(tt(%d+%di) * (%d+%di)= %d + %din,C10,C11,C20,C21,C40,C41);printf(nttThe Sub : n);printf(tt(%d+%di) - (%d+%di)= %d + %din,C10,C11,C20,C21,C50,C51);printf(nttThe Div

10、 : n);if(C61 = 0)printf(tt(%d+%di) / (%d+%di)= %d n,C10,C11,C20,C21,C60);elseprintf(tt(%d+%di) / (%d+%di)= %d + %din,C10,C11,C20,C21,C60,C61);printf(ttt 按任意键返回主菜单.n);getch();system(cls);break;case 4:system(cls);/清屏printf(tt*实部获取界面*n);printf(nttWhich real part want to get(1 or 2) ? );scanf(%d,&i);if(

11、i!=1&i!=2)printf(ttInput error!n);else if(i=1) GetReal(C1,temp);printf(ttFisrt complexs real part is: %dn,temp);else GetReal(C2,temp); printf(ttSeconed complexs real part is: %dn,temp);printf(ttt 按任意键返回主菜单.n);getch();system(cls);break;case 5:printf(tt 成功退出 !n);DestroyComplex(C1);/销毁复数DestroyComplex(C2);DestroyComplex(C3);DestroyComplex(C4);/销毁复数DestroyComplex(C5);DestroyComplex(C6);return ;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

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