Ir ao conteúdo
  • Cadastre-se

VisualG Controle de lanchonete com menu


Posts recomendados

Meu amigo escreveu um um código sobre um programa e pediu opinião para ver se está bom. Gostaria que vocês olhassem para ver que acham.

 

Var
   // Seção de Declarações das variáveis
   opc , oplanch, opacompanhamento , opbebida, qtd : inteiro
   vlLanch, vlAcompanhamento , vlBebida : real
   Lanches, Acompanhamento , Bebidas , Total : real











 Total <- 0
   opc <- 0
   oplanch <- 0
   opacompanhamento <- 0
   opbebida <- 0
   qtd <- 0
   // seção de comandos, procedimento, funcões, operadores, etc...
   repita
      Escreval ("  ====== MENU ======")
      Escreval (" 1 Lanches          ")
      Escreval (" 2 Acompanhamentos  ")
      Escreval (" 3 Bebidas          ")
      Escreval (" 0 finalizar pedido ")
      Escreva  (" Faça  seu pedido,  ")
      Escreval (" escolha uma opção  ")
      leia (opc)
      escolha opc

      caso 1
         repita
            escreval ("  ====== LANCHES ======")
            escreval (" 1 X-burguer --------> R$ 10,00")
            escreval (" 2 X-Salada --------> R$ 12,00")
            escreval (" 3 X-Calabresa --------> R$ 13,00")
            escreval (" 4 X-Tudo --------> R$ 15,00")
            escreval (" 5 X-Frango --------> R$ 10,00")
            escreval (" 6 X-Egg --------> R$ 12,00")
            escreval (" 7 hamburguer vegano --------> R$ 14,00")
            escreval (" 0 voltar ao menu anterior "  )
            escreval (" Escolha uma opção de lanche "  )
            leia (oplanch)

            se oplanch = 0 então
               interrompa
            fimse

            escreval ("Informe a quantidade")
            leia (qtd)

            escolha (oplanch)
            caso 1
               vlLanch <- vlLanch + 10 * qtd
            caso 2
               vlLanch <- vlLanch + 12 * qtd
            caso 3
               vlLanch <- vlLanch + 13 * qtd
            caso 4
               vlLanch <- vlLanch + 15 * qtd
            caso 5
               vlLanch <- vlLanch + 10 * qtd
            caso 6
               vlLanch <- vlLanch + 12 * qtd
            caso 7
               vlLanch <- vlLanch + 14 * qtd
            fimescolha


         ate oplanch = 0
         Escreval ("....................................")
         Escreval ("valor Do Pedido = R$", vlLanch,",00")
         Escreval ("....................................")
         Lanches <- Lanches + vlLanch
         timer 3000
         timer 0

      caso 2
         repita
            Escreval ("====== ACOMPANHAMENTOS ======")
            Escreval (" 1 Batata Frita ----------> R$ 9,00 ")
            Escreval (" 2 Salada ---------------> R$ 10,00 ")
            Escreval (" 3 Aneis de Cebola ------> R$ 12,00 ")
            Escreval (" 4 Frango no balde ------> R$ 14,00 ")
            Escreval (" 5 Nachos  --------------> R$ 10,00 ")
            Escreval (" 6 Bolinhos De Carne ----> R$ 11,00 ")
            Escreval (" 7 Pastel De Queijo ------> R$ 6,00 ")
            Escreval (" Voltar ao menu anterior "           )
            Escreval (" Escolha uma opção de acompanhamento ")
            leia (opacompanhamento)

            se opacompanhamento = 0 então
               interrompa
            fimse

            Escreval ("Informe a Quantidade ")
            leia (qtd)

            escolha (opacompanhamento)
            caso 1
               vlAcompanhamento <- vlAcompanhamento + 9 * qtd
            caso 2
               vlAcompanhamento <- vlAcompanhamento + 10 * qtd
            caso 3
               vlAcompanhamento <- vlAcompanhamento + 12 * qtd
            caso 4
               vlAcompanhamento <- vlAcompanhamento + 14 * qtd
            caso 5
               vlAcompanhamento <- vlAcompanhamento + 10 * qtd
            caso 6
               vlAcompanhamento <- vlAcompanhamento + 11 * qtd
            caso 7
               vlAcompanhamento <- vlAcompanhamento + 6 * qtd
            fimescolha


         ate opacompanhamento = 0
         Escreval (".............................................")
         Escreval ("valor Do Pedido = R$", vlAcompanhamento,",00")
         Escreval (".............................................")
         Acompanhamento <- acompanhamento + vlAcompanhamento
         timer 3000
         timer 0

      caso 3
         repita
            Escreval ("====== BEBIDAS ====================")
            Escreval (" 1 Refrigerante ----------> R$ 8,00")
            Escreval (" 2 Agua mineral ----------> R$ 5,00")
            Escreval (" 3 Suco Natural ----------> R$ 5,00")
            Escreval (" 4 Cha -------------------> R$ 3,00")
            Escreval (" 5 Milk-Shake -----------> R$ 14,00")
            Escreval (" 6 Capuccino -------------> R$ 6,00")
            Escreval (" 7 Chocalate Quente ------> R$ 6,00")
            leia (opbebida)

            se opbebida = 0 então
               interrompa
            fimse

            Escreval ("Informe a Quantidade ")
            leia (qtd)

            escolha (opbebida)
            caso 1
               vlBebida <- vlBebida + 8 * qtd
            caso 2
               vlBebida <- vlBebida + 5 * qtd
            caso 3
               vlBebida <- vlBebida + 5 * qtd
            caso 4
               vlBebida <- vlBebida + 3 * qtd
            caso 5
               vlBebida <- vlBebida + 14 * qtd
            caso 6
               vlBebida <- vlBebida + 6 * qtd
            caso 7
               vlBebida <- vlBebida + 6 * qtd
            fimescolha

         ate opbebida = 0
         Escreval ("......................................")
         Escreval ("valor Do Pedido = R$", vlBebida,",00")
         Escreval ("......................................")
         Bebidas <- bebidas + vlBebida
         timer 3000
         timer 0


      Fimescolha

   ate opc = 0

   Limpatela

   Total <- Total + Lanches + Acompanhamento + Bebidas
   Escreval(".......................................")
   Escreval("SEU PEDIDO DEU VALOR TOTAL DE R$", Total, ",00")
   Escreval(" AGRADECEMOS A preferência VOLTE SEMPRE")
   Escreval(".......................................")


Fimalgoritmo

 

Link para o comentário
Compartilhar em outros sites

@ViniciusMb , boa tarde.

 

Fiz algumas alterações no seu código:

- Limpei um pouco ele

- O nome das variáveis no Portugol não pode ser CamelCase, como vlLanch, todas as letras dever ser minúsculas utilizando um separador _, como valor_lanche

- Alterei em alguns lugares a utilização do EsvrevaL() para Escreva() e vice versa

- Removi os comandos Interrompa, utilizando um condicional Se

 

Código no arquivo.

 

Algoritmo "Exercicio"
Var
	// Seção de Declarações das variáveis
	opcao , opc_lanche, opc_acompanhamento , opc_bebida, qtd: inteiro
	valor_lanche, valor_acompanhamento , valor_bebida: real
	lanches, acompanhamento , bebidas , total: real

Inicio
	// seção de comandos, procedimento, funcões, operadores, etc...
	total <- 0
	opcao <- 0
	opc_lanche <- 0
	opc_acompanhamento <- 0
	opc_bebida <- 0
	qtd <- 0
	
	Repita
		LimpaTela
		EscrevaL ("=========== MENU =========")
		EscrevaL ("1 - Lanches")
		EscrevaL ("2 - Acompanhamentos")
		EscrevaL ("3 - Bebidas")
		EscrevaL ("0 - Finalizar seu pedido")
		EscrevaL ("Faça seu pedido agora!")
		EscrevaL ()
		Escreva ("Escolha uma opção: ")
		Leia (opcao)

		Escolha opcao
			Caso 1
				Repita
               LimpaTela
					EscrevaL ("============ LANCHES ===========")
					EscrevaL ("1 - X-Burguer.........: R$ 10,00")
					EscrevaL ("2 - X-Salada..........: R$ 12,00")
					EscrevaL ("3 - X-Calabresa.......: R$ 13,00")
					EscrevaL ("4 - X-Tudo............: R$ 15,00")
					EscrevaL ("5 - X-Frango..........: R$ 10,00")
					EscrevaL ("6 - X-Egg.............: R$ 12,00")
					EscrevaL ("7 - Hamburguer Vegano.: R$ 14,00")
					EscrevaL ("0 - Voltar ao menu anterior")
					EscrevaL ()
					Escreva ("Escolha seu lanche: ")
					Leia (opc_lanche)

					Se opc_lanche > 0 então
   					Escreva ("Informe a quantidade desse lanche: ")
   					Leia (qtd)

   					Escolha (opc_lanche)
   						Caso 1
   							valor_lanche <- valor_lanche + 10 * qtd
   						Caso 2
   							valor_lanche <- valor_lanche + 12 * qtd
   						Caso 3
   							valor_lanche <- valor_lanche + 13 * qtd
   						Caso 4
   							valor_lanche <- valor_lanche + 15 * qtd
   						Caso 5
   							valor_lanche <- valor_lanche + 10 * qtd
   						Caso 6
   							valor_lanche <- valor_lanche + 12 * qtd
   						Caso 7
   							valor_lanche <- valor_lanche + 14 * qtd
   					FimEscolha
   					
   					EscrevaL ("Pedido anotado!")
   					Timer  2000
   					Timer  0
					FimSe
				Ate opc_lanche = 0

            EscrevaL()
				EscrevaL ("...")
				EscrevaL ("Valor adicionado ao Pedido = R$ ", valor_lanche, ",00")
				EscrevaL ("...")
				lanches <- lanches + valor_lanche
				Timer  3000
				Timer  0
			Caso 2
				Repita
               LimpaTela
					EscrevaL ("======== ACOMPANHAMENTOS =======")
					EscrevaL ("1 - Batata Frita......: R$  9,00")
					EscrevaL ("2 - Salada............: R$ 10,00")
					EscrevaL ("3 - Aneis de Cebola...: R$ 12,00")
					EscrevaL ("4 - Frango no balde...: R$ 14,00")
					EscrevaL ("5 - Nachos............: R$ 10,00")
					EscrevaL ("6 - Bolinhos De Carne.: R$ 11,00")
					EscrevaL ("7 - Pastel De Queijo..: R$  6,00")
					EscrevaL ("0 - Voltar ao menu anterior")
					EscrevaL ()
					Escreva ("Escolha seu acompanhamento: ")
					Leia (opc_acompanhamento)

					Se opc_acompanhamento > 0 então
   					Escreva ("Informe a quantidade desse desse acompanhamento: ")
   					Leia (qtd)

   					Escolha (opc_acompanhamento)
   						Caso 1
   							valor_acompanhamento <- valor_acompanhamento + 9 * qtd
   						Caso 2
   							valor_acompanhamento <- valor_acompanhamento + 10 * qtd
   						Caso 3
   							valor_acompanhamento <- valor_acompanhamento + 12 * qtd
   						Caso 4
   							valor_acompanhamento <- valor_acompanhamento + 14 * qtd
   						Caso 5
   							valor_acompanhamento <- valor_acompanhamento + 10 * qtd
   						Caso 6
   							valor_acompanhamento <- valor_acompanhamento + 11 * qtd
   						Caso 7
   							valor_acompanhamento <- valor_acompanhamento + 6 * qtd
   					FimEscolha
   					
   					EscrevaL ("Pedido anotado!")
   					Timer  2000
   					Timer  0
					FimSe
				Ate opc_acompanhamento = 0

            EscrevaL()
				EscrevaL ("...")
				EscrevaL ("Valor adicionado ao Pedido = R$ ", valor_acompanhamento, ",00")
				EscrevaL ("...")
				acompanhamento <- acompanhamento + valor_acompanhamento
				Timer  3000
				Timer  0
			Caso 3
				Repita
               LimpaTela
					EscrevaL ("=========== BEBIDAS ===========")
					EscrevaL ("1 - Refrigerante.....: R$  8,00")
					EscrevaL ("2 - Agua mineral.....: R$  5,00")
					EscrevaL ("3 - Suco Natural.....: R$  5,00")
					EscrevaL ("4 - Cha..............: R$  3,00")
					EscrevaL ("5 - Milk-Shake.......: R$ 14,00")
					EscrevaL ("6 - Capuccino........: R$  6,00")
					EscrevaL ("7 - ChocalAte Quente.: R$  6,00")
					EscrevaL ("0 - Voltar ao menu anterior")
					Escreva ("Escolha sua bebida: ")
					Leia (opc_bebida)

					Se opc_bebida > 0 então
   					Escreva ("Informe a quantidade dessa bebida: ")
   					Leia (qtd)

   					Escolha (opc_bebida)
   						Caso 1
   							valor_bebida <- valor_bebida + 8 * qtd
   						Caso 2
   							valor_bebida <- valor_bebida + 5 * qtd
   						Caso 3
   							valor_bebida <- valor_bebida + 5 * qtd
   						Caso 4
   							valor_bebida <- valor_bebida + 3 * qtd
   						Caso 5
   							valor_bebida <- valor_bebida + 14 * qtd
   						Caso 6
   							valor_bebida <- valor_bebida + 6 * qtd
   						Caso 7
   							valor_bebida <- valor_bebida + 6 * qtd
   					FimEscolha

   					EscrevaL ("Pedido anotado!")
   					Timer  2000
   					Timer  0
               FimSe
				Ate opc_bebida = 0

            EscrevaL()
				EscrevaL ("...")
				EscrevaL ("Valor adicionado ao Pedido = R$ ", valor_bebida,",00")
				EscrevaL ("...")
				bebidas <- bebidas + valor_bebida
				Timer  3000
				Timer  0
				FimEscolha
	Ate opcao = 0

	LimpaTela
	total <- total + lanches + acompanhamento + bebidas
	EscrevaL ("......................................")
	EscrevaL ("O valor total do seu Pedido é R$", total, ",00")
	EscrevaL ()
	EscrevaL ("      Agredecemos sua preferência!")
	EscrevaL ("            Volte sempre!")
	EscrevaL ("......................................")
Fimalgoritmo

 

Espero ter ajudado!

Abraço,

Diego

Exercicio.ALG.txt

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

3 horas atrás, ViniciusMb disse:

@Diego Mendes Rodrigues E ai Diego

Ficou muito melhor mesmo o codigo, porém o professor continua apontando um erro, eu e meu amigo ja olhamos em tudo e não encontramos, voce viu esse erro, ele ja vem desde o codigo original que postei 

 

Poste o enunciado do problema.

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

  • Simon Viegas alterou o título para Controle de lanchonete com menu
  • Membro VIP
Em 16/06/2023 às 21:04, ViniciusMb disse:

porém o professor continua apontando um erro, eu e meu amigo ja olhamos em tudo e não encontramos

 

Qual erro?

 

Basicamente seria isso: foque no problema. Entendendo o problema, fica mais fácil achar uma solução.

 

Um detalhe:

 

Em 16/06/2023 às 13:46, ViniciusMb disse:
Var
   // Seção de Declarações das variáveis
   opc , oplanch, opacompanhamento , opbebida, qtd : inteiro
   vlLanch, vlAcompanhamento , vlBebida : real
   Lanches, Acompanhamento , Bebidas , Total : real











 Total <- 0

 

Faltou o comando inicio após a declaração das variáveis e início da execução principal. Exemplo:

 

algoritmo "Nome do meu programa"
var
   opc, oplanch, opacompanhamento, opbebida, qtd : inteiro
   vlLanch, vlAcompanhamento, vlBebida : real
   Lanches, Acompanhamento, Bebidas, Total : real

inicio
   Total <- 0
   opc <- 0

 

 

Um outro detalhe é que, ao finalizar um item do menu e volta para o menu principal, está informando o "valor do pedido"... o que para mim ficou estranho, já que ainda não finalizou o pedido.

 

image.png

 

Seria "um subtotal dessa categoria"?

 

De um modo geral, seria necessário seguir o que está no enunciado. É ele que define o que se deve fazer. Mesmo que o programa esteja rodando tudo certinho, precisa fazer o que se pede.

 

Posta o enunciado e qual o erro específico que foi relatado.

 

 

Adendo:

Em 16/06/2023 às 14:43, Diego Mendes Rodrigues disse:

- O nome das variáveis no Portugol não pode ser CamelCase, como vlLanch, todas as letras dever ser minúsculas utilizando um separador _, como valor_lanche

 

Entendo que não existe uma regra de padrão de escrita para o Portugol (do VisualG), ou seja, poderia utilizar o padrão que quiser. O ponto que levantaria seria manter um padrão... deixar uma estrutura mais uniforme e organizada.

 

No VisualG poderia usar camelCase, PascalCase, snake_case etc. Particularmente recomendo o camelCase, mas o uso do snake_case também é bem popular... Só recomendo muito o uso do PascalCase... de um modo geral não fica agradável para mim... 

 

Obs.: em algumas linguagens de programação, é meio que obrigatório alguns padrões específicos, caso contrário, o código não compila, ou seja, essa forma de escrita fazendo parte da sintaxe em si.

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!