Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
jasquelp86

Programa de Votos

Recommended Posts

Galera preciso da ajuda de vocês. Já tentei de várias formas, com if, com case, com vetor, mais não consigo desenvolver um código para este programa. Sou iniciante e preciso da ajuda de vocês. Alguém pode me ajudar só a resolver esta questão:

Preciso de ajuda em Linguagem C: O condomínio X,Y,Z realizou uma eleição para sindico, onde concorreram:

Escreva um programa para efetuar a apuração da eleição. Será fornecido o número do candidato quando o voto for válido, 0 quando for BRANCO e 6 quando NULO. Mostrar uma relação contendo o nome e o total de votos de cada candidato em ordem decrescente , o percentual de votos válidos e o vencedor da eleição.

1- Maria Ferreira

2- Silas Prado

3- Carlos Xavier

4- Marina Stuart

5- Francisca Pimenta

6- NULO

0- BRANCO

Me ajuda aí galera.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Esse foi o código que fiz, mais dá mtos erros e o meu professor disse que tenho que trabalhar com vetores, mas eu não sei, sou iniciante: Olha o código até onde consegui fazer:

    #include<stdio.h>
    #include<stdlib.h>
    #include<conio.h>
    main () {
    int voto;
    int voto1;
    int voto2;
    int voto3,voto4,voto5,voto6,voto0;
    char resp;
    while ( resp=='s');
    {
    printf ("Escolha um dos numeros abaixo para realizar a sua votacao:");
    printf ("\n\n 1 - Maria Ferreira");
    printf ("\n 2 - Silas Prado");
    printf ("\n 3 - Carlos Xavier");
    printf ("\n 4 - Marina Stuart");
    printf ("\n 5 - Francisca Pimenta");
    printf ("\n 6 - Voto Nulo");
    printf ("\n 0 - Branco\n\n");
    {
    scanf ("%d", & voto);
    if (voto == 1){
    voto1++;
    printf ("voce votou em Maria Ferreira\n");
    }
    if (voto==2){
    voto2=voto+1;
    printf ("voce votou em Silas Prado\n");
    }
    if (voto==3){
    voto3++;
    printf ("voce votou em Carlos Xavier\n");
    }
    if (voto==4){
    voto4++;
    printf ("voce votou em Marina Stuart\n");
    }
    if (voto==5) {
    voto5++;
    printf ("voce votou em Francisca Pimenta\n");
    }
    if (voto==6){
    voto6++;
    printf ("voce votou NULO\n");
    }
    if (voto==0){
    voto0++;
    printf ("voce votou em BRANCO\n");
    }
    else {
    printf ("Voto invalido\n");
    }
    printf ("Deseja realizar um novo voto? S/N\n\n");
    scanf ("%c", & resp);
    }
    }
    {
    printf ("Fim da votacao\n\n");
    system("pause");
    }

    printf ("Maria Ferreira teve: %d votos\n", & voto1 );
    printf ("Silas Prado teve: %d votos\n", & voto2 );
    printf ("Carlos Xavier teve: %d votos\n", & voto3 );
    printf ("Marina Stuart teve: %d votos\n", & voto4 );
    printf ("Francisca Pimenta teve: %d votos\n", & voto5 );
    printf ("Voto NULO teve: %d votos\n", & voto6 );
    printf ("Voto em BRANCO teve: %d votos\n", & voto0 );}

    }

    Editado por jasquelp86
    Usar a tag CODE para postar seus códigos. Leia o tópico em destaque de como usar esta tag.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    jasquelp86,

    Esse foi o código que fiz, mais dá mtos erros e o meu professor disse que tenho que trabalhar com vetores, mas eu não sei, sou iniciante

    Eu montei um exemplo que poderá servir de base para você implementar o seu próprio programa. Existem várias formas de fazer, esta abaixo é apenas uma proposta.

    No exemplo abaixo, você já tem a base para computar os votos válidos. Crie duas variáveis inteiras para os votos brancos e nulos. Ao terminar, você precisa ordenar esse vetor pelo número de votos. Pronto, você já conhece o vencedor e tem o vetor pronto para a imprimir os candidatos e respectivos votos.

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

    struct candidato_t
    {
    char *nome;
    int votos;
    } candidato[5] = { {"Maria Ferreira", 0},
    {"Silas Prado", 0},
    {"Carlos Xavier", 0},
    {"Marina Stuart", 0},
    {"Francisca Pimenta", 0}
    };

    int main()
    {

    int i, op;
    char cont;

    do
    {
    printf("Candidato (1, 2 ou 3): ");
    scanf("%d", &op);
    fflush(stdin);

    if (op == 1)
    candidato[0].votos++;
    else if (op == 2)
    candidato[1].votos++;
    else if (op == 3)
    candidato[2].votos++;

    /* etc. */

    printf("Continua? s/n\n");
    scanf("%c", &cont);
    }
    while (cont != 'n');

    for (i = 0; i < 5; i++)
    printf("'%s' teve: %d votos\n", candidato[i].nome, candidato[i].votos);

    return 0;
    }

    []'s

    LNW

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Apenas fiz uma leve modificação.


    #include <stdio.h>

    struct candidato
    {
    const char *nome;
    int votos;
    } candidato[5] = { {"Maria Ferreira", 0},
    {"Silas Prado", 0},
    {"Carlos Xavier", 0},
    {"Marina Stuart", 0},
    {"Francisca Pimenta", 0}
    };

    int main(int argc, char **argv)
    {
    int nulo = 0 , branco = 0, voto;
    char cont;
    do
    {
    printf ("Escolha um dos numeros abaixo para realizar a sua votacao:");
    printf ("\n\n 1 - Maria Ferreira");
    printf ("\n 2 - Silas Prado");
    printf ("\n 3 - Carlos Xavier");
    printf ("\n 4 - Marina Stuart");
    printf ("\n 5 - Francisca Pimenta");
    printf ("\n 6 - Voto Nulo");
    printf ("\n 0 - Branco\n\n");
    scanf("%d",&voto);
    switch(voto)
    {
    case 0:
    {
    nulo++;
    break;
    }
    case 1: case 2: case 3: case 4: case 5:
    {
    candidato[voto - 1].votos++;
    break;
    }
    case 6:
    {
    branco++;
    break;
    }
    default:
    {
    printf("Não existe\n");
    break;
    }
    }
    printf("Continua? s/n\n");
    scanf("%c", &cont);
    }
    while(cont != 'n');
    for (int i = 0; i < 5; i++)
    printf("'%s' teve: %d votos\n", candidato[i].nome, candidato[i].votos);
    printf("Nulo:%d --- Branco:%d",nulo,branco);

    }

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • A minha maior dúvida é a seguinte: Como eu guardo o nome e o seu voto juntos para que no final eu os ordene em ordem decrescente?

    Minha ideia: Eu pensei em criar um vetor com 20 posições sendo que nas primeiras posições guardaria o nome e na última posição do vetor o voto, desta forma depois eu faria a leitura apenas da última posição do vetor onde está guardado o voto e assim conseguiria ordenar por ordem decrescente. A questão é: Dá pra fazer isso?

    Um exemplo: (guardar o nome em um vetor)



    char [20]= "Maria Ferreira";

    Neste exemplo eu guardo o nome em um vetor de 20 posições, mas agora como eu guardo o valor do voto na última posição deste vetor? Dá pra fazer?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×