Problema sqrt C++

di il
3 risposte

Problema sqrt C++

#include<stdio.h>
#include<iostream>
int main() {

int menu,a,b,c;
float sqrt;
printf("Ciao!\n");
menu=1; //I cicli while durano all'infinito. Se scrivo while(1) {..} [oppure menu=1 while(menu)] lui esegue il contenuto all'infinito.
while(menu != 0) { //Significa se quando menù è diverso da zero || while (domanda) {..} serve a porre una domanda all'utente. In base a una serie di proposte l'utente può selezionarne una e il while eseguirà tutto il blocco di codice all'interno delle parentesi. Quando l'utente decide di smettere di usare la funzione, il segnale passa per il e la funzione termina.
printf("MENU' PRINCIPALE\n");
printf("1.) SOMMA\n");
printf("2.) SOTTRAZIONE\n");
printf("3.) MOLTIPLICAZIONE\n");
printf("4.) DIVISIONE\n");
printf("5.) QUADRATO\n");
printf("6.) AREA DI UN TRIANGOLO DATA BASE E ALTEZZA\n");
printf("7.) AREA DI UN TRIANGOLO DATI I CATETI\n");
printf("premi 0 per uscire \n");
scanf("%d",&menu);



if(menu == 1) {
printf("Inserisci primo numero\n");
scanf("%d",&a);
printf("Inserisci secondo numero\n");
scanf("%d",&b);

c = a + b;
printf("Somma = %d \n", c);
}

if(menu == 2) {
printf("Inserisci primo numero\n");
scanf("%d",&a);
printf("Inserisci secondo numero\n");
scanf("%d",&b);

c = a - b;
printf("Sottrazione = %d \n", c);

}

if(menu == 3) {

printf("Inserisci primo numero\n");
scanf("%d",&a);
printf("Inserisci secondo numero\n");
scanf("%d",&b);

c = a * b;
printf("Moltiplicazione = %d \n", c);

}

if(menu == 4) {

printf("Inserisci primo numero\n");
scanf("%d",&a);
printf("Inserisci secondo numero\n");
scanf("%d",&b);

c = a / b;
printf("Divisione = %d \n", c);
}

if(menu == 5) {

printf("Inserisci un numero numero\n");
scanf("%d",&a);

c = a*a;
printf("il quadrato del numero è =%d \n", c);
}

if (menu == 6) {

printf("inserisci la base\n");
scanf("%d",&a);

printf("inserisci l'altezza\n");
scanf("%d",&b);

c=(a*b)/2;

printf("l' area del triangolo è =%d \n", c);
}

if (menu == 7) {

printf("inserisci un cateto\n");
scanf("%d",&a);

printf("inserisci l' altro cateto\n");
scanf("%d",&b);

c=sqrt((a*a)+(b*b));

printf("l' area del triangolo è =%d \n", c);
}

} //fine della funzione while

return 0; }


Ragazzi, vado in 2° superiore indirizzo scientifco, ho fatto questo piccolo programmino come compito per casa e nell'ultima funzione if(quella con la radice quadrata), mi da l'errore: sqrt cannot be used as a funcion, come dovrei risolvere?

3 Risposte

  • Re: Problema sqrt C++

    A una prima (velocissima) occhiata direi che non dovresti chiamare una variabile sqrt (seconda riga del main).
    Inoltre, visto che usi il C++, dovresti togliere stdio.h e utilizzare cout al posto dei printf. Inoltre dovresti includere cmath, all'interno del quale è definita la funzione sqrt.
  • Re: Problema sqrt C++

    minomic ha scritto:


    A una prima (velocissima) occhiata direi che non dovresti chiamare una variabile sqrt (seconda riga del main).
    Inoltre, visto che usi il C++, dovresti togliere stdio.h e utilizzare cout al posto dei printf. Inoltre dovresti includere cmath, all'interno del quale è definita la funzione sqrt.
    Scusa, ma non ho capito molto, per il momento conosco 2 funzioni in croce e non so cosa intendi con sostituire il printf con cout, quindi potresti spiegarmi passo passo come fare?
  • Re: Problema sqrt C++

    Ovviamente un forum non è il luogo dove imparare a programmare... Qui si risolvono problemi specifici. Per il resto ci sono i libri, le guide su internet, ...
    Comunque il tuo codice, scritto in C++, potrebbe essere
    
    #include <iostream>
    #include <cmath>
    using namespace std;
    
    int main()
    {
        int menu,a,b,c;
        cout << "Ciao" << endl;
        menu=1;
        while(menu != 0) {
            cout << "MENU' PRINCIPALE" << endl;
            cout << "1.) SOMMA" << endl;
            cout << "2.) SOTTRAZIONE" << endl;
            cout << "3.) MOLTIPLICAZIONE" << endl;
            cout << "..." << endl;
            cout << "premi 0 per uscire" << endl;
            cin >> menu;
    
    
    
            if(menu == 1) {
                cout << "Inserisci primo numero" << endl;
                cin >> a;
                cout << "Inserisci secondo numero" << endl;
                cin >> b;
    
                c = a + b;
                cout << "Somma = " << c << endl;
            }
    
            // Altri casi ...
    
            if (menu == 7) {
    
                cout << "inserisci un cateto";
                cin >> a;
    
                cout << "inserisci l' altro cateto" << endl;
                cin >> b;
    
                double d=sqrt((a*a)+(b*b));
    
                cout << "l' area del triangolo è =" << d << endl;   // NON E' VERO!
            }
    
        }
    
        return 0;
    }
    
    Infine un appunto matematico: nel punto (7) con quella formula con la radice quadrata non trovi l'area del triangolo ma la sua ipotenusa. Se vuoi l'area basta fare cateto*cateto/2.
Devi accedere o registrarti per scrivere nel forum
3 risposte