回 帖 发 新 帖 刷新版面

主题:帮帮我

帮帮忙,我是新手,不知道我编的程序哪里错了,可能听多错误的帮忙呀。谢谢#include <iostream.h>
struct F
{float r,i;};
void CreateF(struct F s)
{
cout<<"此复数为:";
if(s.r==0&&s.i!=0)
cout<<s.i<<"i"<<endl;
else if(s.r!=0&&s.i==0)
cout<<s.real<<endl;
else if(s.r==0&&s.i==0)
cout<<"0"<<endl;
else cout<<s.r<<"+("<<s.i<<"i)"<<endl;
}
void AddF(struct F s1,struct F s2,struct F s3)
{cin>>s1.r>>s1.i>>s2.r>>s2.i;
        s3.r=s1.r+s2.r;
    s3.i=s1.i+s2.i;
CreateF(struct F s3);
}
void SubF(struct F s1,struct F s2,struct F s3)
{cin>>s1.r>>s1.i>>s2.r>>s2.i;
s3.r=s1.r-s2.r;
s3.i=s1.i-s2.i;
CreateF(struct F s3);
}
void MultF(struct F s1,struct F s2,struct F s3)
{cin>>s1.r>>s1.i>>s2.r>>s2.i;
s3.r=s1.r*s2.r-s1.i*s2.i;
s3.i=s1.r*s2.i+s1.i*s2.r;
CreateF(struct F s3);
}
void SeparateReal(struct F s)
{cin>>s.r>>s.i;
cout<<"复数"<<s.r<<"+("<<s.i<<"i)的实部是:"<<s.r<<endl;}
void SeparateImagine(struct F s)
{cin>>s.r>>s.i;
cout<<"复数"<<s.r<<"+("<<s.i<<"i)的虚部是:"<<s.i<<endl;}
void main()
{struct F s,s1,s2,s3;
cin>>s.r>>s.i;
CreateF(s);
AddF(s1,s2,s3);
Subf(s1,s2,s3);
MultF(s1,s2,s3);
SeparateReal(s1);
SeparateImagine(s1);
}

回复列表 (共3个回复)

沙发

你编程是干什么用的?可以先说明一下!
这样子我们也好改一些。

板凳


是那五个函数分别求输出复数,求两复数之和、之差、之积,分离实部和分离虚部的,可能编输入的地方编错了。应该在主函数里输入值的。
谢谢啦,各位!!!

3 楼

你的程序错误太多,基本的语法都错:
可读性和界面友好性几乎就没有。
继续努力啊:

我在你的程序上基本该了一下:

#include <iostream>
using namespace std;
struct F
{
    float r,i;
};
void CreateF(struct F s)
{
cout<<"此复数为:";
if(s.r==0&&s.i!=0)
cout<<s.i<<"i"<<endl;
else if(s.r!=0&&s.i==0)
cout<<s.r<<endl;            
else if(s.r==0&&s.i==0)
cout<<"0"<<endl;
else cout<<s.r<<"+("<<s.i<<"i)"<<endl;
}
void AddF(struct F s1,struct F s2,struct F s3)

    cout<<endl<<"请输入两个复数:";
    cin>>s1.r>>s1.i>>s2.r>>s2.i;
        s3.r=s1.r+s2.r;
    s3.i=s1.i+s2.i;
    cout<<endl<<"两个复数相加结果为:";
CreateF(s3);
}
void SubF(struct F s1,struct F s2,struct F s3)
{
cout<<endl<<"请输入两个复数:";
cin>>s1.r>>s1.i>>s2.r>>s2.i;
s3.r=s1.r-s2.r;
s3.i=s1.i-s2.i;
    cout<<endl<<"两个复数相减结果为:";
CreateF(s3);
}
void MultF(struct F s1,struct F s2,struct F s3)
{
cout<<endl<<"请输入两个复数:";
cin>>s1.r>>s1.i>>s2.r>>s2.i;
s3.r=s1.r*s2.r-s1.i*s2.i;
s3.i=s1.r*s2.i+s1.i*s2.r;
cout<<endl<<"两个复数相乘结果为:";
CreateF(s3);
}
void SeparateReal(struct F s)
{
cout<<endl<<"请输入一个复数:";
cin>>s.r>>s.i;
cout<<"复数"<<s.r<<"+("<<s.i<<"i)的实部是:"<<s.r<<endl;
}
void SeparateImagine(struct F s)
{
    cout<<endl<<"请输入一个复数:";
cin>>s.r>>s.i;
cout<<"复数"<<s.r<<"+("<<s.i<<"i)的虚部是:"<<s.i<<endl;
}
void main()
{
struct F s,s1,s2,s3;
cout<<endl<<"请输入一个复数:";
cin>>s.r>>s.i;
CreateF(s);
AddF(s1,s2,s3);
SubF(s1,s2,s3);
MultF(s1,s2,s3);
SeparateReal(s1);
SeparateImagine(s1);
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册