2014-09-12 48 views
0

我的問題狀態:使用while或do/while循環編寫程序以生成轉換度數爲弧度的轉換表。度數值從0度開始,遞增10並且遍歷360度。C++簡介:生成一個轉換表,用於將度轉換爲弧度,while或do/while循環

我非常,在一般編碼很新,這是我的C++類

我想出這個至今:

#include <iostream> 

using namespace std; 

int main() 
{ 
    double degrees, radians, degree1  

    do 
     { 
      radians = 3.14159265/180 
      degree1 = (0 * radians) 
      degrees = (degree1 + 10) * radians; 
     } 
    while (degrees > 360); 

    return 0; 
} 

不過,我不知道對do-while循環有很大的把握,而且我有麻煩讓代碼運行。任何提示將非常感謝!

+0

請注意'degree1'將始終等於0.我懷疑這就是你想要發生的事情。 – 2014-09-12 19:26:18

+0

degree1 =(0 *弧度);它總是等於0.0 – willll 2014-09-12 19:27:16

+0

有一件事 - 你需要爲你的表存儲多個數字。在你的課本中查找'array'。你也缺少很多';'字符。 – Steve 2014-09-12 19:30:18

回答

0

do-while保證至少要完成1個循環,並且它將循環到while條件滿足爲止。然後,您必須將其更改爲<=360以達到您的目的。下面的代碼做你想要的:

#include <iostream> 
using namespace std; 

double deg2rad(double deg) 
{ 
    return deg*3.14159265/180.f; 
} 

int main() 
{ 
    double degrees = 0; 
    do 
    { 
     cout << degrees << "\t" << deg2rad(degrees) << std::endl; 
     degrees += 10; 
    } 
    while (degrees <= 360); 
    return 0; 
} 

建議:嘗試使用boost常量。無論是C/C++常量還是Boost常量:How to use the PI constant in C++

+1

不要爲他做功課!通過引導他來幫助他學習。 – 2014-09-12 19:32:46

+0

來吧,她差不多完成了! – 2014-09-12 19:33:34

+0

因此,這段代碼不使用數組。它不是必需的組件嗎? – RebeccaM 2014-09-12 19:35:46

0

您可能想要有一個數組來存儲轉換。例如: degrees_to_radians[180] = 3.14

在do while循環中,使數組索引爲當前值(以度爲單位),並將其設置爲等於轉換爲弧度的度數值。

0

Do-While循環的結構是「儘管有些東西是真的」。從簡單的事情開始。既然這是班級任務,我不想給你答案,但我會舉一個類似的例子。

假設你想數到100五。你想在0開始,停止在100,並通過5增量所以,你會希望有一個執行 - 雖然這看起來是這樣的:

int count = 0; 
do { 
    count = count + 5;  // increment by 5 
    cout << count << endl; // print out the value of count 
} while (count <= 100); 

記住,循環將繼續,而說法是正確的。因此,在這種情況下,您將繼續執行「填充」,而count小於或等於100.您提供的示例代碼僅運行循環一次,因爲條件degrees > 360在執行循環內的計算之後爲假(之後是31.415 ...)。

我猜你剛學過For-Loops,現在應該做一些你通常使用For-Loop來做一些事情,而不是使用While/Do-While。如果你是做同樣的例子作爲一個for循環,它會是這樣的:

for (int count = 0; count <= 100; count += 5) { 
    cout << count << endl; // print out the value of count 
} 

現在,而不是打印出來的價值,做您的弧度/度的轉換並存儲在一個數組@泰勒說。

此外,請注意您的分號。