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