Oppure

Loading
19/09/09 13:57
LittleHacker
Salve a tutti...Scusate se apro un topic x questa banalità ma non riesco a superarla allora io ho una calcolatrice generale cioè mi fa le 4 operazioni basilari(+, -, /, *) con questo codice:
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
int Generale(int a, int op, int b);
int main(){
int a = 0;
int op;
int b = 0;
cout << "1 numero: ";
cin >> a;
cout << "2 numero: ";
cin >> b;
cout << "Operatore: ";
cin >> op;
if(a > 0){
         if(b > 0){
                             int rix;
                             rix = Generale(a, op, b);
                             cout << "risultato: " << rix << endl;
}
}
return 0;
}
int Generale(int a, int op, int b){
int rix;
rix = a + op + b;
}

Però io questo pezzo di codice:
int Generale(int a, int op, int b){
int rix;
rix = a + op + b;
}

che serve per fare i calcoli non riesco a trovare una soluzione cioè ad esempio io scrivo 1+1 e lui come risultato mi da 134514939...perchè? come faccio a risolverlo??
Grazie mille:k:
aaa
19/09/09 14:25
Premoli
semplicemente non puoi dichiarare op come int, ma devi farlo come char, e poi impostare una serie di controlli che verificano op, ad esempio
if(op=='+')
rix=a+b;
e via dicendo,

ecco il codice funzionante:
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;

float Generale(float a, char op, float b);

int main()
{
    float a = 0;
    char op;
    float b = 0;
    
    cout << "1 numero: ";
    cin >> a;
    cout << "2 numero: ";
    cin >> b;
    cout << "Operatore: ";
    cin >> op;

    if(a > 0){
        if(b > 0){
            float rix;
            rix = Generale(a, op, b);
            cout << "risultato: " << rix << endl;
        }
    }
    return 0;
}

float Generale(float a, char op, float b)
{
    float rix;

    if(op=='+')
        rix = a + b;
    else if(op=='*')
        rix=a*b;
    else if(op=='-')
        rix=a-b;
    else if(op=='/')
        rix=a/b;

    return rix;
}



naturalmente il codice può essere migliorato e non di poco, ma sono sicuro che a questo ci penserai tu vero!? ;)

se c'è qualcosa che non capisci chiedi pure...
aaa
19/09/09 16:40
LittleHacker
Grazie mille...Lo dicevo ke era una cosa banale ma non capivo dove sbagliavo...comunque grazie mille:k:
aaa
19/09/09 18:20
Premoli
De nada ;)
aaa