Ir para conteúdo
Fórum Script Brasil

JaoOLeigo

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por JaoOLeigo

  1. Vou colocar uma parte do programa, a parte que estou em duvida mas tem mais código pra cima e pra baixo do que vou mostrar.

    image.png.eca76fb74fcbef47f7aaf44b23abf3f2.png

    O que acontece é que eu não consigo fazer esse do-while funcionar, já tentei usar tanto o %c quanto o %s no scanf. já tentei usar aspas simples tanto na declaração do char, quanto la dentro da condição do while, tentei varias combinações envolvendo, %c %s ' '  e " ". Eu sei que o certo é usar a aspas simples e o %c porem tentei isso tudo porque não tava dando certo. Quando chega la no scanf do while, ele le a variavel cont mas depois finaliza o programa, nem chega a executar os comandos abaixo dele.

    obs: já tentei com a biblioteca string.h inserida e não deu, tirei ela a toa mesmo.

     

    Código completo:

    #include <stdio.h>
    
    #include <stdlib.h>
    
    
    struct tiposDeVoto{
        int nulos;
        int brancos;
        int c[4];
    }tDV={0,0,{0,0,0,0}};
    
    struct porcVotos{
        float nulos;
        float brancos;
        float c[4];
    }pV={0.0,0.0,{0.0,0.0,0.0,0.0}};
    
    int main(){
        /*Em uma eleição para governador concorrem 4 candidatos (1, 2, 3 e 4). No dia da eleição cada
         um dos N eleitores votaram:
    • 1, 2, 3 ou 4 para cada candidato.
    • 0 (zero) para voto em branco.
    • -1 para voto nulo.
    Considere que:
    • O candidato ganha a eleição se fizer 51% ou mais do total de votos.
    • Se não houver ganhador, os dois melhores irão para o segundo turno.
    Faça um programa em C que calcule e imprima:
    • O candidato vencedor (se houver), seguido da porcentagem de votos obtida. Se não houver vencedor,
     imprima os candidatos que irão ao segundo turno com a respectiva porcentagem de votos obtida.
    • A porcentagem obtida pelos demais candidatos.
    • A porcentagem de votos em branco e nulos.*/
        tentenovamente:
        printf("----------------------------\n");
        printf("         Urna eleitoral       ");
        printf("\n 1- Tiago\n 2- Pedro\n 3- Alvaro\n 4- Chaves\n 0- Voto em branco\n -1- Voto nulo\n");
        printf("------------------------------\n");
    
        
        int voto=0,i=0;
        char cont="a";
    
        do{
    
        printf("Digite o voto: ");
        scanf("%i",&voto);
        switch (voto){
            case 1:
                tDV.c[0]+=1;
                break;
            case 2:
                tDV.c[1]+=1;
                break;
            case 3:
                tDV.c[2]+=1;
                break;
            case 4:
                tDV.c[3]+=1;
                break;
            case -1:
                tDV.nulos+=1;
                break;
            case 0:
                tDV.brancos+=1;
                break;
            default:
                printf("Escolha invalida!\nTente novamente!\n");
                goto tentenovamente;
        }
        
            i++;
            printf("Quer continuar? [S/N]");
            scanf("%s",&cont);   
        } while (cont=="S");
        
    
    
        int totalDeVotos=i+1;
        pV.brancos=tDV.brancos/totalDeVotos;
        pV.nulos=tDV.nulos/totalDeVotos;
        for (int k=0;k<4;k++)
            pV.c[k]=(float)tDV.c[k]/totalDeVotos;
            int vencedor=0;
        printf("pv.c[0]: %.2f\n",pV.c[0]);
    
        if(pV.c[0]>0.51 && pV.c[0]>pV.c[1] && pV.c[0]>pV.c[2] && pV.c[0]>pV.c[3]){
            vencedor=1;
            printf("Tiago e o vencedor da eleicao com %0.2f %% dos votos",(pV.c[0]*100));
        }
        if(pV.c[1]>0.51 && pV.c[1]>pV.c[0] && pV.c[1]>pV.c[2] && pV.c[1]>pV.c[3]){
            vencedor=1;
            printf("Pedro e o vencedor da eleicao com %0.2f %% dos votos",(pV.c[1]*100));
        }
        if(pV.c[2]>0.51 && pV.c[2]>pV.c[0] && pV.c[2]>pV.c[1] && pV.c[2]>pV.c[3]){
            vencedor=1;
            printf("Alvaro e o vencedor da eleicao com %0.2f %% dos votos",(pV.c[2]*100));
        }
        if(pV.c[3]>0.51 && pV.c[3]>pV.c[0] && pV.c[3]>pV.c[2] && pV.c[3]>pV.c[1]){
            vencedor=1;
            printf("Chaves e o vencedor da eleicao com %0.2f %% dos votos",(pV.c[3]*100));
        }
        /*if (vencedor==0){
            printf("vencedor=0");
        }*/
    
    
        return 0;
    }

     

×
×
  • Criar Novo...