2015-05-28 138 views
-5

我对C++非常新颖,我只是写了这个代码,要求你输入,并且它变成了变量,经历了计算,并给出了输出。我得到的编译错误说'int ns'和'int sum'是无效的。编译错误? (C++)

#include <iostream> 

    int main() { 

     sum = ns - 2 * 180; 

     std::cout << "Enter the number of sides"; 

     int ns; 
     int sum; 

     std::cin >> ns; 

     sum = ns * 180 - 360; 

     std::cout << "The sum of all of the interior angles is" << sum; 
     system("PAUSE"); 
    } 

有人可以告诉我这里的错吗?

+0

你在'总和= NS使用一个未定义的类型 - 2 * 180;'你需要移动的声明更高,从而移动'诠释NS和上面那行sum'诠释 – EdChum

+0

你在哪里声明'ns'和'sum'?你先在哪里使用它们? – Elried

+0

你也可以使用'std :: cin >> ns;'然后在你的第一行上尝试一下操作,这是没有意义的 – EdChum

回答

1

在使用标识符之前,您必须定义它。编译器不知道什么标识符和与NS在此代码片断意味着

int main() { 

    sum = ns - 2 * 180; 

而且纳秒甚至没有被初始化。

看来,你应该简单地删除这两个语句

sum = ns - 2 * 180; 

    std::cout << "Enter the number of sides"; 

程序看起来像

#include <iostream> 
#include <cstdlib> 

int main() { 

    int ns; 
    int sum; 

    std::cin >> ns; 

    sum = ns * 180 - 360; 

    std::cout << "The sum of all of the interior angles is " << sum << std::endl; 
    system("PAUSE"); 
} 
1

您正在试图确定他们之前使用sumns

定义nssum然后使用它们。

例如:

int ns; 
int sum; 

//take input etc. 
sum = ns - 2 * 180; 
.............. 
+0

'ns'将在这里有单位垃圾值 – EdChum

+0

@EdChum:谢谢!我做了改变。 – bhavesh