FATOR DE MULTIPLICACAO

VALDECYR 19/01/2012 15:58:45
#393658
Boa tarde!

Fiz um programa para uma lanchonete em vb6, onde agora o dono me solicitou fazer uma promoção.
Onde: para uma certa quantidade vendida de cerveja cobra-se 1 ou 2 a menos conforme o dia.
Por exemplo: para 4 quantidades vendidas paga-se 3, e no caixa aparece 3 vezes o valor unitário e 1 cerveja no valor 0,00.
Até aí tudo bem, pois fiz um cadastro para tantas quantidades cobrar tais quantidades, e no caixa fiz uma rotina que verifica o valor consumido até o valor da promoção e mostra o resultado certo no caixa. Isso é, como no exemplo no limite de 4 cobra 3.
O Problema é que as pessoas podem consumir mais do que a promoção, e pagar na mesma proporçao. por exemplo: consumir 5 e pagar 4, 8 e pagar 6, 12 e pagar 9, e assim sucessivamente.
Não sei como faço quando passar do valor estipulado que é verificado no cadastro das promoções. Não sei como encontrar um fator para isso.
Alguém pode ajudar, por favor.

Valdecyr
KERPLUNK 19/01/2012 16:08:36
#393659
Pelo que entendi, o cliente ganha somente uma caso consuma mais de 4 e não uma grátis a cada quatro, correto? Se for isso:

<Pseudo-código>
Se numero_itens_consumidos = 4
{
numero_itens_consumidos = 3
Adiciona_Item_consumo(Valor=0)
}
</Pseudo-código
VALDECYR 19/01/2012 16:11:18
#393661
boa Kerplunk

Ele ganha 1 a cada 4 consumidas.
se consumir 8 ganha 2
KERPLUNK 19/01/2012 16:18:09
#393662
Hmmm, nesse caso, tem que pegar a diferença pra saber se é múltiplo de 4 e a coisa complica um pouco...
<Pseudo-código>
Mod(Se numero_itens_consumidos / 4) = 0 //Mod, pega o resto de uma divisão, caso não tenha resto, é múltiplo de 4
{
numero_itens_consumidos = numero_itens_consumidos - (numero_itens_consumidos / 4)
para(numero_itens_consumidos / 4)
{
Adiciona_Item_consumo(Valor=0)
}
}
</Pseudo-código
VALDECYR 19/01/2012 17:29:07
#393669
Olá Goodspeakers.
No cadastro de promoção, só grava a quantidade a atingir a promoção e quantas deve pagar.
e olha essa lanchonete vai gente pra tomar cerveja de turma grande ,escutar rock a noite inteira e tem cara que toma cerveja pra caramba.

Kerplunk
Putz, não entendi direito, o que seria o Mod?
Poderia explicar melhor,por favor?
No meu caso eu havia feito o código simples assim.
resumindo:

Quanto = sum(cursor!qtdevendida)
Cobra = cursor!qtdeacobrar
Normal = cursor!qtdepromocao [ô] a atingir a promoção
Diferenca = Normal - Cobra

if Quanto <= Cobra
lvpedidos.item
lvpedidos.qtde = cobra
lvpedidos.valor = cobra * vlvenda

elseif quanto > cobra and quanto = normal then
lvpedidos.item
lvpedidos.qtde = diferenca
lvpedidos.valor = 0 * vlvenda




KERPLUNK 19/01/2012 17:47:47
#393671
O Mod, é um operador que retorna o resto de uma divisão. A idéia é usar o resto da divisão pra saber se é múltiplo
Usando esse pseudo-código traduzindo par vb6, usando suas variáveis ficaria mais ou menos assim:

quanto = 13
[ô]Cobra = cursor!qtdeacobrar
Normal = 4 [ô] a atingir a promoção
[ô]Diferenca = Normal - Cobra

quantidadePromocao = quanto Mod Normal
quantidadebrinde = quanto \ Normal

quanto = quanto - quantidadebrinde

MsgBox [Ô]o cara comprou [Ô] & quanto + quantidadebrinde
MsgBox [Ô]paga [Ô] & quanto
MsgBox [Ô]ganha [Ô] & quantidadebrinde
VALDECYR 19/01/2012 19:53:03
#393679
boa noite Kerplunk
tive que sair correndo aqui, amanhã cedo vou testar e retorno.
Obrigado
FEDERHEN 20/01/2012 08:36:36
#393703
Em vez do MOD, usa o INT

Se o cliente consumiu 13 cervejas e a cada 4 não paga uma, então 13/4 = 3,25
Usando o INT fica assim: INT(13/4) = 3 ou seja, voce não vai cobrar 3 cervejas.
FEDERHEN 20/01/2012 08:48:36
#393706
Resposta escolhida
Ou se a cada 4 consumidas ele ganha mais uma, então a promoção é [Ô]a cada 5 não paga uma[Ô].

INT(13/5) = 2 ou seja, voce não vai cobrar 2 cervejas.

---

Não sei se pode emitir cupom fiscal com valores diferentes para o mesmo produto.
Acho que voce deve cobrar todas as cervejas, e dar um desconto no valor das cervejas não cobradas
VALDECYR 20/01/2012 10:18:35
#393716
Bom dia a todos!

De acordo com a idéia que vcs me passaram, vou tentar ver se consigo ajeitar aqui e dou retorno.
Federhen, bem observado, vou verificar sobre cupom fiscal, pois essa empresa vai ter que colocar mais pra frente.
Obrigado,

Valdecyr



Página 1 de 2 [16 registro(s)]
Tópico encerrado , respostas não são mais permitidas