为什么对andfflush(..)
不起作用?
如果我使用声明并且它有效,但不起作用,我尝试放在不同的地方但它不起作用,我在 ubuntu 13.04 中使用代码块;c2
c0
c0 = 0
c2 = 0
fflush(stdin)
int main(void)
{
int cod ,passou = 0, c0, c1, c2, c3, ct;
float p1, p2, p3;
char o;
do {
puts ("Informe codigo: ");
scanf ("%i", &cod);
fflush (stdin);
switch (cod)
{
case 0:
c0 = c0 + 1;
break;
case 1:
c1 = c1 + 1;
ct = ct + 1;
break;
case 2:
c2 = c2 + 1;
ct = ct + 1;
break;
case 3:
c3 = c3 + 1;
ct = ct + 1;
break;
default:
puts ("Valor invalido");
}
getchar();
puts ("Deseja informar mais um voto?");
fflush (stdin);
scanf("%c",&o);
if (o == 'S' || o == 's' ) {
passou = 0;
} else if (o == 'N' || o == 'n' ) {
passou = 1;
} else {
puts ("Opcao invalida");
}
} while ( passou != 1 );
p1=(c1/ct)*100;
p2=(c2/ct)*100;
p3=(c3/ct)*100;
if (c1 > c2 && c1 > c3 && c1 > c0 ) {
puts ("Candidato numero 1 eh o vencedor");
} else if (c2 > c1 && c2 > c3 && c3 > c0) {
puts ("Candidato numero 2 eh o vencedor");
} else if (c3 > c1 && c3 > c2 && c3 > c0) {
puts ("Candidato numero 3 eh o vencedor");
} else {
puts ("Numero de votos em branco eh maior do que todos os outros candidatos");
}
printf ("\nTotal de votos do candidato 1: %d", c1);
printf ("\nTotal de votos do candidato 2: %d", c2);
printf ("\nTotal de votos do candidato 3: %d", c3);
printf ("\nTotal de votos em branco: %d", c0);
printf ("\nPercentual de votos do candidato 1: %.2f", p1);
printf ("\nPercentual de votos do candidato 2: %.2f", p2);
printf ("\nPercentual de votos do candidato 3: %.2f", p3);
return 1;
}