Калькулятор. Не полностью работает.

Всем привет. Вот написал в электричке простой калькулятор на си++, только что то он не полностью работает, а именно:
действия умножения и деления, а так же другие, такие как, корень(их нету в данном коде).
Помогите найди error.
Действие сложения только выполняется, а в других условияхвыполняется, что то странное))) также не выполняется условие
Еще не выполняется условие (строка 39)

#include "stdafx.h"
#include <iostream>
#include <math.h>

using namespace std;

int main()
{
    setlocale(LC_ALL, "Russian");
    float a, b, c;
    int d;
    cout << "Добро пожаловать в калькулятор от NPavel" << endl;
    cout << "________________________________________" << endl;
    cout << "" << endl;
    cout << "Введите число: " << endl;
    cin >> a;
    cout << "Выберите действие:" << endl;
    cout << "[1] сложение  (+)" << endl;
    cout << "[2] вычитание (-)" << endl;
    cout << "[3] умножение (*)" << endl;
    cout << "[4] деление   (/)" << endl;
    cin >> d;
    if (d=1) {
        cout << "Введите число: " << endl;
        cin >> b;
        c=a+b;
    } else if (d=2) {
        cout << "Введите число: " << endl;
        cin >> b;
        c=a-b;
    } else if (d=3) {
        cout << "Введите число: " << endl;
        cin >> b;
        c=a*b;
    } else if (d=4) {
        cout << "Введите число: " << endl;
        cin >> b;
        c=a/d;
    } else cout << "Вы не выбрали действие" << endl;

    cout << "Ответ: "<< c << endl;

    system("pause");
    return 0;
}

Поправка............................................................................

Вот код..

#include "stdafx.h"
#include <iostream>
#include <math.h>

using namespace std;

int main()
{
setlocale(LC_ALL, "Russian");
float a, b, c;
int d;
cout << "Добро пожаловать в калькулятор от NPavel" << endl;
cout << "________________________________________" << endl;
cout << "" << endl;
cout << "Введите число: " << endl;
cin >> a;
cout << "Выберите действие:" << endl;
cout << "[1] сложение  (+)" << endl;
cout << "[2] вычитание (-)" << endl;
cout << "[3] умножение (*)" << endl;
cout << "[4] деление   (/)" << endl;
cin >> d;
if (d=1) {
cout << "Введите число: " << endl;
cin >> b;
c=a+b;
} else if (d=2) {
cout << "Введите число: " << endl;
cin >> b;
c=a-b;
} else if (d=3) {
cout << "Введите число: " << endl;
cin >> b;
c=a*b;
} else if (d=4) {
cout << "Введите число: " << endl;
cin >> b;
c=a/d;
} else cout << "Вы не выбрали действие" << endl;

cout << "Ответ: "<< c << endl;

system("pause");
return 0;
}

Ошибка исправлена. Проблема была в том, что условие было заданно одним знаком «=», но раньше с двумя «==» не запускалась из-за пробела между «)» и «{»

До: «if (d=1) {»

После: «if (d==1){»

if (d==1){                              // Условие для переменной "d"
    cout << "Введите число: " << endl;
    cin >> b;
    c=a+b;
} else if (d==2){
    cout << "Введите число: " << endl;
    cin >> b;
    c=a-b;
} else if (d==3){
    cout << "Введите число: " << endl;
    cin >> b;
    c=a*b;
} else if (d==4){
    cout << "Введите число: " << endl;
    cin >> b;
    c=a/d;
} else cout << "Вы не выбрали действие" << endl;

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

Ответить

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

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

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

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

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

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