Почему этот код не запускается? [Новичок] [закрыт]

0

Я только что поднял "Прыжки в C++" вчера и решил выйти на улицу самостоятельно. Знакомый с заявлениями "если" так давно с Java, я сделал это для удовольствия:

#include <iostream>

using namespace std;

int main()
{
    int first;
    int second;
    int choice;
    int final;
    cout << "Enter your first number:" <<;
    endl;
    cin >> first >> ;
    cout << "Enter your second number:" <<;
    endl;
    cin >> second >> ;
    cout << "Would you like to 1. Add 2. Subtract 3. Multiply 4. Or divide these                numbers?" << endl;
if (choice = 1){
    final = first + second;
    cout << "Your answer is: " << final <<;
    return 0;
}
if (choice = 2){
    final = first - second;
    cout << "Your answer is: " << final <<;
    return 0;
}
if (choice = 3){
    final = first * second;
    cout << "Your answer is: " << final <<;
    return 0;

}
if (choice = 4){
    final = first / second;
    cout << "Your answer is: " << final <<;
    return 0;
}
else{
    cout << "You probably typed something wrong! Remember, hit your number and hit enter, nothing else!" << endl;
    cout << "Ending program." << endl;
    return 0;
}

}

Почему эта программа не работает должным образом?

  • 8
    В C ++, как и в Java, = означает «назначить», а == означает «сравнить на равенство».
  • 2
    Что еще нужно изучить, так это описать проблемы. Вы спросили: «Почему эта программа не может работать правильно?» но не описал, что он делает, когда работает, и что вы ожидали. Не думайте, что мы знаем, как ваша программа должна работать. Вы должны сказать нам, что вы хотели, и что вы получили вместо этого.
Теги:

5 ответов

1
Лучший ответ

У вас еще больше проблем:

cin >> first >> ;

Обратите внимание на последнее >>. Этот недопустимый код, это синтаксическая ошибка. Ваш компилятор должен был рассказать вам об этом.

У вас их много в вашей программе. Удалите последние >> или << которые не имеют значения, исходящего из них. Это должно устранить большинство ваших ошибок.

4

Оператор для проверки равенства равен ==, not =

2

В ваших случаях if вы должны использовать операторы Comparison (например, ==), но вы используете оператор Assignment (=).

Проверьте это для получения дополнительной информации: http://en.wikipedia.org/wiki/Operators_in_C_and_C++

2

Вариант choice = 1 назначает выбор 1, затем оператор if проверяет, не является ли choice ненулевым. Это означает, что все тела операторов if будут выполняться. Вы имели в виду choice == 1, который проверяет, имеет ли выбор 1.

2

= обозначает назначение, == означает проверку равенства. Измените if(choice = 1) на if(choice==1) и так далее для остальных операторов if.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню