Oppure

Loading
16/05/10 11:47
simone97
il sorgente è questo:
#include <iostream.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>

float somma (float a, float b, float c){
        float r = a+b;
        float x = r+c;
        return x;
}

float differenza(float a, float b){
float r = a-b; return r;
}

float prodotto(float a, float b, float c){
 float r = a*b;
 float x = r*c; return x;
}

float quoziente(float a, float b){
    float r = a / b; return r;
}

double radice(float a){
 double r = sqrt(a); return r;
}

float elevamento(float a, int b){
 float r = pow(a,b);
 return r;
}


int main(){
    system("color a");
    int scelta, op;
    int esponente;
    float base, altezza, perimetro, area, lato, apotema;
    float x, y, z;
    punto:
    cout<<"\a\t\t\t\tMATHS.3000\n\t\t\t\tby Simone De Vita\n"<<endl;
    cout<<"Cosa vuoi fare?"<<endl;
    cout<<"1. Calcolatrice ";
    scelta=(int) _getch();
    if(scelta==1){
            system("cls");
            cout<<"\aQuale operazione vuoi svolgere?"<<endl;
            cout<<"1. Addizione\n2. Sottrazione\n3. Moltiplicazione\n4. Divisione\n5. Radice quadrata\n6. Elevamento a potenze"<<endl;
            op=(int) _getch();

        if(op==1){
            system("cls");
            cout<<"\aIntrodurre il primo numero>> ";
            cin>>x;
            cout<<"\n\aIntrodurre il secondo numero>> ";
            cin>>y;
            cout<<"\n\aIntrodurre il terzo numero>> ";
            cin>>z;
            cout<<"\n\a\aIl risultato e'>> "<<somma(x, y, z)<<endl;
            cout<<"\n\aIl programma e' terminato, prema INVIO per continuare"<<endl;
            getchar();
            getchar();
            system("cls");
            goto punto;
    }
        else if(op==2){
                system("cls");
            cout<<"\aIntrodurre il primo numero>> ";
            cin>>x;
            cout<<"\n\aIntrodurre il secondo numero>> ";
            cin>>y;
            cout<<"\n\a\aIl risultato e'>> "<<differenza(x, y)<<endl;
            cout<<"\n\aIl programma e' terminato, prema INVIO per continuare"<<endl;
            getchar();
            getchar();
            system("cls");
            goto punto;
    }
        else if(op==3){
            system("cls");
            cout<<"\aIntrodurre il primo numero>> ";
            cin>>x;
            cout<<"\n\aIntrodurre il secondo numero>> ";
            cin>>y;
            cout<<"\n\aIntrodurre il terzo numero>> ";
            cin>>z;
            cout<<"\n\a\aIl risultato e'>> "<<prodotto(x, y, z)<<endl;
            cout<<"\n\aIl programma e' terminato, prema INVIO per continuare"<<endl;
            getchar();
            getchar();
            system("cls");
            goto punto;
    }
        else if (op==4){
            system("cls");
            cout<<"\aIntrodurre il primo numero>> ";
            cin>>x;
            cout<<"\n\aIntrodurre il secondo numero>> ";
            cin>>y;
            cout<<"\n\a\aIl risultato e'>> "<<quoziente(x, y)<<endl;
            cout<<"\n\aIl programma e' terminato, prema INVIO per continuare"<<endl;
            getchar();
            getchar();
            system("cls");
            goto punto;
    }
        else if(op==5){
            system("cls");
            cout<<"\aIntrodurre il numero>> ";
            cin>>x;
            cout<<"\n\a\aIl risultato e'>> "<<radice(x)<<endl;
            cout<<"\n\aIl programma e' terminato, prema INVIO per continuare"<<endl;
            getchar();
            getchar();
            system("cls");
            goto punto;
    }
        else if(op==6){
            system("cls");
            cout<<"\aIntrodure la base>> ";
            cin>>base;
            cout<<"\a\nIntrodure l'esponente>> ";
            cin>>esponente;
            cout<<"\n\a\aIl risultato e'>> "<<elevamento(base, esponente)<<endl;
            cout<<"\n\aIl programma e' terminato, prema INVIO per continuare"<<endl;
            getchar();
            getchar();
            system("cls");
            goto punto;
}
    }
    getchar();
}

il problema è che quando lo eseguo e scrivo 1 non prosegue! e se premo INVIO termina :(

EDIT by HeDo: Titolo non corretto, non hai letto il regolamento, la prossima volta locko direttamente
Ultima modifica effettuata da HeDo 16/05/10 15:24
aaa
16/05/10 13:18
delta
non funziona perchè getch() acquisisce il carattere ASCII del valori digitato sulla tastiera. prova a cambiare

op == 1

con

op== 49 //oppure char(1)
aaa
16/05/10 14:30
TheKaneB
Postato originariamente da delta:

non funziona perchè getch() acquisisce il carattere ASCII del valori digitato sulla tastiera. prova a cambiare

op == 1

con

op== 49 //oppure char(1)


gli abbiamo già risposto in chat poco fa, tra me, manvb e davide :D diciamo che è stato faticoso ma alla fine ce l'abbiamo fatta... per non parlare dei goto al posto del while e della catena di else if al posto dello switch-case...
aaa
16/05/10 14:39
delta
vabbè... non sapendolo ho risposto comunque...
aaa
16/05/10 14:47
simone97
kane gli if else li ho tolti, ma il goto mi piace :D
cmq grazie xD
aaa
16/05/10 14:52
TheKaneB
Postato originariamente da simone97:

kane gli if else li ho tolti, ma il goto mi piace :D
cmq grazie xD


:rotfl:
aaa
16/05/10 15:40
Postato originariamente da simone97:

ma il goto mi piace :D


Beh ... adesso che ne hai usati tanti e ti sei divertito, toglili tutti ...
16/05/10 16:40
Postato originariamente da TheKaneB:
gli abbiamo già risposto in chat poco fa, tra me, manvb e davide :D diciamo che è stato faticoso ma alla fine ce l'abbiamo fatta...


Diciamo che man ce l'ha fatta, tu che quasi ti suicidavi per le domande che ti faceva (coma la storia '0'==0 asd) e io che sono rimasto inorridito per le funzioni create che non servono a un ciaffo e tutte quelle variaibli messe lì "per bellezza" xD