Ir ao conteúdo
  • Cadastre-se

VisualG Resultado total das vendas!


Posts recomendados

Olá, galera!

 

Bom, estou com um projeto em mãos de desenvolver um programa que simule vendas de ingressos para uma balada!

 

Está praticamente finalizado, porém; Não estou conseguindo por o valor final de todas as vendas realizadas. E quando eu erro a senha de login/senha para entrar no programa, ele fica num loop do "repita/ate". Alguém sabe como resolver?

Aliás, se souberem forma melhor de programar isso, me ajuda. Mas quero usar o código que eu digitei, acrescentar coisas ou remover está de pé também.

 

OBRIGADO DESDE JÁ!

 

Segue o código

 

algoritmo "semnome"
var
   user,senha: caracter
   vf: logico
   idade,cartao,qtd_cartao,qtd_dinheiro, sair: inteiro
   opcao: inteiro
inicio
   escreval ("Digite o nome de usuario: ")
   leia(user)
   escreval ("Digite a Senha: ")
   leia (senha)
   se (user = "admin") e (senha = "admin") então
      vf:=verdadeiro
      limpatela
      escreval ("Olá Admin, Acesso liberado.")
      escreval ("Inicie as suas vendas!")
   senao
      vf:=falso
      escreval ("Acesso negado!")
   fimse
   repita
      se vf = verdadeiro então
         escreval ("Qual é a idade do comprador?")
         leia (idade)
         se (idade <18) então
            escreval ("O comprador não tem idade o suficiente.")
         senao
            limpatela
            escreval ("Qual é o modo de compra?")

            escreval ("Cartão - Digite 1")

            escreval ("Dinheiro - Digite 2")

            leia (cartao)
            escolha (cartao)
            caso 1
               escreval("Sua compra será processada no cartão.")
               escreval("Quantos ingressos você irá comprar?")
               leia (qtd_cartao)
               escreval("O valor total da compra é: ", qtd_cartao*20+qtd_cartao*5)
            caso 2
               escreval("Sua compra será processada no dinheiro.")
               escreval("Quantos ingressos você irá comprar?")
               leia (qtd_dinheiro)
               escreval("O valor total da compra é: ", qtd_dinheiro*20-qtd_dinheiro*5)
            fimescolha
         fimse
      fimse
      escreval("1- Iniciar nova sessão")
      escreval("2- Fechar o programa!")
      leia(opcao)
      limpatela
   ate (opcao = 2)
   se (opcao = 2) então
      escreval ("Totalaxazxz: ", qtd_dinheiro*20-qtd_dinheiro*5 + qtd_cartao*20+qtd_cartao*5)
   fimse
Fimalgoritmo

 

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

@BrendonL    crie uma variável para o total  e depois de pegar a quantidade de ingressos, seja em cartão ou dinheiro, coloque assim :

leia (qtd_cartao)  
total := total + qtd_cartao * 20
  
  ou
  
leia (qtd_dinheiro)    
total := total + qtd_dinheiro * 20

e no final depois do repita coloque assim 

//se (opcao = 2) então
  escreval ("Totalaxazxz  Geral Das Vendas: ", total)
//fimse

 

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

  • Membro VIP

Olá @BrendonL.

 

Esse é o enunciado "formal"?

 

Certo, mas qual é o valor do ingresso? 20?

Como assim tem desconto de 5 para um caso, e acrescimento de 5 para outro? :confused:

Por exemplo, se o ingresso está R$20. No dinheiro ficaria R$15 e no cartão ficaria R$25???

 

Veja, antes de começar a implementar, é necessário entender o problema. Toda solução deve partir após o entendimento do que se precisa... só ai, eu particularmente, achar estranho.

 

Mas vamos lá:

Sugiro que faça o programa por etapas... no caso, foque apenas no cálculo do ingresso por modo de pagamento... faz algo simples... esqueça essa parte de login e idade por enquanto... isso pode ser implementando depois.

 

Tomando seu código como base, poderia ficar mais ou menos assim:

algoritmo "Venda de ingressos"
var
   {user,senha: caracter}
   {vf: logico}
   {idade,cartao,qtd_cartao,qtd_dinheiro, sair: inteiro}
   {opcao: inteiro}
   formaPagamento :inteiro //forma de pamento escolhida (1-dinehiro, 2-cartão)
   qtd_cartao, qtd_dinheiro :inteiro //subtotal para cada forma de pagamento
inicio
escreval("Qual é o modo de compra?")
escreval("Cartão   - Digite 1")
escreval("Dinheiro - Digite 2")
leia(formaPagamento)
escolha (formaPagamento)
   caso 1 //cartão
      escreval("Sua compra será processada no cartão")
      escreval("Quantos ingressos você irá comprar?")
      leia(qtd_cartao)
      //escreval("O valor total da compra é: ", qtd_cartao*20+qtd_cartao*5)
   caso 2 //dinheiro
      escreval("Sua compra será processada no dinheiro.")
      escreval("Quantos ingressos você irá comprar?")
      leia (qtd_dinheiro)
      //escreval("O valor total da compra é: ", qtd_dinheiro*20-qtd_dinheiro*5)
fimEscolha
{escreval("Totalaxazxz: ", qtd_dinheiro*20-qtd_dinheiro*5 + qtd_cartao*20+qtd_cartao*5)}
fimAlgoritmo

Entende?

 

Usuário e senha e idade entra como "melhorias".... o foco aqui é a conta! Tentar implementar logo isso é só perda de tempo, e dificulta os testes.

 

Vai fazendo ajuste até conseguir vender para um tipo de pagamento...

 

 

 

A seguir, segue um exemplo de esboço:

algoritmo "Venda de ingressos"
var
   formaPagamento  :inteiro //forma de pamento escolhida (1-dinehiro, 2-cartão)
   qtd_cartao      :inteiro //quantidade de ingresso vendidos no cartão
   qtd_dinheiro    :inteiro //quantidade de ingresso vendidos no dinheiro
   subTotalCartao  :real    //subtotal vendas no cartão
   subTotalDinheiro:real    //subtotal vendas no dinheiro
   subTotalGeral   :real    //subtotal geral
   precoIngresso   :real    //preco do ingresso
   qtdCompra       :inteiro //quantos ing. o cliente está comprando no momento
inicio
//INICIALIZA AS VARIÁVEIS
precoIngresso    <- 20 //Cada unidade por 20 Temers
qtd_cartao       <- 0
qtd_dinheiro     <- 0
subTotalCartao   <- 0
subTotalDinheiro <- 0
subTotalGeral    <- 0

//LER FORMA DE PAGAMENTO
escreval("Qual é o modo de compra?")
escreval("Cartão   - Digite 1")
escreval("Dinheiro - Digite 2")
leia(formaPagamento)

//SELECIONA FORMA DE PAGAMENTO
escolha (formaPagamento)
   caso 1
      //LER QUANTIDADE DE IMPRESSO PARA FORMA DE PAGAMENTO
      escreval("Sua compra será processada no cartão")
      escreval("Quantos ingressos você irá comprar?")
      leia(qtdCompra)
      qtd_cartao   <- qtd_cartao+qtdCompra
   caso 2
      //LER QUANTIDADE DE IMPRESSO PARA FORMA DE PAGAMENTO
      escreval("Sua compra será processada no dinheiro.")
      escreval("Quantos ingressos você irá comprar?")
      leia(qtdCompra)
      qtd_dinheiro <- qtd_cartao+qtdCompra
fimEscolha

//CALCULA O SUBTOTAL PARA A FORMA DE PAGAMENTO
se (qtd_cartao >= 1) então
   subTotalCartao   <- qtd_cartao  *precoIngresso + (qtd_cartao*5)
senao
   se (qtd_dinheiro >= 1) então
      subTotalDinheiro <- qtd_dinheiro*precoIngresso - (qtd_dinheiro*5)
   fimSe
fimSe

//CALCULAR O SUBTOTAL GERAL
subTotalGeral <- subTotalCartao+subTotalDinheiro

//EXIBE OS RESULTADOS NA TELA
escreval("Ingressos no cartão  :",qtd_cartao   :5," subtotal: ",subTotalCartao  )
escreval("Ingressos em dinheiro:",qtd_dinheiro :5," subtotal: ",subTotalDinheiro)
escreval("SUB TOTAL GERAL      :",subTotalGeral:5)
fimAlgoritmo

Veja, a ideia foi apenas testar a venda para uma determinada forma de pagamento. Eu imaginei a base para vendas como "indo acumulando quantos quer comprar por cada tipo de pagamento... após, efetuar os cálculos... acima ele só faz uma venda...

 

Faz várias testes e vê se está OK. Aí, implementaria um laço de repetição para poder continuar vendendo, ou seja, possibilitar a compra de mais ingressos na mesma venda... ai vai fazendo testes e adaptando/ajustando aos requisitos do problema e, na medida do possível, ao teu gosto.

 

RESUMINDO:

O foco é conseguir vender em uma determinada forma ou outra. Após conseguir fazer o programa continuar vendendo e ir acumulando...

 

 

Por ai vai.

 

Qualquer dúvida é só perguntar.

 

No aguardo.

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

@Simon Viegas

Me desculpe não ter um enunciado formal, foi um projeto que o professor nos passou e eu apenas anotei o que era necessário ter no código!

 

Realmente o seu jeito de pensar é mais válido do que o meu, comecei faz 1 mês e ainda to aprendendo, kkk!

 

Mas irei utilizar da sua mente um pouco para esse projeto, obrigado!

 

Aliás, pode me explicar qual a finalidade de "->"?

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

  • Membro VIP
13 horas atrás, BrendonL disse:

Me desculpe não ter um enunciado formal, foi um projeto que o professor nos passou e eu apenas anotei o que era necessário ter no código!

Entendi. O ideal é ter o enunciado completo... ai, a partir dele, faz um resumo.

 

 

 

13 horas atrás, BrendonL disse:

Realmente o seu jeito de pensar é mais válido do que o meu, comecei faz 1 mês e ainda to aprendendo, kkk!

É só um UMA forma... podem existir várias... tente implementar uma, ou se achar viável, vai dando continuidade ao código.

 

 

13 horas atrás, BrendonL disse:

Aliás, pode me explicar qual a finalidade de "->"?

Se refere ao "<-"? é só analisar o contexto... é o mesmo que ":=". Este último, creio eu, é uma "cópia" do usado no Pascal... uma parente do Visualg

 

 

 

13 horas atrás, BrendonL disse:

Mas irei utilizar da sua mente um pouco para esse projeto, obrigado!

Vá tentando implementar... qualquer coisa posta o código atual e onde está com dúvidas ou precisa de sugestões.

 

 

No aguardo.

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