2014-11-18 1 views
0

Я начинаю писать программу калькулятора на C++, и я не могу получить дополнение к работе правильно. Я пробовал разные типы чисел, используя строки, а затем бросая в int, инкапсулируя функцию в классе, все безрезультатно. Помощь была бы очень признательна, я новичок в C++ (Java - это мой основной язык). Благодаря!Добавление в C++

#include <iostream> 
#include <math.h> 
#include <string> 
using namespace std; 

int calcIt(int a, char b, int c){ 
    int result = 0; 
     if(b == '+'){ 
      result =(a+b); 
     } 
    return result; 
} 
int main(){ 
    int aa; 
    char bb; 
    int cc; 
    cout << "Int a: " << endl; 
    cin >> aa; 
    cout << "Operand: " << endl; 
    cin >> bb; 
    cout << "Int b: " << endl; 
    cin >> cc; 
    cout << "That is: " << calcIt(aa,bb,cc) << endl; 
    return 0; 
} 
+0

Что ваш вход и выход в результате? – sedavidw

+2

'if (b == '+') {result = (a + b); } ', который должен быть' a + c', правильно? – clcto

ответ

4
#include <iostream> 
#include <math.h> 
#include <string> 
using namespace std; 

int calcIt(int a, char b, int c){ 
    int result = 0; 
    if (b == '+'){ 
     result = (a + c); // <<------ this was a + b 
    } 
    return result; 
} 
int main(){ 
    int aa; 
    char bb; 
    int cc; 
    cout << "Int a: " << endl; 
    cin >> aa; 
    cout << "Operand: " << endl; 
    cin >> bb; 
    cout << "Int b: " << endl; 
    cin >> cc; 
    cout << "That is: " << calcIt(aa, bb, cc) << endl; 
    return 0; 
} 
+0

Большое вам спасибо! Я не могу поверить, что я это сделал! Я работаю над этим кодом в течение 2 дней с этой ошибкой! –

+3

@AustinDuffie: Попросите кого-нибудь показать вам, как пройти через отладчик, который научит вас находить и решать такие проблемы на любом языке. –

+0

Спасибо, я знаю, что я должен использовать отладчик. Я перейду к использованию Google GDB. –