Ante todo muy buenas a todos,soy nuevo por aquí y tengo un problema con este código.
Si alguien me pudiera echar una mano le estaría muy agradecido.
La compilación me da correcta pero no consigo que me de el resultado correcto y después de darle mil vueltas no veo donde esta el problema, a ver si alguien sabe donde esta el problema.
Se trata de un programa que leyendo la información por pantalla del resultado electoral de diversas mesas electorales te dice si la mesa en cuestión ha superado un porcentaje de participación dado al principio.
El problema es que solo me da bien el resultado si solo hay una mesa electoral pero si es mas de una me da cero.
Yo creo que el problema esta en el bucle for que no se porque no me reconoce la variable donde se lee el números de mesas electorales que hay.
Vamos que en una entrada tal que <50.0 1 2 100 50 100 50 0> me tendría que dar <1 50.0 0>.No se si me he explicado bien,o si lo he liado mas... aquí os dejo el codigo.
Perdon por la chapa y gracias por anticipado.
#include <stdio.h>
#define ENDSEQ 0
int main(int argc, char **argv)
{
int idElectionHeadquarters;
int k, numTables;
int censusTable, votersTable;
float participation, result;
int nVotes;
int nCensus;
scanf("%f", &participation);
scanf("%d", &idElectionHeadquarters);
while (idElectionHeadquarters != ENDSEQ)
{
nCensus = 0;
nVotes = 0;
scanf("%d", &numTables);
for (k = 1 ; k == numTables ; k++)
{
scanf("%d", &censusTable);
nCensus = nCensus + censusTable;
scanf("%d", &votersTable);
nVotes = nVotes + votersTable;
}
if (nCensus > 0)
{
result = ((float) nVotes / (float) nCensus) * 100.0;
if (result >= participation)
{
printf("%d ", idElectionHeadquarters);
printf ("%2.1f " , result);
}
}
scanf("%d", &idElectionHeadquarters);
}
printf("%d", ENDSEQ);
return 0;
}