Problema con la media

di il
4 risposte

Problema con la media

Scusate ho un problema con un programma che mi dovrrebbe calcolare la media degli alunni di una classe e poi la media della classe,ma la media me la da sbagliata, se mi potete dare una mano a capire dove è l errore.....grazie.
#include<iostream>
using namespace std;
#include<conio.h>
int main(){
     int a,n,vi,c=1,classi,vt,v,numa,numc;
     float ma,mc;
     char scelta;
        do{
           cout<<"inserisci il numero delle classi "; cin>>classi;}
        while(classi<=0);   
        do{                
        do{
           cout<<"inserisci il numero degli alunni"; cin>>a;
           getch();
           system("cls");}
        while(a<=0);
        n=1;
        mc=0;
        while(n<=a){
                    vi=0;
                    numa=0;
                    do{
                       cout<<"inserisci il numero dei voti dell'alunno"; cin>>vt;
                       getch();
                       system("cls");}
                    while(vt<0);
                    while(vi<=vt){
                                  do{
                                     cout<<"inserisci il ivoto dell'alunno"; cin>>v;}
                                  while(v<2 || v>10);
                                  numa=numa+v;
                                  vi++;}
                    ma=(float)numa/vt;
                    cout<<"la media dell'alunno e'"<<ma;
                    getch();
                    system("cls");
                    numc=numc+ma;
                    n++;}
        mc=(float)numc/a;
        cout<<"la media della classe e'"<<mc;
        getch();
        system("cls");
        c++;} 
        while(c<classi);
        
        
}                                     
                                                                                             

4 Risposte

  • Re: Problema con la media

    Le variabili numc, vi e ma non vengono azzerate/settate prima delle iterazioni col risultato imprevedibile.
    Vedo un errore anche sul conteggio di giri per classe.

    Sarebbe bene avere dare nomi più significativi alle tue variabili...

    ~Max~
  • Re: Problema con la media

    Grazie per la risposta, ho azzerato numc, ma le altre due sono azzerate....e comunque non ho risolto il mio problema della media.....ma mi potresti dire dove è l'errore sul conteggio delle classi
  • Re: Problema con la media

    Ho REMmato un pò di roba dal tuo sorgente in quanto non potevo compilarlo sul mio sistema.
    Controllalo...
    
    #include<iostream>
    using namespace std;
    //#include<conio.h>
    int main(){
         int a,n,vi,c=1,classi,vt,v,numa,numc;
         float ma,mc;
         char scelta;
            do{
               cout<<"inserisci il numero delle classi "; cin>>classi;}
            while(classi<=0);   
            do{                
            do{
               cout<<"inserisci il numero degli alunni"; cin>>a;
               //getch();
               //system("cls");
            }
            while(a<=0);
            n=1;
            mc=0;
            numc=0; // <-------$$MAX
    
            while(n<=a){
                        vi=1; // <-------$$MAX
                        ma=0; // <-------$$MAX
                        numa=0;
                        do{
                           cout<<"inserisci il numero dei voti del "<<n<<"^ alunno "; cin>>vt;
                           //getch();
                           //system("cls");
                        }while(vt<0);
                        while(vi<=vt){
                                      do{
                                         cout<<"inserisci il "<<vi<<"^ voto dell'alunno"; cin>>v;}
                                      while(v<2 || v>10);
                                      numa=numa+v;
                                      vi++;}
                        ma=(float)numa/vt;
                        cout<<"la media dell'alunno e'"<<ma<<endl;
                        //getch();
                        //system("cls");
                        numc=numc+ma;
                        n++;}
            mc=(float)numc/a;
            cout<<"la media della classe e'"<<mc<<endl;
            //getch();
            //system("cls");
            c++;} 
            while(c<classi);
           
    }                                     
    
  • Re: Problema con la media

    Grazie per il vostro aiuto adesso funziona perfettamente tutto dalla media al conteggio delle classi.....
Devi accedere o registrarti per scrivere nel forum
4 risposte