Sto studiando il c++ e come esercizio ho scritto questo breve codice:
La compilazione va a buon fine ma inserendo più di un numero le percentuali vengono sempre 0, non riesco a capire il perché.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; }
Qualcuno può aiutarmi?
Grazie
![]()

Rispondi quotando
