Oppure

Loading
04/08/09 15:16
gighen991
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 :k:
aaa
04/08/09 15:25
manvb.net
Ci sono gravi errori logici, ecco la versione corretta:
#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 04/08/09 15:32
aaa
04/08/09 16:07
gighen991
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..
aaa
04/08/09 17:01
giuseppe93
prova così... poi non ho capito cosa devi fare con lo switch
#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;
}
aaa
04/08/09 17:18
theprogrammer
Solo per precisione ... il nome della funzione dovrebbe essere

qualitypoint

Per il resto mi sembra che l'ultima versione funzioni ...


aaa
04/08/09 19:01
gighen991
Postato originariamente da giuseppe93:

prova così... poi non ho capito cosa devi fare con lo switch
#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ò...;)
aaa
04/08/09 19:22
giuseppe93
ok!:k:
aaa
05/08/09 7:07
gighen991
Postato originariamente da giuseppe93:

ok!:k:


ok sistemato anche lo switch! grazie dell aiuto! mi tengo scritto ciò ke hai fatto per un futuro problema.. ;)
aaa