// Uma sala de aula com 50 alunos precisa votar para 
//definir o representante e substituto. Cada aluno dever 
//dar o seu voto indicando o nmero do aluno, o aluno mais 
//votado ser definido como representante e o segundo mais 
//votado o substituto. Faa um programa para armazenar os votos 
//dos 50 alunos e ao termino da votao exibir o representante 
//e o substituto.

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>

void obter_voto (int *voto);
void analisa_voto (int *voto, int *rep, int *sub);

int main()
{
	int voto[50], rep, sub;

	system ("cls");
	obter_voto (voto);
	analisa_voto (voto, &rep, &sub);

	system ("cls");
	printf ("O representante e o aluno numero %d, com %d voto(s).\n\n", rep+1, voto[rep]);
	printf ("O substituto e o aluno numero %d, com %d voto(s).\n\n", sub+1, voto[sub]);


	return 0;
}

void obter_voto (int *voto)
{
	int cont, voto_atual;
	//zerando todas as posies do vetor
	for (cont=0 ; cont < 50 ; cont ++)
	{
		voto[cont] = 0;
	}
	//recebendo os votos
	for (cont=0 ; cont < 50 ; cont ++)
	{
		do
		{
			printf ("Voto numero %d - ", cont+1);
			scanf ("%d", &voto_atual);
			if (voto_atual <= 0 || voto_atual >50)
			{
				//verificar aluno que recebe o voto
				printf ("\n\n*** Aluno INCORRETO *** Digite novamente ***\n\n");
			}
		}while (voto_atual <= 0 || voto_atual >50);
		//acrescenta um voto na ("posio do aluno" - 1) votado
		voto[voto_atual-1]++;
	}
}

void analisa_voto (int *voto, int *rep, int *sub)
{
	int cont, primeiro, segundo;
	//carregando variaveis com numero digerente dos alunos
	primeiro	= -1;
	segundo		= -1;

	//descobrindo quem sera o representante
	for (cont=0 ; cont < 50; cont ++)
	{
		if (voto[cont] > primeiro)
		{
			primeiro = voto[cont];
			*rep = cont; //leia o conteudo de rep recebe o valor de cont
		}
	}
	//descobrindo quem sera o substituto
	for (cont=0 ; cont < 50; cont ++)
	{
		if (voto[cont] > segundo && cont != *rep)
		{
			segundo = voto[cont];
			*sub = cont; //leia o conteudo de sub recebe o valor de cont
		}
	}
}
