Ultima modifica:
Salve, sto studiano c++ a scuola. L'Esercizio è questo: Tramite un menù, usando funzioni e/o procedure, calcola la media inserendo voti di informatica scritti e pratici ed infine visualizza e calcola la media dei voti totale. Ho fatto tutto, l'unico problema sta nel fatto che se non inserisco per esempio i voti scritti, la media totale me la calcola anche tra i voti scritti e quindi divide i voti pratici per due. Vi faccio vedere cosa ho fatto.
Codice:
#include<iostream>
#include<stdlib.h>
void VotoScritto();
void VotoPratico();
void MediaVoti();
int op,num,i;
float medias, mediap;
float somma=0;
float sommas=0;
float sommap=0;
float media=0;
using namespace std;
int main()
{
cout<<"***** PROGRAMMA DI CALCOLO DELLA MEDIA DEI VOTI DI INFORMATICA *****"<<endl;
do{
cout<<"Scegliere quale operazione si desidera effettuare: "<<endl;
cout<<"1 - Inserire voto scritto"<<endl;
cout<<"2 - Inserire voto pratica"<<endl;
cout<<"3 - Visualizzare la media dei voti"<<endl;
cout<<"0 - Termina programma"<<endl;
cout<<"Operazione: ";
cin>>op;
switch(op)
{
case 0:
cout<<"Fine del programma"<<endl;
break;
case 1:
cout<<"Inserire numeri dei compiti svolti: "<<endl;
cin>>num;
VotoScritto();
break;
case 2:
cout<<"Inserire numeri dei compiti svolti: "<<endl;
cin>>num;
VotoPratico();
break;
case 3:
MediaVoti();
break;
default:
cout<<"Operazione non prevista!"<<endl;
}
}while(op>0);
system("PAUSE");
return 0;
}
void VotoScritto()
{
float votos;
if( num == 0 )
cout<<"Inserire un numero maggiore di 0"<<endl;
else {
for(i=0; i<num; i++){
cout<<"Inserire un voto: "<<endl;
cin>>votos;
sommas = sommas + votos;
}
}
medias = sommas / num;
cout<<"La media dei tuoi voti scritti e' "<<medias<<endl;
}
void VotoPratico()
{
float votop;
if( num == 0 )
cout<<"Inserire un numero maggiore di 0"<<endl;
else {
for(i=0; i<num; i++){
cout<<"Inserire un voto: "<<endl;
cin>>votop;
sommap = sommap + votop;
}
mediap = sommap / num;
cout<<"La media dei tuoi voti pratici e' "<<mediap<<endl;
}
}
void MediaVoti()
{
somma = mediap + medias;
media = somma / num;
cout<<"La media dei voti scritti e' "<<medias<<endl;
cout<<"La media dei voti pratici e' "<<mediap<<endl;
cout<<"La media totale dei voti e' "<<media<<endl;
}