Ir ao conteúdo

Posts recomendados

Postado

Olá pessoal, tenho um trabalho para ser feito em C...

Trabalho de Progressão Parcial, porém devo faze-lo em vetores.

Não sei muita coisa em vetores. Consegui faze-lo sem os vetores.

Poderiam me ajudar, por favor?

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

int main(){
float cand, total, i, candt[5],porbranco,pornulo,c1=0,c2=0,c3=0,c4=0,branco=0,nu lo=0;
char resposta'n';
system("color 0c");
printf("\nELEICOES.\n\nDIGITE -1 PARA ENCERRAR A VOTACAO\n\n");
system("PAUSE");
system("cls");
system("color 0b");
while(cand!=-1){
printf(":: || ELEICOES 2011 || ::\n\n");
printf("Escolha seu candidato:\n\n");
printf("1 - Marta Suplicy\n2 - Paulo Maluf\n3 - Netinho\n4 - Tiririca\n5 - Branco\n\n ");
printf("Escolha o seu candidato: ");
scanf("%f",&cand);
if(cand==1)
scanf("%f",&cand[1]);
else if(cand==2)
scanf("%f",&cand[2]);
else if(cand==3)
scanf("%f",&cand[3]);
else if(cand==4)
scanf("%f",&cand[4]);
else if (cand==5)
scanf("%f",&cand[5]);
printf("\n\n");

system("cls");
printf(":: || ELEICOES 2011 || ::\n\n");
printf("CANDIDATO\n\n");


if(cand==1) {
printf("1 - Marta Suplicy\n\n");
printf("Confirmar voto(S/N): ");
resp=getche();
if (resposta='s' || resposta='S'){
c1++;
printf("\n\n");
}
}

else if(cand==2){

printf("2 - Paulo Maluf\n\n");
printf("Confirmar voto(S/N): ");
resp=getche();
if (resposta='s' || resposta='S'){
c2++;
printf("\n\n");

}
}

else if(cand==3){


printf("3 - Netinho\n\n");
printf("Confirmar voto(S/N): ");
resp=getche();
if (resposta='s' || resposta='S'){
c3++;
printf("\n\n");

}
}

else if(cand==4){

printf("4 - Tiririca\n\n");
printf("Confirmar voto(S/N): ");
resp=getche();
if (resposta='s' || resposta='S'){
c4++;
printf("\n\n");

}
}

else if(cand==5){

printf("5 - Branco\n\n");
printf("Confirmar voto(S/N): ");
resp=getche();
if (resposta='s' || resposta='S'){
branco++;
printf("\n\n");

}
}
else if(cand==-1)
break;

else if (! (cand==-1 && cand==1 && cand==2 && cand==3 && cand==4) ){
system("cls");
printf("Candidato Invalido\n\n");
printf("Confirmar voto(S/N): ");
resp=getche();
if (resposta='s' || resposta='S'){
nulo++;
printf("\n\n");

}
}

if(resposta='n' || resposta='N'){
system("cls");
printf("ESCOLHA NOVAMENTE O CANDIDATO.\n\n");
printf("\n");
system("PAUSE");
system("cls"); }

else if(resposta='s' || resposta='S'){
printf("VOTO COMPUTADO COM SUCESSO.\n\n");
system("PAUSE");
system("cls"); }

else{
system("cls");
printf("ENTRADA INVALIDA.\n\n");
system("PAUSE");
system("cls"); }

}

system("cls");
printf("VOTACAO ENCERRADA.\n\n");
system("PAUSE");
system("cls");


total=c1+c2+c3+c4+branco+nulo;

if (total==0){
printf("NAO HOUVE VOTACAO");
printf("\n\n");
system("PAUSE");
system("cls"); }


else {

cand1p=((c1*100)/total);
cand2p=((c2*100)/total);
cand3p=((c3*100)/total);
cand4p=((c4*100)/total);
porbranco=((branco*100)/total);
pornulo=((nulo*100)/total);
}

for(i=1;i<=4;i++){
if(c1>=c2 && c1>=c3 && c1>=c4 ){
printf("\n CANDIDATO 1 (MARTA SUPLICY), RECEBEU %.0f VOTOS ",c1);
printf("(%.2f)\n\n",cand1p);
c1=-1; }

else if(c2>=c1 && c2>=c3 && c2>=c4){
printf("CANDIDATO 2 (PAULO MALUF), RECEBEU %.0f votos",c2);
printf(" (%.2f)\n\n",cand2p);
c2=-1; }

else if(c3>=c1 && c3>=c2 && c3>=c4){
printf("CANDIDATO 3 (NETINHO), RECEBEU %.0f votos",c3);
printf(" (%.2f)\n\n",cand3p);
c3=-1; }

else{
printf("CANDIDATO 4 (TIRIRICA), RECEBEU %.0f votos",c4);
printf("(%.2f)\n\n",cand4p);
c4=-1; }
}


printf("VOTOS EM BRANCO: %.2f VOTOS",branco);
printf(" (%.2f)\n",porbranco);
printf("VOTOS INVALIDOS: %.2f VOTOS",nulo);
printf(" (%.2f)\n",pornulo);
printf("TOTAL DE VOTOS: %.2f\n\n",total);
system("PAUSE");

return 0;
}

valeu ^_^

Edit: Onde posso aplicar os vetores para a armazenagem das informações?

Estou tentando a mais de 2 horas e não consigo =/

Postado

Tentei encontrar alguma utilidade para essa parte do código:


if(cand==1)
scanf("%f",&cand[1]);
else if(cand==2)
scanf("%f",&cand[2]);
else if(cand==3)
scanf("%f",&cand[3]);
else if(cand==4)
scanf("%f",&cand[4]);
else if (cand==5)
scanf("%f",&cand[5]);
printf("\n\n");

mas não encontrei...

O usuário deve digitar o número do candidato, depois confirmar, e isso acontece até ele digitar -1, correto?

Basicamente, você deve fazer uma estrutura de laço (while, do-while, for...) para ir lendo os numeros dos candidatos até ser informado -1, e armazenando os votos num único vetor.

É muito comum utilizar os numeros dos indices do vetor neste caso. Um vetor de 6 posições, por exemplo, vai do indice 0 até o indice 5. Imagine agora que o usuário queira votar no Tiririca. Seu número é 4. Para computar tal voto, após a confirmação, basta incrementar:


qtdeVotos[codigoDoCandidato]++;

Simples, não?

Tente fazer. Caso não consiga, dê uma olhada no que eu fiz:


#include <stdio.h>

int main(){
int i, qtdeVotos[6] = {0,0,0,0,0}, totalVotos = 0;
char confirmar, candidatos[][20] = {"","Marta Suplicy", "Paulo Maluf", "Netinho","Tiririca", "Branco"};

printf(":: || ELEICOES 2011 || ::\n\n");
do{
printf("Escolha seu candidato:\n\n");
printf("1 - Marta Suplicy\n2 - Paulo Maluf\n3 - Netinho\n4 - Tiririca\n5 - Branco\n\n");
scanf("%d", &i);
if(i == -1){
printf("Votacao encerrada.\n");
system("CLS");
break;
} else if(i > 5){
system("CLS");
printf("Candidato Invalido.\n");
continue;
}

do {
if(i == 5){
printf("Confirmar voto em branco? (S ou N)", i);
} else {
printf("Confirmar voto para candidado numero %d (%s)? (S ou N)", i, candidatos[i]);
}
fflush(stdin);
scanf("%c", &confirmar);
confirmar += (confirmar == 78 || confirmar == 83) ? 32 : 0;
} while (confirmar != 110 && confirmar != 115);

system("CLS");
if(confirmar == 's'){
qtdeVotos[i]++;
totalVotos++;
} else {
continue;
}

} while (1);

if(totalVotos == 0){
printf("Nao houve votacao.\n");
return(0);
} else {
for(i=1; i<=5; i++){
printf("Candidato %d (%s) recebeu %2.2f%% votos.\n", i, candidatos[i], ((float)qtdeVotos[i]/totalVotos)*100);
}
}
return(0);
}

  • 7 anos depois...
Postado

#include <stdio.h>

int main()
{
    int voto=8, c1=0, c2=0, c3=0, c4=0, c5=0, vn=0, vb=0;
    printf("Inicie as Votacoes");


    while(voto!=0)
    {
        printf("\n\n 1-Joao\n 2-Carlos\n 3-Fabio\n 4-Fernando\n 5-Cristian\n 6-Voto Nulo\n 7-Voto em Branco\n");
        printf("Digite o numero do candidato e aperte ENTER: ");
        scanf("%d", &voto);

        switch(voto)
        {
        case 0:
            printf("\nVOTACAO ENCERRADA!");
            break;
        case 1:
            c1=c1+1;
               printf("Voto para Joao registrado");
            break;
        case 2:
            c2=c2+1;
               printf("Voto para Carlos registrado");
            break;
        case 3:
            c3=c3+1;
               printf("Voto para Fabio registrado");
            break;
        case 4:
            c4=c4+1;
               printf("Voto para Frenando registrado");
            break;
        case 5:
            c5=c5+1;
               printf("Voto para Cristian registrado");
            break;
        case 6:
            vn=vn+1;
               printf("Voto Nulo registrado");
            break;
        case 7:
            vb=vb+1;
               printf("Voto Em Branco registrado");
            break;
        default:
            printf("Opcao invalida");
            break;
        }
        if
    }
    printf("RESULTADOS:\n Joao\t\t %d\n Carlos\t\t %d\n Fabio\t\t %d\n Fernando\t %d\n Cristian\t %d\n Voto Nulo\t %d\n Voto em Branco\t %d\n", c1, c2, c3, c4, c5, vn, vb);

    printf("\n\n");
    return 0;

}

adicionado 2 minutos depois
agora, Fernando Carvalho07 disse:

#include <stdio.h>

int main()
{
    int voto=8, c1=0, c2=0, c3=0, c4=0, c5=0, vn=0, vb=0;
    printf("Inicie as Votacoes");


    while(voto!=0)
    {
        printf("\n\n 1-Joao\n 2-Carlos\n 3-Fabio\n 4-Fernando\n 5-Cristian\n 6-Voto Nulo\n 7-Voto em Branco\n");
        printf("Digite o numero do candidato e aperte ENTER: ");
        scanf("%d", &voto);

        switch(voto)
        {
        case 0:
            printf("\nVOTACAO ENCERRADA!");
            break;
        case 1:
            c1=c1+1;
               printf("Voto para Joao registrado");
            break;
        case 2:
            c2=c2+1;
               printf("Voto para Carlos registrado");
            break;
        case 3:
            c3=c3+1;
               printf("Voto para Fabio registrado");
            break;
        case 4:
            c4=c4+1;
               printf("Voto para Frenando registrado");
            break;
        case 5:
            c5=c5+1;
               printf("Voto para Cristian registrado");
            break;
        case 6:
            vn=vn+1;
               printf("Voto Nulo registrado");
            break;
        case 7:
            vb=vb+1;
               printf("Voto Em Branco registrado");
            break;
        default:
            printf("Opcao invalida");
            break;
        }
        if
    }
    printf("RESULTADOS:\n Joao\t\t %d\n Carlos\t\t %d\n Fabio\t\t %d\n Fernando\t %d\n Cristian\t %d\n Voto Nulo\t %d\n Voto em Branco\t %d\n", c1, c2, c3, c4, c5, vn, vb);

    printf("\n\n");
    return 0;

}

Tenho este código que talvez possa ajudar.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!