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

Вы используете неопределенных типов в 'сумма = нс - 2 * 180;' вам нужно переместить объявления выше, чтобы переместить 'Int нс и Int sum' выше этой линии – EdChum

+0

Где вы объявляете 'ns' и' sum'? Где вы их используете в первую очередь? – Elried

+0

Также вы используете 'std :: cin >> ns;', но затем попробуйте выполнить операцию над ним на вашей первой строке, которая не имеет смысла. – EdChum

ответ

1

Перед использованием идентификатора вы должны определить его. Компилятор не знает, что идентификаторы суммы и нс означает в этом фрагменте кода

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

Вы пытаетесь использовать sum и ns перед определением их.

определите ns и sum, а затем используйте их.

Например:

int ns; 
int sum; 

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

'ns' будет иметь унифицированное значение мусора здесь – EdChum

+0

@EdChum: Спасибо! Я внес изменения. – bhavesh