Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Niê

VisualG Resultado total das vendas!

Recommended Posts

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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda não testei, mas assim que voltar em casa edito esse comentário pra dizer se funcionou perfeitamente, ou não. Mas obrigado desde já! 

 

Simon Viegas, segue o enunciado: 

IMG-20180405-WA0005.jpg

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado (editado)

@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 "->"?

Editado por BrendonL
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×