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;
}