gighen991 (Normal User)
Newbie
Messaggi: 20
Iscritto: 27/04/2009
|
ciao a tutti ho un problema in questo esercizio... non mi visualizza la media dei dieci numeri che prendo in input... il codice è questo...
#include <iostream>
#include <cmath>
using namespace std;
double qualitipoint(double n);
int main(){
int x, numero, sum;
double media;
for(x=1; x<=10; x++){
cout<<"inserisci il numero: ";
cin>>numero;
sum += numero;
}
cout<<"la media e: " <<qualitipoint(numero);
system("pause");
return 0;
}
double qualitipoint(double n){
int numero, media, sum=0;
sum += numero;
media = sum / 10;
return media;
}
qualcuno saprebbe dirmi il xk??
grazie a tutti
|
|
manvb.net (Member)
Guru
Messaggi: 663
Iscritto: 28/01/2008
|
Ci sono gravi errori logici, ecco la versione corretta:
Codice sorgente - presumibilmente C++ |
#include <iostream> using namespace std; int main(){ int x, numero, sum; double media; numero=0; sum=0; for(x=1; x<=10; x++){ cout<<"inserisci il numero: "; cin>>numero; sum += numero; } media = (double)sum / 10.0f; cout<<"la media e: " << media; system("pause"); return 0; }
|
La funzione qualitypoint non ha ragione di esistere ed è errata, le variabili num e sum non sono accessibili da un'altra funzione eccettoo quella in cui sono state dichiarate e l'argomento n non viene utilizzato.
Ultima modifica effettuata da manvb.net il 04/08/2009 alle 17:32 |
|
gighen991 (Normal User)
Newbie
Messaggi: 20
Iscritto: 27/04/2009
|
nella tua versione però hai eliminato la funzione.. nell esercizio che ho è richiesto una funzione qualitipoint che prenda in input la media di uno studente e che restituisca con un comando switch 4-3-2-1 a seconda del voto ottenuto..
|
|
giuseppe93 (Ex-Member)
Pro
Messaggi: 166
Iscritto: 02/08/2009
|
prova così... poi non ho capito cosa devi fare con lo switch
Codice sorgente - presumibilmente C# |
#include <iostream> #include <cmath> using namespace std; double qualitipoint(int n); int main(){ int x, numero, sum=0; double media; for(x=1; x<=10; x++){ cout<<"inserisci il numero: "; cin>>numero; sum += numero; } cout<<"la media e: " <<qualitipoint(sum); system("pause"); return 0; } double qualitipoint(int n){ double media; media = n / 10; return media; }
|
|
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
Solo per precisione ... il nome della funzione dovrebbe essere
qualitypoint
Per il resto mi sembra che l'ultima versione funzioni ...
|
|
gighen991 (Normal User)
Newbie
Messaggi: 20
Iscritto: 27/04/2009
|
Postato originariamente da giuseppe93:
prova così... poi non ho capito cosa devi fare con lo switch
Codice sorgente - presumibilmente C# |
#include <iostream> #include <cmath> using namespace std; double qualitipoint(int n); int main(){ int x, numero, sum=0; double media; for(x=1; x<=10; x++){ cout<<"inserisci il numero: "; cin>>numero; sum += numero; } cout<<"la media e: " <<qualitipoint(sum); system("pause"); return 0; } double qualitipoint(int n){ double media; media = n / 10; return media; }
|
|
sembra ke facendo cosi funzioni... per lo switch ci penso io... grazie.. caso mai ci fosse qualche problema te lo comunicherò... |
|
giuseppe93 (Ex-Member)
Pro
Messaggi: 166
Iscritto: 02/08/2009
|
ok!
|
|
gighen991 (Normal User)
Newbie
Messaggi: 20
Iscritto: 27/04/2009
|
Postato originariamente da giuseppe93:
ok! |
ok sistemato anche lo switch! grazie dell aiuto! mi tengo scritto ciò ke hai fatto per un futuro problema.. |
|
giuseppe93 (Ex-Member)
Pro
Messaggi: 166
Iscritto: 02/08/2009
|
No problem! Felice di averti aiutato!
|
|