Domanda Calcolatrice Dev C++

Stato
Discussione chiusa ad ulteriori risposte.
Ultima modifica:
Fatto devi solo controllare se funziona tt

PHP:
#include <iostream>
#include <math.h>
main() {
    using namespace std;
    long double altro, oper, ris, ris1, ris2, a, b , pow ;// dichiaro le variabili
    cout << "Che operazione vuoi eseguire?" << endl;
    cout << "1 = Addizione            7 = Radice cubica" << endl;
    cout << "2 = Sottrazione          8 = Radice x di y (approssimata a meno 1)" << endl;
    cout << "3 = Moltiplicazione      9 = Scomposizione in fattori primi" << endl;
    cout << "4 = Divisione            10 = MCD, mcm" << endl;
    cout << "5 = Potenza              11 = Trova divisori" << endl;
    cout << "6 = Radice quadrata      12 = exit" << endl;
    cin >> oper;// chiedo che operazione vuole esguire
    if (oper == 1) {// se sceglie l'addizione...
        cout << "Inserisci il primo numero:" << endl;
        cin >> a; // chiedo il primo numero
        cout << "Inserisci il secondo numero:" << endl;
        cin >> b;// chiedo il secondo numero
        ris = a + b;// risolvo il calcolo
        cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
    }// Fine if
    if (oper == 2) {//se sceglie la sottrazione...
        cout << "Inserisci il primo numero:" << endl;
        cin >> a; // chiedo il primo numero
        cout << "Inserisci il secondo numero:" << endl;
        cin >> b;// chiedo il secondo numero
        ris = a - b;// risolvo il calcolo
        cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
    }// fine if
    if (oper == 3) {//se sceglie la moltiplicazione...
        cout << "Inserisci il primo numero:" << endl;
        cin >> a;// chiedo il primo numero
        cout << "Inserisci il secondo numero:" << endl;
        cin >> b;// chiedo il secondo numero
        ris = a * b;// risolvo il calcolo
        cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
    }// fine if
    if (oper == 4) {//se sceglie la divisione...
        cout << "Inserisci il primo numero:" << endl;
        cin >> a;// chiedo il primo numero
        cout << "Inserisci il secondo numero:" << endl;
        cin >> b;// chiedo il secondo numero
        ris = a / b;// risolvo il calcolo
        cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
    }// fine if
    if (oper == 5) {// se sceglie la potenza...
        cout << "Inserisci la base:" << endl;
        cin >> a;//chiedo la base
        cout << "Inserisci l'esponente:" << endl;
        cin >> b;//chiedo l'esponente
        ris = pow = a,b;//eseguo il calcolo
        cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
    }// fine if
    if (oper == 6) {// se sceglie la radice quadrata...
        cout << "Inserisci il radicando:" << endl;
        cin >> a;//chiedo il radicando
        ris = sqrt(a);//eseguo l'operazione
        cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
    }// fine if
    if (oper == 7) {
        double f = 0.9999;
        cout << "Inserisci il radicando:" << endl;
        cin >> a;
        if (a == 1) {
            cout << "Il risultato e' 1" << endl << endl;
        }
        if (a == 27) {
            cout << "Il risultato e' 3" << endl << endl;
        }
        if (a == 64) {
            cout << "Il risultato e' 4" << endl << endl;
        }
        if (a == 125) {
            cout << "Il risultato e' 5" << endl << endl;
        }
        if (a != 1 && a != 27 && a != 64 && a != 125) {
            for (long double j = 0; ; j++) {
                f = f +0.0001;
                ris1 = f * f * f;
                if (ris1 >= a) {
                    ris = f - 0.0001;
                    break;
                }
            }
            cout << "Il risultato e' " << ris << endl << endl;
        }
    }
    if (oper == 8) {
        int c;
        cout << "Inserisci l'indice:" << endl;
        cin >> c;
        cout << "Inserisci il radicando:" << endl;
        cin >> b;
        if (c > 20) {
                cout << "Questo programma non e' in gradi di calcolare la radice con un indice cosi' alto" << endl << endl;
        }
        switch(c){
        case 1:
                cout << "Il risultato e' " << b << endl << endl;//dico il risultato
                break;
        case 2:
                ris = sqrt(b);
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 3:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 4:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 5:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 6:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 7:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 8:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 9:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 10:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 11:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 12:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 13:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 14:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 15:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 16:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 17:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 18:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 19:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        case 20:
                for (long double j = 0; ; j++) {
                    ris1 = j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j * j;
                    if (ris1 >= b) {
                        ris = j;
                        break;
                    }
                }
                cout << "Il risultato e' " << ris << endl << endl;//dico il risultato
                break;
        }
    }    if (oper == 9) {
        int num;
        int is;
        int j = 1;
        cout << "Inserisci il numero da scomporre in fattori primi:" << endl;
        cin >> num;
        cout << endl;
        for (int i = 0; ; i++) {
            j++;
            is = 1;
            for (int z = 2; z < j; z++) {
                    if ((j % z) == 0) {
                                    is = 0;
                    }
            }
            if ((num % j) == 0) {
                    if (is == 1) {
                        if (num > 1) {
                                    cout << num << ":" << j << endl;
                                    num = num / j;
                                    j = 1;
                        }
                    }
            }
            if (num <= 1) {
                    cout << "1" << endl << endl;
                    break;
            }
        }
    }
    if (oper == 10) {
        int c, d, e;
        int cosa;
        cout << endl;
        cout << "1 = mcm (a, b)      3 = mcm (a, b, c)" << endl;
        cout << "2 = MCD (a, b)      4 = MCD (a, b, c)" << endl;
        cin >> cosa;
        if (cosa == 1) {
                cout << "Inserisci i due numeri:" << endl;
                cin >> c;
                cin >> d;
                for (int i = 2; ; i++) {
                    if (i % c == 0 && i % d == 0) {
                        cout << "mcm (" << c << ", " << d << ")= " << i << endl << endl;
                        break;
                    }
                }
        }
        if (cosa == 2) {
            cout << "Inserisci i due numeri:" << endl;
            cin >> c;
            cin >> d;
            int max;
            if (c > d) {
                    max = c;
            }
            if (d > c) {
                    max = d;
            }
            for (int z = max; ; z--) {
                    if (c % z == 0 && d % z == 0) {
                            cout << "MCD (" << c << ", " << d << ")= " << z << endl << endl;
                            break;
                    }
            }
        }
        if (cosa == 3) {
            cout << "Inserisci i tre numeri:" << endl;
            cin >> c;
            cin >> d;
            cin >> e;
            for (int i = 2; ; i++) {
                if (i % c == 0 && i % d == 0 && i % e == 0) {
                        cout << "mcm (" << c << ", " << d << ", " << e << ")= " << i << endl << endl;
                        break;
                }
            }
        }
        if (cosa == 4) {
            cout << "Inserisci i tre numeri:" << endl;
            cin >> c;
            cin >> d;
            cin >> e;
            int max;
            if (c > d && c > e) {
                    max = c;
            }
            if (d > c && d > e) {
                    max = d;
            }
            if (e > c && e > d) {
                    max = e;
            }
            for (int z = max; ; z--) {
                    if (c % z == 0 && d % z == 0 && e % z == 0) {
                            cout << "MCD (" << c << ", " << d << ", " << e << ")= " << z << endl << endl;
                            break;
                    }
            }
        }
    }
    if (oper == 11) {
        int num, div, c;
        cout << "Inserisci il numero:" << endl;
        cin >> num;
        cout << endl << num << " e' divisibile per:";
        c = num + 1;
        for (int b = 1; b < c; b++) {
            div = b;
            if ((num % div) == 0) {
                    cout << endl << div;
            }
        }
        cout << endl << endl;
    }
    if (oper >= 12) {
        exit(0);
    }
    cout << "Vuoi eseguire altri calcoli con la calcolatrice?" << endl;//chiedo se vuole eseguire altri calcoli
    cout << "1 = SI" << endl;
    cout << "2 = NO" << endl;
    cin >> altro;//risposta
    if (altro == 1) {// se risponde si...
        system("cls");//pulisco lo schermo
        main();//faccio rincominciare il tutto
    }// fine if
    return 0;//tutto ok
}//fine
 
Stato
Discussione chiusa ad ulteriori risposte.