Sto studiando il c++ e come esercizio ho scritto questo breve codice:
codice:
/*
Data in input una serie di numeri, calcolare quanti di essi sono pari e quanti dispari;
comunicare, inoltre, anche la percentuale del pari e del dispari sul totale.
*/
#include <iostream.h>
int main()
{
//Variabili di input
int n;
char risp;
//Variabili di output
int resto, pari, disp, somma;
float ppar, pdisp;
//Inizializzazione variabili
pari = disp = somma = 0;
do
{
cout << endl << "Inserisci un numero intero: ";
cin >> n;
resto = (n % 2);
//Verifica se il numero è pari o dispari
if (resto == 0)
{
pari++;
somma++;
}
else
{
disp++;
somma++;
}
cout << endl << "Vuoi inserire un altro numero? (s/n)";
cin >> risp;
} while ((risp == 's') || (risp == 'S'));
//Calcola le percentuali
ppar = pari / somma * 100;
pdisp = disp / somma * 100;
//Comunica i valori
cout << endl << "Totale numeri: " << somma;
cout << endl << "Numeri pari: " << pari << ", pari al " << ppar << "% del totale.";
cout << endl << "Numeri dispari: " << disp << ", pari al " << pdisp << "% del totale.";
cout << endl;
}
La compilazione va a buon fine ma inserendo più di un numero le percentuali vengono sempre 0, non riesco a capire il perché.
Qualcuno può aiutarmi?
Grazie