Ir para conteúdo
Fórum Script Brasil
  • 0

Algoritmo - Visualg 2.0


raphael369

Pergunta

Boa noite. Sou aluno de BCC 1º período Estou um tanto quanto desesperado com esse exercício de "Algoritmos e Programação". Essa disciplina tem sido uma pedra no meu sapato. Já pensei até em mudar de curso por conta dela. Na minha turma é cheio de aluno repetente, então o professor corre demais com a matéria, achando que todo mundo já ta sabendo legal e os calouros que se explodam. Não estou aqui atrás da resolução completa. Só quero que me mostrem o caminho e uma linha válida de raciocínio para solucionar esse problema. O professor quer que resolva usando ou repetição ou múltipla escolha, sempre validando.

Segue aí o problema.

"Após as recentes derrotas da Seleção Brasileira de Futebol, a CBF resolveu fazer uma pesquisa sobre a atuação do técnico Mano Menezes. Para ajudar nesta pesquisa você irá elaborar um algoritmo que cadastre o nome do responsável pela pesquisa, não podendo este nome não ser informado (não é valido não ser digitado o nome), a quantidade de pessoas entrevistadas, que não pode ser inferior a 5, e para cada entrevistado o seu voto de acordo com a seguinte classificação:

Opção Atuação do técnico

1 Excelente

2 Boa

3 Precisa Melhorar

4 Substituir o técnico

Caso seja informada uma classificação diferente de 1, 2, 3 ou 4 o voto deve ser computado como sem opinião. Após o término da leitura dos dados de todos os entrevistados, seu algoritmo deve apresentar o nome do responsável pela pesquisa, a quantidade de entrevistados que escolheram a opção 1, a quantidade que escolheram a opção 2, a quantidade que escolheram a opção 3, a quantidade que escolheram a opção 4, além da quantidade de entrevistados que não emitiram opinião (sem opinião).

Obrigado pela atenção.

Editado por raphael369
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Boa noite!

Antes de qualquer coisa: a linguagem c não é nenhum bicho de sete cabeças. Acho que de tanto falarem que é difícil, as pessoas já desistem logo nas primeiras tentativas, imaginando que nunca vão conseguir! Não caia nessa armadilha! ;)

Sobre o seu problema: primeiro vou dar uma dica por cima... Conforme você for precisando de mais ajuda, eu vou passando... Mais ou menos como para pegar no tranco... :P

Brincadeiras à parte, vamos ao que interessa. Eu desenvolveria esse programa da seguinte forma:

1) Seriam criadas as variáveis para armazenar o nome e a quantidade de vezes que cada opinião foi informada.

2) Criar loop que lê o nome, repetindo enquanto não for digitado um nome válido.

3) Ler número de respostas

4) Criar loop para leitura das respostas, incrementando as variáveis correspondentes

5) Exibir os resultados

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Raphael, vou te dar algumas dicas que sem que eu faça código nenhum vão te ajudar a criar o seu próprio código para resolver não só este problema, mas muitos outros.

Vamos por partes:

1º: Quais são os dados que serão inseridos pelos usuários?

R: Nome do responsável, quantidade de pessoas entrevistadas e seus respectivos votos. Agora vamos separá-los de acordo com o que são:

Nome do responsável: string ou array de char;

Quantidade de pessoas: int (quantidade de pessoas >= 5);

Seus votos: 5 int(int opcao1; int opcao2; intopcao3; int opcao4; int opcao5;

2º: O que precisamos fazer com esses dados?

R: Nome do responsável: Colocá-lo na tela;

Quantidade de pessoas + votos: Ver quantas pessoas votaram na opção 1, 2, 3, 4, 5(Voto nulo/Não emitiram opinião);

3º: Como fazemos cada um deles?

R: Nome do responsável: Basta utilizar o getline (cin, nomedoresponsavel) e depois utilizar o cout para mostrá-la na tela;

Quantidade de pessoas + votos: Essa parte é um pouco mais complexa, então vamos por partes:

1º: Para não termos que ficar escrevendo várias vezes a pergunta "Qual é o seu voto?" e etc., usaremos um loop(laço). O for loop. Ficando assim:

for (int i = 0; i < quantidadedepessoas;i++)
; 2º: Criaremos um menu com as opções de voto usando switch; 3º: Usaremos um switch para determinar qual é o voto do usuário.
switch (voto)
{
case 1:
{
opcao1++;
break//não esqueça do break.
}

}

[...]
4º: Como temos os incrementos dependendo do voto, basta usarmos o return em conjunto com a opção desejada que saberemos quantos votos ela teve, :D. Obs.: Caso queira usar acentos no seu programa, o que provavelmente quer, adicione esse código dentro da sua função main:
setlocale(LC_ALL, "Portuguese");

e não se esqueça de incluir a biblioteca <locale.h> no seu programa.

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Bom, é isso. Pode ter algo errado aqui, mas tenho certeza que você entendeu a ideia. Primeiro, separe tudo. Depois pense em como faria o que é pedido. Após isso, montem o código. E caso não saiba algo, use a Internet, :D.

Att.,

Pedro Cunha

edit: Obrigado ao Marcelo pelas dicas.

Editado por PedroCunha
Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado. Mas eu acho que deve estar havendo um pequeno mal entendido. Eu devo ter colocado o post no campo errado, porque eu não aprendi essa linguagem ainda. Só tive quatro aulas de programação. Conheço muito pouco. Só conheço estrutura de repetição com para...faca e validação com enquanto.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...