首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请帮小弟我看一下这程序

2012-02-10 
请帮我看一下这程序#include iostream.hstruct complex{double rdouble i}complex add(complex c1, c

请帮我看一下这程序
#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通过

热点排行