AJUDA EM LOGICA
Estou com uma duvida sobre como proceder em um sistema de Bar, aonde o proprietario quer que a cada dois chopps somente um seja cobrado, essa [Ô]promoçao[Ô] tem um dia especifico e um horario. alguem tem alguma sugestao de como proceder quanto a controle e recebimento disso?
Desde ja agradeço
Desde ja agradeço
se o controle é por mesa então seria simples basta usar um MOD para isso
exemplo
se a pessoa bebeu 5 Chopps então ficaria assim
(5 Mod 2) = 1 , o Mod retorna o resto de uma multiplicação de um valor por 2 que chegara mais proximo do valor desejado neste caso 2 x 2 = 4 para 5 resta 1
o que daria
Quantidade = ((5-1) /2) + 1
Quantiadde = (( 4 / 2 ) +
Quantidade = (2 + 1)
cobrar um total de 3 chopps de um cliente que bebeu 5 chopps
agora se o cliente bebeu 6 chopps fica até mais fácil
veja
(6 Mod 2) = 0 [ô] ou seja 2 x 3 = 6 para 6 resta 0
bom resumindo este é o codigo a ser usado
quando for usar basta usar desta maneira
Total = Promocao(totaldechopps) * valordochopp
ou seja
a funcção retorna a quantidade de chopps na promoção
ufa não sei nem se compliquei ao inves de ajudar
If (quantidade Mod 2) = 0 Then
Quantidade = Quantidade / 2
Total = ValorDoChopp * Quantidade
Else
Valor = ((Quantidade - (Qauntidade Mod 2)) / 2) + (Quantdade Mod 2)
Total = ValorDoChopp * Quantidade
End if
exemplo
se a pessoa bebeu 5 Chopps então ficaria assim
(5 Mod 2) = 1 , o Mod retorna o resto de uma multiplicação de um valor por 2 que chegara mais proximo do valor desejado neste caso 2 x 2 = 4 para 5 resta 1
If (5 Mod 2) = 0 Then [ô] como o resto é 1 então pula pro else
....
Else
Quantidade = (5 -(5 mod 2)) / 2) + (5 Mod 2)
Total = 2,50 * 3
End if
o que daria
Quantidade = ((5-1) /2) + 1
Quantiadde = (( 4 / 2 ) +
Quantidade = (2 + 1)
cobrar um total de 3 chopps de um cliente que bebeu 5 chopps
agora se o cliente bebeu 6 chopps fica até mais fácil
veja
(6 Mod 2) = 0 [ô] ou seja 2 x 3 = 6 para 6 resta 0
If (6 Mod 2) = 0 Then [ô] executa o if
Quantidade = 6 / 2
Total = 2,50 * 3
Else
....
End if
bom resumindo este é o codigo a ser usado
Function Promocao(QtdeTotal As Integer) As Integer
If (QtdeTotal Mod 2) = 0 Then
QtdeTotal = QtdeTotal / 2
Else
QtdeTotal = ((QtdeTotal - (QtdeTotal Mod 2)) / 2) + (QtdeTotal Mod 2)
End if
Promocao = QtdeTotal
End Function
quando for usar basta usar desta maneira
Total = Promocao(totaldechopps) * valordochopp
ou seja
a funcção retorna a quantidade de chopps na promoção
ufa não sei nem se compliquei ao inves de ajudar
Muito bom MARCELO! Boa aplicação de matemática.
Marcelo, ja tinha realmente pensado em usar o Mod pro calculo, e sua funcao foi bem clara, so vou ter que adapta-la pra poder calcular sobre os produtos que foram comprados dentro do horario da promocao.
Agradeço Muito
Agradeço Muito
Tópico encerrado , respostas não são mais permitidas