读书人

请帮小弟我看一下这程序

发布时间: 2012-02-10 21:27:41 作者: rapoo

请帮我看一下这程序
#include "iostream.h"


struct complex{
double r;
double i;
};

complex add(complex c1, complex c2);

void out(complex &c);

void main(){
complex tmp, c0={1,2},cA[5]={{3,6},{-3,-2},{2,-8},{-5,-8},{1,0}};
for(int i=0; i<5; i++){
tmp=add(c0,cA[i]);
out(tmp);
}
}

complex add(complex c1, complex c2){
int i;
c2[i].r=c1.r+c2[i].r;
c2[i].i=c1.i+c2[i].i;
return(c2);
}

void out(complex &c){
for(int i=0; i<5; i++)
cout<<"("<<c[i].r<<","<<c[i].i<<")"<<endl;
}

[解决办法]
return(c2);

add函数改变的是c2的拷贝,出了函数后,其拷贝就销毁了
[解决办法]
struct complex{
double r;
double i;
};

complex add(complex c1, complex c2);

void out(complex &c);

void main(){
complex tmp, c0={1,2},cA[5]={{3,6},{-3,-2},{2,-8},{-5,-8},{1,0}};
for(int i=0; i <5; i++){
tmp=add(c0,cA[i]);
out(tmp);
}
}

complex add(complex c1, complex c2){
// int i;
c2.r=c1.r+c2.r;
c2.i=c1.i+c2.i;
return(c2);
}

void out(complex &c){
for(int i=0; i <5; i++)
cout <<"("<<c.r <<"," <<c.i << ")" <<endl;
}
[解决办法]
你的out函数的实现给弄丢了
[解决办法]
#include "stdafx.h"
#include <iostream.h>


struct complex
{
double r;
double i;
};

complex add(complex c1, complex c2);

void out(complex &c);

void main()
{
complex tmp, c0={1,2},cA[5]={{3,6},{-3,-2},{2,-8},{-5,-8},{1,0}};
for(int i=0; i <5; i++)
{
tmp=add(c0,cA[i]);
out(tmp);
}
}

complex add(complex c1, complex c2)
{
int i;
c2.r=c1.r+c2.r;
c2.i=c1.i+c2.i;
return(c2);
}

void out(complex &c)
{
for(int i=0; i <5; i++)
cout <<"(" <<c.r <<"," <<c.i <<")" <<endl;
}
[解决办法]
是啊是啊,void out(complex &c)函数声明了但是没有写实现呀~

C/C++ code
// test.cpp : 定义控制台应用程序的入口点。 
//

#include "stdafx.h"

using namespace std;

struct complex{
double r;
double i;
};

complex add(complex c1, complex c2);

void out(complex &c);

int _tmain(int argc, _TCHAR* argv[])
{
complex tmp, c0={1,2},cA[5]={{3,6},{-3,-2},{2,-8},{-5,-8},{1,0}};

for(int i=0; i <5; i++)
{
tmp=add(c0,cA[i]);
out(tmp);
}

cin.get();
return(0);
}


complex add(complex c1, complex c2){
// int i;


c2.r=c1.r+c2.r;
c2.i=c1.i+c2.i;
return(c2);
}

void out(complex &c)
{
cout < < "(" < < c.i < < "," < < c.r < < ") " ;
}




这样就好了~~VS2005通过

读书人网 >C++

热点推荐