首页 新闻 会员 周边

十几行代码的东西而已 路过别错过。。!新手求解答。。。。

0
悬赏园豆:80 [已关闭问题]
这是一段用结构体来实现求复数加减乘运算的代码,为什么声明complex类型的结构体放进main函数就出错了呢???
代码
#include<iostream.h>
struct complex
{
float real,image;
}s1,s2;
void add(complex a,complex b){
complex c;
c.image
=a.image+b.image;
c.real
=a.real+b.real;
cout
<<c.real<<" "<<c.image;
}
void minus(complex a,complex b){
complex c;
c.image
=a.image-b.image;
c.real
=a.real-b.real;
cout
<<c.real<<" "<<c.image;
}
void times(complex a,complex b){
complex c;
c.real
=a.real*b.real-a.image*b.image;
c.image
=a.real*b.image+b.real*a.image;
cout
<<c.real<<" "<<c.image;
}
void main()
{

complex s1,s2;
cout
<<"please enter the 2 complex:"<<endl;
cin
>>s1.real>>s1.image>>s2.real>>s2.image;
add(s1,s2);
minus(s1,s2);
times(s1,s2);
}

 

我不喝奶茶的主页 我不喝奶茶 | 初学一级 | 园豆:120
提问于:2010-05-22 18:13
< >
分享
其他回答(3)
0

#include <iostream>

using namespace std;

 

 

 

我是这样   然后编译没错...

edwardlol | 园豆:205 (菜鸟二级) | 2010-05-22 18:30
0

C嘎嘎啊,大学时候的东西了啊

小AI | 园豆:354 (菜鸟二级) | 2010-05-22 18:52
0

用C的时候通常就是include中包含“.h” 用CPP的时候通常就不要加 这个是CPP吧 虽然没用到面向对象 但是用到了cin和cout 这种数据流的现实法是CPP有的 属于混搭 开头改为#include "iostream.h"和using namespace std;应该就没错了!

Glawind | 园豆:205 (菜鸟二级) | 2010-05-23 09:11
加了 .h 就不用 using namespace std; 了吧 刚看了这个 http://www.cppblog.com/majianan/archive/2006/09/02/11727.html
支持(0) 反对(0) edwardlol | 园豆:205 (菜鸟二级) | 2010-05-23 10:28
0

struct complex
{
    float real,image;
}s1,s2; 你这里不是定义了两个complex类型的s1,s2了吗,你的main函数里怎么又定义一次啊?!
void main()
{

    complex s1,s2;
}
这个complex s1,s2;重复定义了,去掉,直接使用全局的s1,s2

struct complex
{
    float real,image;
}s1,s2;
 放到main函数里来声明?!!!肯定错的嘛?你在main里声明的这个结构体complex是局部变量,只能在main函数里可见,出了main函数就不能用了,你那些main函数外面的add(),times()函数是全局函数,但是对complex不可见,用不了complex,所以当然会出错咯

凌未风 | 园豆:395 (菜鸟二级) | 2010-05-23 19:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册