Ir ao conteúdo
  • Cadastre-se

Problema criar menu e voltar para o mesmo - visualg


Posts recomendados

Ola gente.

Tenho um trabalho de algoritmos para realizar e comecei a encontrar algumas dificuldades.

Segue o enunciado:

 

Crie um algoritmo que contenha um menu, que execute a ação escolhida e volte a mostrar as demais opções, até que o usuário resolva sair do sistema. As ações deverão ter todas as seguintes características:

1. Cadastrar moradores e códigos (solicitar cada vez se o usuário quer continuar cadastrando, no máximo 20 posições);

2. Cadastrar consumo de água (solicitar cada vez se o usuário quer continuar cadastrando, no máximo

20 posições, sendo que esta posição equivale à posição dos moradores);

3. Mostrar na tela os moradores e os códigos (em ordem alfabética de moradores);

4. Mostrar na tela os moradores e o consumo em ordem crescente ou decrescente de consumo (o sistema deverá perguntar a ordem desejada);

5. Mostrar na tela os códigos (em ordem crescente);

6. Pesquisar moradores (ler um morador e informar, se cadastrado, o código e o consumo);

7. Pesquisar códigos (ler um código e informar se está cadastrado, mostrando o morador correspondente);

8. Informar a quantidade de moradores e consumos cadastrados (contar quantos cadastros foram feitos);

9. Sair.

Obs 1: Quando terminar de mostrar ou cadastrar uma opção, o sistema deverá ficar com uma frase “Aperte <ENTER> para continuar”, logo após voltando ao menu principal;

Obs 2: O sistema deverá mostrar na tela apenas os comandos da ação escolhida, sendo que quando for pra mostrar o menu, o comando limpatela deverá ter sido executado;

Obs 3: Todas as telas devem ser autoexplicativas para o usuário, ou seja, antes de solicitar ou mostrar alguma coisa na tela, o sistema deve dizer o que o usuário está fazendo.

 

 

Então, ainda estou bem no iniciozinho dele e tive problemas para fazer minha primeira opção do menu (cadastrar morador e codigo) p/ voltar ao menu principal.

 

Segue o meu código ate agora:

algoritmo "semnome"
  // Função :
  // Autor :
  // Data : 26/05/2014
  // Seção de Declarações 
  vara1,a2,a3,a4 :inteiro
  v1: vetor [1..3] de inteiro
  v2: vetor [1..3] de caracter
  i: inteiro
  sair:inteiro
  a0: inteiro
 inicio
 // Seção de Comandos 
    repita
    Escreval ("Menu principal")
    Escreval ("1. Cadastrar Moradores e codigos")
    Escreval ("2. Cadastrar consumo de água")
    Escreval ("3.Mostrar moradores e codigo")
    Escreval  ("4. Sair ")
    leia (a1)
    escolha a1
    caso 1
          para i de 1 ate 3 
              passo 1 faca
                   escreva ("Insira os nomes do morador")
                   leia (v2[i])
                   Escreval ("insira o codigo dos moradores")
                   leia (v1[i])fimpara
            caso 2
            caso 3
            caso 4
    fimalgoritmo
    outro caso
    fimescolha
    ate a1=4
    fimalgoritmo

toda ajuda é bem vinda, desde já grata :)

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Estou verificando e percebi que:

 

1-Os vetores morador e código devem ter 20 posições cada, porém todo vez que você cadastrar essas duas opções  deve perguntar se quer continuar cadastrando ou não.(Seu programa não faz tudo que é pedido no item 1).

 

Obs: Recomendo utilizar o enquanto ao invés do para.


:) Continue o código, você está indo bem! Até então verifiquei apenas esse erro, caso alguém tenha notado algo que não vi peço que notifiquem.  

Link para o comentário
Compartilhar em outros sites

Então...
 

Estou com problemas para conseguir perguntar se deseja continuar ou não.
 

Eu tentei colocar um escreva + se dentro do para pra caso não desejasse continuar voltar ao menu principal, mas não deu muito certo.
 

Acabou dando alguns erros no fimpara fazendo o programa encerrar sem voltar para o menu principal.

 

Sobre sua sugestão sobre utilizar o enquanto ao invés do para, como ficaria a estrutura com a opção de continuar cadastrando ou não?

Obg desde ja :) 

Link para o comentário
Compartilhar em outros sites

@dif vou escrever esse exemplo, mas não veja como se eu estivesse dando uma resposta pronta. 

 

ao invés de você fazer a forma tradicional: 

 

enquanto cond faça comando;fimenquanto;

 Use:

enquanto cond1 ou cond2 faça comando;.........fimenquanto;

Existe um post de outro usuário que utiliza uma estrutura semelhante. 

Segue o link: http://forum.clubedohardware.com.br/forums/topic/1024753-enquanto-visualg/

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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!