Помогите с кодом

#include <iostream>
using namespace std;

int main()
{
setlocale (0, "");
double num;
cout << "ââåäèòå ÷òî õîòèòå ñäåëàòü: 1.ñëîæåíèå 2.âû÷èòàíèå 3.äåëåíèå 4.óìíîæåíèå ";
cin >> num;

if (num == 1) 
    int a, b;
    cout << "ââåäèòå ïåðâîå ñëàãàåìîå";
    cin >> a;
    cout << "ââåäèåò âòîðîå ñëàãàåìîå";
    cin >> b;
    int c = a + b;
    cout << "ñóììà ÷èñåë ðàâíà" << c << endl;

if (num == 2) 
    int q, w;
    cout << "ââåäèòå óìåíüøàåìîå";
    cin >> q;
    cout << "ââåäèåò âû÷åòàåìîå";
    cin >> w;
    int d = q - w;
    cout << "ðàçíîñòü ÷èñåë ðàâíà" << d << endl;

if (num == 3)
    int e, r;
    cout << "ââåäèòå äåëèìîå";
    cin >> e;
    cout << "ââåäèòå äåëèòåëü";
    cin >> r;
    int f = e / r;
    cout << "÷àñòíîå ÷èñåë ðàâíî" << f << endl;

if (num ==4)
int t, y;
    cout << "ââåäèòå ïåðâûé ìíîæèòåëü";
    cin >> t;
    cout << "ââåäèåò âòîðîé ìíîæèòåëü";
    cin >> y;
    int k = t * y;
    cout << "ïðîèçâåäåíèå ÷èñåë ðàâíî" << k << endl;
    return 0;
    }

Ошибка заключается в том, что у тебя тела всех четырех операторов if не заключены в фигурные скобки.
Так код будет работать

#include <iostream>
using namespace std;

int main()
{
setlocale (0, "");
double num;
cout << "ââåäèòå ÷òî õîòèòå ñäåëàòü: 1.ñëîæåíèå 2.âû÷èòàíèå 3.äåëåíèå 4.óìíîæåíèå ";
cin >> num;

if (num == 1){ 
    int a, b;
    cout << "ââåäèòå ïåðâîå ñëàãàåìîå";
    cin >> a;
    cout << "ââåäèåò âòîðîå ñëàãàåìîå";
    cin >> b;
    int c = a + b;
    cout << "ñóììà ÷èñåë ðàâíà" << c << endl;
}
if (num == 2) {
    int q, w;
    cout << "ââåäèòå óìåíüøàåìîå";
    cin >> q;
    cout << "ââåäèåò âû÷åòàåìîå";
    cin >> w;
    int d = q - w;
    cout << "ðàçíîñòü ÷èñåë ðàâíà" << d << endl;
}
if (num == 3){
    int e, r;
    cout << "ââåäèòå äåëèìîå";
    cin >> e;
    cout << "ââåäèòå äåëèòåëü";
    cin >> r;
    int f = e / r;
    cout << "÷àñòíîå ÷èñåë ðàâíî" << f << endl;
}
if (num ==4){
int t, y;
    cout << "ââåäèòå ïåðâûé ìíîæèòåëü";
    cin >> t;
    cout << "ââåäèåò âòîðîé ìíîæèòåëü";
    cin >> y;
    int k = t * y;
    cout << "ïðîèçâåäåíèå ÷èñåë ðàâíî" << k << endl;
}
    return 0;
    }

Я думаю, что твой код нужно немного переделать. Незачем объявлять столько переменных для вычисления всего одного ответа. Нет надобности дублировать четыре раза ввод чисел и вывод ответа. Да и минимальную защиту от дурака тоже нужно предусмотреть.
В общем, вот код, как вариант

#include <iostream>

using namespace std;

int main()
{
    int choice; // выбор
    double a, b, answ;  // a, b - вводимые числа; answ - ответ
    a = b = answ = 0;

    cout << "Make a choice\n"
        "1. Addition\n"
        "2. Subtraction\n"
        "3. Multiplication\n"
        "4. Dividing\n"
        "Your choice: ";

    cin >> choice;  // выбор действия

    if (0 < choice && choice < 5){  // сюда попадаем если choice == 1, 2, 3 или 4
        cout << "a = ";
        cin >> a;
        cout << "b = ";
        cin >> b;
        if (1 == choice)
            answ = a + b;
        else if (2 == choice)
            answ = a - b;
        else if (3 == choice)
            answ = a * b;
        else if (4 == choice)
            answ = a / b;
        cout << "Answer: " << answ << "\n";
    }
    else        // сюда попадаем если неверный выбор
        cout << "Wrong choice. Bye.\n";

    return 0;
}

Кстати обрати внимание, что у меня в коде тела операторов if и else if не заключены в фигурные скобки, так как в них находится один оператор,

        if (1 == choice)
            answ = a + b;
        else if (2 == choice)
            answ = a - b;
        else if (3 == choice)
            answ = a * b;
        else if (4 == choice)
            answ = a / b;

а все тело оператора if, в котором находится эта конструкция заключена в фигурные скобки, так как в нем — более одного оператора.

if (0 < choice && choice < 5){  // сюда попадаем если choice == 1, 2, 3 или 4
        cout << "a = ";
        cin >> a;
        cout << "b = ";
        cin >> b;
        if (1 == choice)
            answ = a + b;
        else if (2 == choice)
            answ = a - b;
        else if (3 == choice)
            answ = a * b;
        else if (4 == choice)
            answ = a / b;
        cout << "Answer: " << answ << "\n";
    }

ребят, ещё подскажите пож. код тот же самый. когда запускаю программу из dev++, то она нормально работает, но когда с раб стола — вылетает

Перед оператором return 0; поставь оператор cin.get(); (в некоторых случаях нужно ставить два таких оператора) или system("pause");

По отдельности не канает. Попробую вместе

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.