Problema con float

di Anonimizzato7811 il
6 risposte
È un programma che legge numeri da tastiera e poi li somma,somma sia numeri con virgola che senza,il problema è che la somma non riporta,è questo:

#include <iostream>
using namespace std;
float x;
float y;
void leggi_numeri(float &a, float &b)
{cout<< "scrivi due numeri"<<endl;
cout << "primo numero: "<<endl;
cin>>a;
cout<<"secondo numero: "<<endl;
cin>>b;}
float somma(float &a, float &b)
{
float somma;
somma = a+b;
}
int main()
{leggi_numeri(x, y);
cout<<somma(x, y)<<endl;
system("pause");
return 0;

}

6 Risposte

  • 
    float somma(float &a, float &b)
    {
    float somma;
    somma = a+b;
    }
    
    Non credi che ci sia almeno un errore? chiami una variabile con lo stesso nome della funzione che lo dichiara. Non ritorni niente da questa funzione.
  • Ho scritto così:
    float sommab
    { float somma;
    somma = a+b;
    return somma;}
    ho però una domanda,perchè quando avevo scritto usando le variabili in int il programma funzionava lo stesso?cioè quando avevo scritto così
    #include <iostream>
    using namespace std;
    int x;
    int y;
    void leggi_numeri(int &a, int &b)
    {cout<< "scrivi due numeri"<<endl;
    cout << "primo numero: "<<endl;
    cin>>a;
    cout<<"secondo numero: "<<endl;
    cin>>b;}
    int somma(int &a, int &b)
    {
    int somma;
    somma = a+b;
    }
    int main()
    {leggi_numeri(x, y);
    cout<<somma(x, y)<<endl;
    system("pause");
    return 0;

    }
  • Non si capisce niente di quello che scrivi. Puoi per favore mettere il tag code quando posti un codice (magari formattato correttamente) e fare le domande al di fuori del codice. Bisogna sempre decodificare ciò che hai scritto, sembra un messaggio in codice.
  • Come hai corretto tu il programma parte,però perchè se uso 'int' invece di 'float' parte anche scrivendolo in questo modo?invece ciò non succede con quando uso 'float'
    ho scritto così:
    #include <iostream>
    using namespace std;
    int x;
    int y;
    void leggi_numeri(int &a, int &b)
    {cout<< "scrivi due numeri"<<endl;
    cout << "primo numero: "<<endl;
    cin>>a;
    cout<<"secondo numero: "<<endl;
    cin>>b;}
    int somma(int &a, int &b)
    {
    int somma;
    somma = a+b;
    }
    int main()
    {leggi_numeri(x, y);
    cout<<somma(x, y)<<endl;
    system("pause");
    return 0;
    
    }
  • 
    #include <iostream>
    using namespace std;
    int x;
    int y;
    void leggi_numeri(int &a, int &b)
    {
        cout<< "scrivi due numeri"<<endl;
        cout << "primo numero: "<<endl;
        cin>>a;
        cout<<"secondo numero: "<<endl;
        cin>>b;
    }
    
    E' COSI DIFICILE CHIAMARE LA FUNZIONE DIVERSAMENTE DALLA VARIABILE
    int calcolaSomma(int &a, int &b)
    {
        int somma;
        somma = a+b;
        return somma;
    }
    IL COMPILATORE TI DA ERRORE SE NON LO FAI
    
    int main()
    {
        leggi_numeri(x, y);
        cout<<calcolaSomma(x, y)<<endl;
        system("pause");
        return 0;
    }
    
    il programma parte perchè hai un compilatore che fa schiffo. Il modo corretto è quello da me segnato
  • Ok grazie
Devi accedere o registrarti per scrivere nel forum
6 risposte