Salve a tutti, ho realizzato un programma sulla seguente traccia:
Dati in Input i risultati relativi a n seggi elettorali (num iscritti/votanti/schede nulle/schede bianche), stampare in Outputi seguenti dati:
1. % VOTANTI SU TUTTI I SEGGI (max 999.99%);
2. % SCHEDE BIANCHE (max 99.99%);
3. % SCHEDE NULLE (max 99.99%).
Il programma che ho realizzato è il seguente (spero che il nome delle variabili sia comprensibile):
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main(){
unsigned int num_seg;
float t_iscr=0,t_vot=0,t_null=0,t_bia=0;
printf("Benvenuto! Questo programma calcola: \n1. La percentuale dei votanti su tutti gli iscritti;\n2. La percentuale delle schede bianche;\n3. La percentuale delle schede nulle.\n\nInserisci il numero totale dei seggi: ");
scanf("%i", &num_seg);
while(num_seg>0)
{
unsigned long int n_iscr=0,n_vot=0,s_nul=0,s_bia=0;
//Dati input da testiera
printf("\nInserisci il numero degli iscritti: ");
scanf("%i", &n_iscr);
printf("Inserisci il numero dei votanti: ");
scanf("%i", &n_vot);
printf("Inserisci il numero delle schede nulle: ");
scanf("%i", &s_nul);
printf("Inserisci il numero delle schede bianche: ");
scanf("%i", &s_bia);
//Incremento al numero totale di iscritti, votanti, schede nulle/bianche
t_iscr=t_iscr+n_iscr;
t_vot=t_vot+n_vot;
t_null=t_null+s_nul;
t_bia=t_bia+s_bia;
num_seg--;
}
//Calcolo delle percentuali
t_iscr=(float)t_vot/(float)t_iscr*100; //% votanti su tutti i seggi
t_null=(float)t_null/(float)t_vot*100; //% schede nulle
t_bia=(float)t_bia/(float)t_vot*100; //% schede bianche
1
//Output
printf("\nIl %f fra tutti gli iscritti ai seggi ha votato",t_iscr);
printf("\nFra tutti i voti il %f sono schede nulle",t_null);
printf("\nFra tutti i voti il %f sono schede bianche",t_bia);
return 0;
}
Alla fine il risultato viene, ma ho bisogno di due aiuti principalmente. Primo, vorrei sapere come posso settare che t_null e t_bia abbiano valore massimo di 99.99 e t_iscr 999.99; secondo, vorrei sapere se c'è un modo per inserire "%" nel printf (nel senso che me lo stampi a video), perchè quando lo metto, ad esempio subito dopo %f, dà caratteri strani sul programma.