Ir ao conteúdo
  • Cadastre-se

VisualG Como faço uma comanda de pedidos no portugol


Posts recomendados

Algoritmo "Restaurante // "

Tipo
   cardapio = Registro
      codigo : inteiro
      nome: Caractere
      quantidade : inteiro
      valor: Real
   FimRegistro
    t_pedido = registro
      codItem :inteiro
      qtd :inteiro
   fimRegistro

Var
   menu: Real
   lista_prod: vetor[1..10] de cardapio
   i, itens: inteiro
   op_menu:vetor [1..3] de Inteiro
   pedidos :vetor[1..3] de t_pedido

Procedimento MenuRestaurante()
Inicio
   Escreval("========================================")
   Escreval("========{       RESTAURANTE       }=======")
   Escreval("========================================")
   Escreval("Opção 1 - Inclusão de itens no cardapio ")
   Escreval("Opção 2 - Registro de pedido ")
   Escreval("Opção 3 - Resumo do pedido ")
   Escreval("Opção 4 - Sair ") // verificar se deixa como opcao 4 ou de deixa ou OUTROCASO
   Escreval("----------------------------------------")
FimProcedimento

Procedimento MenuRestaurantee()
Escreval("========================================")
Escreval("========{       RESTAURANTE       }=======")
Escreval("========================================")
Escreval("Opção 2 - Registro de pedido ")
Escreval("Opção 3 - Resumo do pedido ")
Escreval("Opção 4 - Sair ") // verificar se deixa como opcao 4 ou de deixa ou OUTROCASO
Escreval("----------------------------------------")
FimProcedimento
Inicio
   Repita
      MenuRestaurante()
      Escreval("Qual a sua escolha no restaurante? ")
      Leia(menu)
      Se (menu = 1) então
         Limpatela
         Para i de 1 ate 1 faca // lembrar de alterar para 10
            Escreva("Digite o código do produto : ")
            Leia(lista_prod[i].codigo)
            Escreva("Informe o nome do produto: ")
            Leia(lista_prod[i].nome)
            Escreva("Informe a quantidade em estoque do produto : ")
            Leia(lista_prod[i].quantidade)
            Escreva("Informe o valor [UNITÁRIO] do produto : ")
            Leia(lista_prod[i].valor)
            Escreval
            Escreval("========================================")
            Escreval
         FimPara
      FimSe
      LimpaTela
      Escreval("============================================================================================================================")
      Escreval("                                          C A R D A P I O    R E S T A U R A N T E                                          ")
      Escreval("============================================================================================================================")
      Escreval
      Para i de 1 ate 1 faca // lembrar de alterar para 10
         Escreval("|Código do Produto:",lista_prod[i].codigo, "|  Nome do Produto: ",lista_prod[i].nome,"|  Quantidade em Estoque:  ", lista_prod[i].quantidade,"|  Valor [UNITÁRIO] do Produto: R$ ",lista_prod[i].valor)
         Escreval("---------------------------------------------------------------------------------------------------------------------------")
      FimPara
      Escreval
      Escreval
      Escreval
      Escreval
      Escreval
      MenuRestaurante()
      Leia(Menu)
      Se (Menu = 2) então
         Escreval("============================================")
         Escreval("     M O N T E     S E U    P E D I D O     ")
         Escreval("============================================")
         Para i de 1 ate 3 faca
            EscrevaL("Item: ", cardapio[i].nome:30, " R$", cardapio[i].valor:1:2)
         FimPara
      FimSe
  • Confuso 1
Link para o comentário
Compartilhar em outros sites

@bibalinda Seu programa está muito complexo para te ajudar, porque você não pega papel e caneta e tenta elaborar antes de tentar escrever?

 

Você fez dois menus que são praticamente os mesmos, e de nomes mais expressivos para as funções e variáveis.

 

Eu estou com um pouco de pressa, mas uma organização melhor para o seu algoritmo seria

Algoritmo "restaurante"

const
   Q_ITENS = 10

tipo
   t_produto = registro
      codigo:inteiro
      nome:caractere
      quantidade:inteiro
      preco:real
   fimRegistro

var
   opcao, contador:inteiro
   q_itens_registrados:inteiro
   cardapio:vetor[1..Q_ITENS] de t_produto

procedimento barra_simples(tamanho:inteiro; simbolo:caractere)
var
   contador:inteiro
inicio
   para contador de 1 ate tamanho faca
      escreva(simbolo)
   fimPara
   escreval
fimProcedimento

procedimento baner_simples(msg, adornos:caractere; tamanho:inteiro)
var
   contador:inteiro
inicio
   barra_simples(tamanho, adornos)
   escreval(msg)
   barra_simples(tamanho, adornos)
fimProcedimento

procedimento faz_pausa
var
   enter:caractere
inicio
   escreval("pressione enter para continuar")
   leia(enter)
fimProcedimento

funcao menuPrincipal:inteiro
var
   opcao:inteiro
inicio
   repita
      limpaTela
      baner_simples("Restaurante", "=", 40)
      escreval("1-Retirar, cadastrar e ver itens")
      escreval("2-Registrar pedido")
      escreval("3-Resumo do pedido")
      escreval("4-Sair do programa")
      leia(opcao)
      se (opcao < 1) ou (opcao > 4) entao
         escreval("Opção invalida!")
         faz_pausa
      fimSe
   ate não((opcao < 1) ou (opcao > 4))
   retorne(opcao)
fimFuncao

funcao menuCadastros:inteiro
var
   opcao:inteiro
inicio
   repita
      limpaTela
      baner_simples("Cadastro de itens", "!", 40)
      escreval("1-Cadastrar novo item no cardapio")
      escreval("2-Retirar item do cardapio")
      escreval("3-Ver todos os itens do cardapio")
      escreval("4-Voltar ao menu anterior")
      leia(opcao)
      se (opcao < 1) ou (opcao > 4) entao
         escreval("Opção invalida!")
         faz_pausa
      fimSe
   ate não((opcao < 1) ou (opcao >4))
   retorne(opcao)
fimFuncao

inicio
   // Inicia as variaveis
   q_itens_registrados <- 0
   repita
      opcao <- menuPrincipal
      escolha (opcao)
      caso 1
         repita
            opcao <- menuCadastros
            limpaTela
            escolha (opcao)
            caso 1
               se q_itens_registrados < Q_ITENS entao
                  escreval("Digite o codigo do produto")
                  leia(cardapio[q_itens_registrados+1].codigo)
                  escreval("Digite o nome do produto")
                  leia(cardapio[q_itens_registrados+1].nome)
                  escreval("Digite a quantidade do produto")
                  leia(cardapio[q_itens_registrados+1].quantidade)
                  escreval("Digite o preco do produto")
                  leia(cardapio[q_itens_registrados+1].preco)
                  q_itens_registrados <- q_itens_registrados+1
               fimSe
            caso 3
               se q_itens_registrados = 0 entao
                  escreval("Não há itens no cardapio")
               seNao
                  escreval("Codigo |Nome | Quantidade| Preço")
                  para contador de 1 ate q_itens_registrados faca
                     escreval(cardapio[contador].codigo,"-", cardapio[contador].nome, "|", cardapio[contador].quantidade, "-", cardapio[contador].preco)
                  fimPara
               fimSe
               faz_pausa
            fimEscolha
         ate opcao = 4
         opcao <- 0
      fimEscolha
   ate opcao = 4
fimAlgoritmo

 

Link para o comentário
Compartilhar em outros sites

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