复数ADT及其实现
运行程序,输入下列运行程序,输入下列两个复数的实部与虚部,记录两个复数相加,相减,相乘的结果。两个复数的实部与虚部,记录两个复数相加,相减,相乘的结果。
思路:结构体
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
struct comp{//建立结构体
float x;
float y;
};
comp a,b,cnt_add,cnt_sub,cnt_chengji;//全局变量
int z;
void creat(comp* c);//创建复数
void outputc(comp a);//输出复数
comp add(comp k,comp h);//复数相加
comp sub(comp k,comp h);//复数相减
comp chengji(comp k,comp h);//复数相乘
int main(){//主函数
creat(&a); outputc(a);
creat(&b); outputc(b);
cnt_add=add(a,b); outputc(cnt_add);
cnt_sub=sub(a,b); outputc(cnt_sub);
cnt_chengji=chengji(a,b); outputc(cnt_chengji);
return 0;
}
void creat(comp* c){
float c1,c2;
cout << "输入实部 real=? "; cin >> c1;
cout << "输入虚部 xvpu=? "; cin >> c2;
(*c).x=c1;c->y=c2;
}
void outputc(comp a){
if(a.y<0) printf("\n %f%fi \n\n",a.x,a.y);
else printf("\n %f+%fi \n\n",a.x,a.y);
}
comp add(comp k,comp h){
comp l;
l.x=k.x+h.x;
l.y=k.y+h.y;
return l;
}
comp sub(comp k,comp h){
comp l;
l.x=k.x-h.x;
l.y=k.y-h.y;
return l;
}
comp chengji(comp k,comp h){
comp l;
l.x=k.x*h.x;
l.y=k.y*h.y;
return l;
}