2014-09-12 63 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 
} 

现在,而不是打印出来的价值,做您的弧度/度的转换并存储在一个数组@泰勒说。

此外,请注意您的分号。