2015-05-28 152 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