Ir ao conteúdo
  • Cadastre-se

VisualG Sistema para um Restaurante


Posts recomendados

Algoritmo "Sistema de Restaurante"

tipo

   cardapio = Registro
      nome: Caractere
      valor: Real
   fimregistro

Var

   menu: Real
   cardapio_rest: vetor[1..10] de cardapio
   i, itens: inteiro
   op_menu:vetor [1..3] de Inteiro


Inicio

   Repita
      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("----------------------------------------")
      Escreval("Qual a sua escolha no restaurante? ")
      Leia(menu)
      Escolha(menu)
      Caso 1
         Para i de 1 ate 2 faca // lembrar de alterar para 10
            Escreval("informe os itens no cardapio por dia: ")
            Leia(cardapio_rest[i].nome)
            Escreva("Informe os valores dos itens do cardapio: ")
            Leia(cardapio_rest[i].valor)
         Fimpara

         Escreval("----------------------------------------")
         Para i de 1 ate 2 faca
            Escreval(cardapio_rest[i].nome, cardapio_rest[i].valor)
         Fimpara

      Caso 2
         para i de 1 ate 3 faca
            Escreva("Digite até três itens do cardapio ")
            leia(op_menu[i])
         fimpara

         Escolha op_menu[i]
         caso 1
            pedido_cliente[i] <- cardapio_rest[1].nome
            valor_pedido[i] <- cardapio_rest[1].valor

         caso 2
            pedido_cliente[i] <- cardapio_rest[2].nome
            valor_pedido[i] <- cardapio_rest[2].valor
            
         caso 3
            pedido_cliente[i] <- cardapio_rest[3].nome
            valor_pedido[i] <- cardapio_rest[3].valor
            
         caso 4
            pedido_cliente[i] <- cardapio_rest[4].nome
            valor_pedido[i] <- cardapio_rest[4].valor

         caso 5
            pedido_cliente[i] <- cardapio_rest[5].nome
            valor_pedido[i] <- cardapio_rest[5].valor

         caso 6
            pedido_cliente[i] <- cardapio_rest[6].nome
            valor_pedido[i] <- cardapio_rest[6].valor
            
         caso 7
            pedido_cliente[i] <- cardapio_rest[7].nome
            valor_pedido[i] <- cardapio_rest[7].valor

         caso 8
            pedido_cliente[i] <- cardapio_rest[8].nome
            valor_pedido[i] <- cardapio_rest[8].valor

         caso 9
            pedido_cliente[i] <- cardapio_rest[9].nome
            valor_pedido[i] <- cardapio_rest[9].valor

         caso 10
            pedido_cliente[i] <- cardapio_rest[10].nome
            valor_pedido[i] <- cardapio_rest[10].valor


            Escreval("----------------------------------------")

         caso 3
            Escreval
            Escreval("===========================")
            EscrevaL("|  COMANDA DE PEDIDO      |")
            Escreval("===========================")
            Escreval("| QTD |   ITENS   | VALOR |")
            Escreval("---------------------------")
            Escreval("|", itens, "|  | Valor |")


         fimescolha
      Ate menu=4

Fimalgoritmo

 

Não estou  conseguindo ligar os pontos... Quando coloco os nomes e valores dos itens, ele não guarda... E a parte do resumo do pedido, como faria? Tem alguma dica?

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
55 minutos atrás, bibalinda disse:

Quando coloco os nomes e valores dos itens, ele não guarda

 

Tá, mas acontece o quê?

Para ser direto, faltou fechar o fimEscolha dentro do caso 2.

Dica básica. se atente sempre a deixar as estruturas prontas. Se começou um escolha, tem que ter o seu fimEscolha. Se começou um se, tem que ter o seu fimSe etc. Ainda mais no VisualG que "não tem compilador", ou seja, só mostra o erro quando o código roda (em vez de já mostrar quando tenta compilar).

 

 

Sobre os pedidos, use um vetor para controlar. Os comandos seriam algo como:
 

contPedido <- contPedido+1
leia(pedidos[contPedido].codItem)
leia(pedidos[contPedido].qtd)


Segue esboço de código:
 

algoritmo "Sistema de Restaurante"
const
   TAM = 3
tipo
   t_item = registro
      nome :caractere
      //valor :real
      valor: inteiro //por enquanto, para facilitiar gerar valores
   fimRegistro

   t_pedido = registro
      codItem :inteiro
      qtd :inteiro
   fimRegistro

var
   menu :real
   cardapio :vetor[1..10] de t_item
   pedidos :vetor[1..3] de t_pedido
   i :inteiro
inicio
   repita
      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                          ")
      escrevaL("----------------------------------------")
      escrevaL("Qual a sua escolha no restaurante? ")
      leia(menu)

      escolha menu
      caso 1
         escrevaL("Informe os itens no cardapio por dia: ")
         para i de 1 ate TAM faca
            escreva ("Descrição : ")
            ALEATORIO ON
            LISTA "ESTADOS"
            leia(cardapio[i].nome)
            ALEATORIO OFF
            escreva ("Valor     : R$ ")
            ALEATORIO 1, 80
            leia(cardapio[i].valor)
            ALEATORIO OFF
         fimPara

         escrevaL("----------------------------------------")
         para i de 1 ate TAM faca
            escrevaL(i, " ", cardapio[i].nome:20, " R$", cardapio[i].valor:1:2)
         fimPara

      caso 2
         para i de 1 ate TAM faca
            escrevaL("Item: ", cardapio[i].nome:30, " R$", cardapio[i].valor:1:2)
         fimPara




      caso 3
         escrevaL("EM CONSTRUÇÃO")
      fimEscolha
   ate menu=4
fimAlgoritmo


Por enquanto se preocupe apenas em conseguir cadastrar pedidos... que o vetor seja preenchido corretamente. Só depois para calcular (que basicamente será pegar os dados desse vetor de registro e fazer as contas).

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