2016-04-04 11 views
0

x、y座標を極座標に変換します。コードは、xとyの初期入力を要求するループです。それは決して極座標が何であるかを出力しません。コードが出力されず、ループ文が入力されます

#include <iostream> 
#include <math.h> 
using namespace std; 

int getrec(double x[], double y[]);        
void polar(double x, double y, double& r, double& theta);  
void showPolarCoord(double radius, double angle);    


const int SIZE = 100; 
const double toDegrees = 180.0/3.1415926; 
int main() 
{ 
    double x[SIZE];            
    double y[SIZE];            
    double distance[SIZE];           
    double angle[SIZE]; 
    double x_same[SIZE]; 
    double y_same[SIZE];            

    int count = getrec(x,y);         

    for (int i=0; i < count; i++) 
    { 
     x_same[i] = x[i] + 6; 
     y_same[i] = y[i] + 2; 
    } 
    for(int i=0; i < count; i++) 
    { 
     polar (x_same[i], y_same[i], distance[i], angle[i]); 
    } 
} 
    int getrec(double x[], double y[])       
{ int count = 0; 

    do 
    { cout << "Enter the x coordinate: ";     
     cin >> x[count]; 
     cout << "Enter the y coordinate: ";     
     cin >> y[count]; 
     count++; 
    } 
    while(count < SIZE && (x[count -1] != 0) && (y[count -1] != 0)); 
    return count; 
} 


void polar(double x, double y, double& r, double& theta)  
{     
    r = sqrt((pow(x,2))+(pow(y,2)));  
    theta = atan(y/x) * toDegrees;        
    return; 
} 

void showPolarCoord(double radius, double angle)   
{ 
    cout << "The polar coordinates are: " << showPolarCoord << endl; 

    return; 
} 
+1

showPolarCoord()関数で正確に何をしようとしていますか?あなたのcoutステートメントを見て、 'showPolarCoord'があなたが探しているものではない –

+0

'showPolarCoord'を決して呼び出さないと、どのように動くと思いますか? 'cout <<"極座標は: "<< showPolarCoord << endl;'は関数のアドレスを値ではなく出力します。 – NathanOliver

+0

@ NathanOliver値を印刷するにはどうすれば編集できますか? –

答えて

1

問題1: あなたshowPolarCoord()では、あなたのcout文は関数のアドレスを印刷しています。これは、最終的には印刷したくない機能の名前を入力すると発生します。

何がしたいことは、この(角度と半径のうちの極角を計算するための右の式を置くことを除い)のようなものです:あなたは関数を呼び出す必要があり :

void showPolarCoord(double radius, double angle)   
{ 
    cout << "The polar coordinates are: " << radius * angle << endl; 
} 

問題2 showPolarCoord()を実際にその機能を使用するためにmain()に置き換えてください。しかし、あなたはしませんでした。

問題3: これは混乱です。 main()では、これら2つのステートメントを使用して何を達成しようとしていますか?

while(count < SIZE && (x[count -1] != 0) && (y[count -1] != 0)); 
return count; 
+1

OPも関数を呼び出す必要があります。彼らは現在のコードではありません。 – NathanOliver

+0

修正。ありがとう、私は編集します。 –

+0

ええ、今私はそれを呼び出さなかったことを認識しています。私はそれに関連する数学を完全に理解していないので、これをどのように呼び出すか正直に不明です。私はこれを手伝ってくれている友人を使っています(私のためにそれを書いてくれるのではなく、私を導いてくれる人)。それで、問題3で何をしているのか分かりません。 –