terça-feira, 29 de novembro de 2011

9.5. Reajuste por faixa salarial

Tamo de volta!!!


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

Nenhum comentário: