[HELP C++] - Media ponderata

di il
1 risposte

[HELP C++] - Media ponderata

Salve raga, il programma che ho provato a fare deve fare la media ponderata. Mi da problema sul risultato mi stampa sempre "nan - not a number"... Vi posto il codice... Grazie in anticipo
#include <iostream>
#define MAX 100
using namespace std;

class Voti{
private:
double somma_voti;
double somma_crediti;
double voti[MAX];
double crediti[MAX];

public:
int size,n;
void inserisci(double , double );
void inizializza();
void media();
double visualizza_media();
};



void Voti::inizializza()
{
    for(int i=0;i<MAX;i++)
    {
        voti[i]=0;
        crediti[i]=0;
    }
    n=0;
}

void Voti:: inserisci(double v, double c)
{
    voti[n]=v;
    crediti[n]=c;
}

void Voti::media()
{
    somma_crediti=0;
    somma_voti=0;
    double s;
    for(int i=0; i<n; i++)
    {
        somma_crediti+=crediti[i];
    }

    for(int i=0; i<n; i++)
    {
        s=(voti[i]*crediti[i]);
        somma_voti+=s;
    }
}

double Voti::visualizza_media()
{
    return (somma_voti/somma_crediti);
}


int main()
{
    Voti v;
    int n;
    cout << "inserisci il numero di esami effettuati: ";
    cin>> n;
    double voto;
    double cred;
    v.inizializza();

    for(int i=0; i<n; i++)
    {
        cout<<"Voto: ";
        cin>>voto;
        cout<<"Credito: ";
        cin>>cred;


        v.inserisci(voto,cred);
    }
    v.media();
    cout<<"la media e: ";
    cout<<v.visualizza_media();
    return 0;
}

1 Risposte

  • Re: [HELP C++] - Media ponderata

    
    ...
    void Voti:: inserisci(double v, double c)
    {
        voti[n]=v;
        crediti[n]=c;
    }
    ...
    v.inserisci(voto,cred);
    ...
    
    inserisci sempre su n
Devi accedere o registrarti per scrivere nel forum
1 risposte