9.5. Reajuste por faixa salarial
Já criamos um sistema para reajustar salários. Porém, no dia-a-dia, você pode ser obrigado a criar um sistema que reajuste os salários, considerando determinadas faixas salariais.
O LOOP que criaremos agora é daqueles perigosos, que se infinitos, podem travar o sistema. Para impedirmos que isto aconteça, precisaremos criar um FLAG, qualquer palavra ou número, que sendo digitada, finalize o sistema.
Vamos criar o sistema observando os seguintes critérios:
SALÁRIO REAJUSTE
MENOR/IGUAL A R$ 545,00 30%
ENTRE R$ 545,00 E R$ 1.000,00 20%
ENTRE R$ 1.000,00 E R$ 2.000,00 5%ACIMA DE R$ 2.000,00 Sem aumento.
Então, se o salário do funcionário for menor/igual a R $545,00, vamos reajustá-lo em 30%. Caso o salário seja maior que R$ 545,00 e menor/igual a R$ 1.000,00, aumentaremos em 20%. Para salários maiores que R$ 1.000,00 e menores/igual a R$ 2.000,00, o reajuste será de 5%. Finalmente, se o salário for maior que R$ 2.000,00, não haverá reajuste. O cara vai reclamar, mas fazer o que? Foi o chefe quem mandou.
Para terminar a execução do nosso sistema, vamos definir a palavra “FIM” em letras maiúsculas.
Uma consideração importante neste exemplo é sobre a declaração da variável. Perceba que o salário é numérico, porém, a palavra FIM não. Por isto, declaramos a variável Sal como Variant, que pode receber os dois tipos.
Mãos à obra.
CÓDIGO PARA COPIAR
Sub ReajusteFaixaSalarial()
'Declaramos a variável que receberá o valor do salário. Ela será do tipo Variant, pois
'receberá tanto valores numéricos como letras.
Dim Sal As Variant
'Começamos um LOOP que só será finalizado, quando digitarmos a palavra FIM.
Do
'Abrimos uma CAIXA DE ENTRADA para receber o valor que será armazenado na variável.
Sal = InputBox("Digite o salário!", "REAJUSTE POR FAIXA SALARIAL")
'Começamos um LOOP que impedirá a entrada de valores menores que zero.
Do While Sal <= 0
MsgBox "Digite um valor maior que 0(Zero)!!!"
Sal = InputBox("Digite o salário!", "REAJUSTE POR FAIXA SALARIAL")
Loop
'Agora é só fazer as verificações e pronto.
If Sal <= 545 Then
MsgBox "Salario reajustado: " & FormatCurrency(Sal * 1.3)
ElseIf Sal > 545 And Sal <= 1000 Then
MsgBox "Salario reajustado: " & FormatCurrency(Sal * 1.2)
ElseIf Sal > 1000 And Sal <= 2000 Then
MsgBox "Salario reajustado: " & FormatCurrency(Sal * 1.05)
ElseIf Sal > 2000 Then
MsgBox "Não há reajuste para este salário!"
End If
Loop Until Sal = "FIM"
End Sub
Agora é fazer os testes. Deixo com você!
Para acessar o curso completo Clique aqui