Ir ao conteúdo

Posts recomendados

Postado

Boa Tarde! 

Sou iniciante em linguagem C, estou fazendo um trabalho de Programação Estruturada, no qual pede:

Crie um programa na linguagem C que transforme o seu computador em uma urna eletrônica para uma eleição. Regras: ● O objetivo da eleição deve ser definido pela equipe e deve ser apresentado no programa. Exemplo: “Eleição do Coordenador do Curso”. ● Essa eleição deve possuir no mínimo 4 candidatos. O nome dos candidatos devem aparecer na tela do programa para o usuário poder escolher. ● Cada voto deve ser dado pelo número do candidato, permitindo-se ainda o voto em branco (0) e voto nulo (quando vota em um candidato que não existe). ● No final da eleição, o programa deve emitir um relatório contendo a votação de cada candidato, de votos em branco, de votos nulos e o candidato eleito. ● Deverá ser considerado que a cidade possui somente 3 eleitores. Comandos restritos : swit-case, for, while, do-while, goto. 

Até o momento fiz isso , mas está dando erro

#include <stdio.h>
int main (){
int numero;
 char candidato;
 printf ("ELEIÇÃO PARA PRESIDENTE DO SINDICATO-\n Candidatos- Opções de voto:\n\tNulo=0(A)\n\tJoão=1(B)\n\tAna=2(C)\n\tJosé=3(D)\n\tMaria=4(E)\n\tDaniel=5(F)\n\tBranco=6(G)\nATENÇÃO ELEITOR DIGITE O NUMERO CORRESPONDENTE:");
scanf("%d",&numero);
 if(numero=0)
 candidato='A';
  if(numero=1)
 candidato='B';
  if(numero=2)
 candidato='C';
  if(numero=3)
 candidato='D';
   if(numero=4)
 candidato='E';
   if(numero=5)
 candidato='F';
   if(numero=6)
 candidato='G';
 
 printf("Candidato:%c\n",candidato);
}

Por favor alguém me ajude com dicas , ou videos que possa me orientar

Postado

@Debora Oliveira Acho que fica mais fácil se usar um vetor para representar a urna onde as posição será do candidato e dos votos brancos e nulos.

 

A declaração para 4 candidatos,

int urna[6] = {0};

 

Para alimentar o vetor crie uma função com o retorno da opção. Pode considerar 0 para os votos brancos e de 1 a 4 os eleitores. E qualquer outro valor para o nulo que será registrado na última posição do vetor. Depois é só registrar o voto,

urna[menu()] += 1;
urna[menu()] += 1;
urna[menu()] += 1;

 

Para mostrar o resultado é só imprimir a quantidade das posições do vetor.

  • Curtir 2
Postado
4 minutos atrás, Midori disse:

@Debora Oliveira Acho que fica mais fácil se usar um vetor para representar a urna onde as posição será do candidato e dos votos brancos e nulos.

 

A declaração para 4 candidatos,

int urna[6] = {0};

 

Para alimentar o vetor crie uma função com o retorno da opção. Pode considerar 0 para os votos brancos e de 1 a 4 os eleitores. E qualquer outro valor para o nulo que será registrado na última posição do vetor. Depois é só registrar o voto,

urna[menu()] += 1;
urna[menu()] += 1;
urna[menu()] += 1;

 

Para mostrar o resultado é só imprimir a quantidade das posições do vetor.

 

3 minutos atrás, Debora Oliveira disse:

 

Obrigada , vou estudar sobre vetor 

Postado
2 horas atrás, Debora Oliveira disse:

Comandos restritos : swit-case, for, while, do-while, goto

 

O enunciado é ruim. Imagino que restrito seja proibido, ou de uso proibido, ou mesmo em algum caso de uso restrito, já que restrito e proibido não são assim sinônimos.

 

Não existe comando switch-case, apenas switch. case é o prefixo do label dentro do comando.

do-while é exagero: não existe do sem while então comando do é suficiente.

 

Em relação ao programa:

Ao invés do ilegível 

 

printf ("ELEIÇÃO PARA PRESIDENTE DO SINDICATO-\n Candidatos- Opções de voto:\n\tNulo=0(A)\n\tJoão=1(B)\n\tAna=2(C)\n\tJosé=3(D)\n\tMaria=4(E)\n\tDaniel=5(F)\n\tBranco=6(G)\nATENÇÃO ELEITOR DIGITE O NUMERO CORRESPONDENTE:");

 

prefira
 

    printf("ELEIÇÃO PARA PRESIDENTE DO SINDICATO-\n\
 Candidatos- Opções de voto:\n\
\tNulo=0(A)\n\
\tJoão=1(B)\n\
\tAna=2(C)\n\
\tJosé=3(D)\n\
\tMaria=4(E)\n\
\tDaniel=5(F)\n\
\tBranco=6(G)\n\
ATENÇÃO ELEITOR DIGITE O NUMERO CORRESPONDENTE:");

 

De todo modo parabéns por não ter escrito uma chamada a printf() para cada linha, como parece a norma no BR  ;) 

 

voce pode continuar qualquer string usando um '\' ao final da linha...

 

3 horas atrás, Debora Oliveira disse:

Cada voto deve ser dado pelo número do candidato, permitindo-se ainda o voto em branco (0) e voto nulo (quando vota em um candidato que não existe)

 

Se está escrito isso no enunciado, para que as letras na pergunta para o voto? E no programa? Para que essas letras?

 

3 horas atrás, Debora Oliveira disse:

Deverá ser considerado que a cidade possui somente 3 eleitores

 

Só vai ler 3 votos!

 

De volta ao programa

 

Apenas crie duas tabelas com os candidatos válidos, que são ao menos 4. Em uma tabela coloque os nomes e na outra compute os votos. Nada mais. Exemplo:
 

    int     votos[10] = 0;
    char*   nomes[] = 
    {
    "Nulo",
    "João",
    "Ana",
    "José",
    "Maria",
    "Daniel",
    "Brancos"
    };

 

Assim tem onde contar os votos, de 1 a N, onde N é o total de candidatos...

 

2 horas atrás, Debora Oliveira disse:

vou estudar sobre vetor 

 

Talvez "estudar" seja exagero. Vetor é só um nome e um número de ocorrências., como em
 

    int cor[256];


que declara cor como um vetor de 256 int acessados pelo índice, de cor[0] até cor[255]

 

Note que não pode usar um loop para imprimir o resultado e que só tem 3 eleitores e pelo menos 4 candidatos então a eleição pode empatar :) e precisa ter um critério aí. Como o número é fixo pode simplesmente mostrar um depois do outro.

 

Como não pode usar loop, não use um menu: apenas mostre a lista de candidatos e leia os 3 votos de uma vez.

 

Ou use o simples: um menu recursivo para ler os votos e uma função recursiva para mostrar o resultado. Mas não acho que esse seja o tipo do exercício.

 

Ok, não é o forum de língua portuguesa...

 

3 horas atrás, Debora Oliveira disse:

O nome dos candidatos devem aparecer na tela do programa para o usuário poder escolher

 :( 

 

 

Veja esse programa:

 

#include <stdio.h>
int main(void)
{
    int		  votos[10] = {0};
    char* 	  nome[] = 
    {
    "Branco",
    "Joao",
    "Ana",
    "Jose",
    "Maria",
    "Daniel",
    "NULO"
    };

  int N = sizeof(nome) / sizeof(char*) - 2; // claro, brancos e nulos nao contam
  printf( "\
    Resultado para os %d candidatos:\n\
\n\
    %d    %s\n\
    %d    %s\n\
    %d    %s\n\
    %d    %s\n\
    %d    %s\n\
\n\
    %d Brancos, %d Nulos\n", N, 
    votos[1], nome[1],
    votos[2], nome[2],
    votos[3], nome[3],
    votos[4], nome[4],
    votos[5], nome[5],
    votos[0], votos[N-1]
    );
    return 0;
}
// fim

 

Que mostra até os resultados

 

    Resultado para os 5 candidatos:

    0    Joao
    0    Ana
    0    Jose
    0    Maria
    0    Daniel

    0 Brancos, 0 Nulos

 

E pode ajudar

 

  • Curtir 1

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!