程序的要求如下所述:1、有数的实部和虚部生成一个复数(默认输入两组);2、两个复数求和;3、两个复数求差;4、两个复数求和;5、从已知的复数中分离出实部6、从已知的复数中分离出虚部。运算结果以相应的复数和实数的表现形式显示。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <conio.h>
typedef struct{
float real;
float image;
}complex;
int createcomplex(complex z,float x,float y){
complex z;
z.real=x;
z.image=y;
return z;
}
int addcomplex(complex &z,complex &z1,complex &z2){
complex z;
z.real = z1.real + z2.real;
z.image = z1.image + z2.image;
return z;
}
int subcomplex(complex &z,complex &z1,complex &z2){
complex z;
z.real = z1.real - z2.real;
z.imag = z1.image - z2.image;
return z;
}
int xiangchencomplex(complex &z,complex &z1,complex &z2){
complex z;
z.real = z1.real * z2.real - z1.image * z2.image;
z.image = z1.image * z2.real + z1,real * z2.image;
return z;
}
int getreal(complex &z,float real){ /int getimage(complex &z,float image){ //* 有问题
complex z;
image=z.image;
return image;
}
int menu_select(){int sn;
printf ("请选择操作项目!");
printf ("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
printf ("@@@@@@@@@@ 1、请输入复数 @@@@@@@@@@@");
printf ("@@@@@@@@@@ 2、加法 @@@@@@@@@@@");
printf ("@@@@@@@@@@ 3、减法 @@@@@@@@@@@");
printf ("@@@@@@@@@@ 4、乘法 @@@@@@@@@@@");
printf ("@@@@@@@@@@ 5、输出实部 @@@@@@@@@@@");
printf ("@@@@@@@@@@ 6、输出虚部 @@@@@@@@@@@");
printf ("@@@@@@@@@@ 7、退出 @@@@@@@@@@@");
printf ("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
scanf ("%d",&sn);
if (sn<1||sn>7)
cout<<"出错!重新输入!"<<endl;
else
return sn;
}
int main(){
complex z,z1,z2;
float x,y,image,real;
switch (int sn){
case 1:{
cout<<"请输入第一个复数的值:\n";
cin>>x>>y;
int createcomplex(complex Z1,float x,float y);
cout<<Z1<<endl;
cout<<"请输入第二个复数的值:\n";
cin>>x>>y;
int createcomplex(complex Z2,float x,float y);
cout<<Z2<<endl;}
break;
case 2:{
cout<<"将两个复数相加,输出结果:"<<endl;
int addcomplex(complex &z,complex &Z1,complex &Z2)
cout<<z<<endl; } break;
case 3:{
cout<<"将两个复数相减,输出结果:"<<endl;
int subcomplex(complex &z,complex &Z1,complex &Z2);
cout<<z<<endl;} break;
case 4:{
cout<<"将两个复数相乘,输出结果:"<<endl;
int xiangchencomplex(complex &z,complex &Z1,complex &Z2);
cout<<z<<endl;} break;
case 5:{
cout<<"输出复数的实部"<<endl;
int getreal(complex &z,float real);
cout<<real;}break;
case 6:{
cout<<"输出复数的虚部"<<endl;
int getreal(complex &z,float image);
cout<<image<<endl;}break;
case 7:return 0;
}
cout<<"thank you!"<<endl;
system("pause");
}