1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Projeto votação - Delphi

Boa noite,

Tenho um projeto de votação, onde tem uma lista de candidatos, total de votos no geral e o mais votado. Meu problema é o seguinte, quero mostrar o nome do candidato mais votado, mais não estou conseguindo fazer.

  private
    Votos: array [1..3] of integer;
    Nomes: array [1..3] of string;
  end;

Botão para votar

procedure TfrmVotacao.Button1Click(Sender: TObject);
Var
  Opcao: integer;
begin
  Nomes[1] := 'Fulano';
  Nomes[2] := 'Cicrano';
  Nomes[3] := 'Beltrano';
  Opcao := StrToIntDef(
    InputBox('Votação', 'Escolha o candidato abaixo:' + sLineBreak +
    '1 - Fulano' + sLineBreak +
    '2 - Cicrano' + sLineBreak +
    '3 - Beltrano', ''),
    0);

  if (Opcao < 1) or (Opcao > 3) then
  begin
    ShowMessage('Opção inválida :(');
    Exit;
  end;
  ListBox1.Items.Add(Nomes[Opcao]);
  Inc(Votos[Opcao]);
end;

Botão para mostrar resultado

procedure TfrmVotacao.Button2Click(Sender: TObject);
Var
  TotalVotos, I, MaisVotato: Integer;
begin
  // Soma o total de votos
  TotalVotos := 0;
  for I := 1 to 3 do
    begin
       TotalVotos := TotalVotos + Votos[I];
    end;
  // Calcula o mais votado
  MaisVotato := Votos[1];
  for I := 1 to High(Votos) do
  begin
    MaisVotato := Votos[I];
    if MaisVotato > Votos[I] then
      MaisVotato := Votos[I];
  end;
  ShowMessage('Total de votos: ' + sLineBreak + sLineBreak +
    'Fulano: ' + IntToStr(Votos[1]) + sLineBreak +
    'Cicrano: ' + IntToStr(Votos[2]) + sLineBreak +
    'Beltrano: ' + IntToStr(Votos[3]) + sLineBreak + sLineBreak +
    'Vencedor: ' + IntToStr(MaisVotato) + ' - ' + Nomes[MaisVotato] + sLineBreak +
    'Total de votos: ' + IntToStr(TotalVotos));
end;
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags sql ou faça a sua própria pergunta.