Estou fazendo um exercicio do curso da Loiane e esbarrei com um problema que eu não consegui entender. O exercicio é pra calcular a folha de pagamento mas a variável totalDescontos está calculando um valor que eu não entendo o porque. Fiz um teste mostrando cada valor calculado e não faz sentido.
O valor da hora eu coloquei 5 e a quantidade de horas eu coloquei 220. Se alguém puder me ajudar agradeço. Segue o código:
Explica o teu erro. Pode ajudar mais pessoas. E não tenha vergonha de perguntar por mais simples que seja desde que tenha quebrado a cabeça um pouco e explicando o que fez pra tentar resolver e não conseguiu obter sucesso na resolução.
Foi um erro de logica onde eu ao criar a variavel para calcular o total de descontos da folha de pagamento instintivamente nao me atentei para o fato de que somente os descontos deveriam ser considerados e somados, ao inves disso eu fiz um outro calculo. Na hora nao fez sentido pra mim, mas agora lendo com calma o proprio codigo percebi o erro. Como a gente se desespera as vezes kkkk
if (bruto > 2500) {
ir = 20;
} else if (bruto > 1500) {
ir = 10;
} else if (bruto >= 900) {
ir = 5;
}
if (ir > 0) {
valorDoIr = (bruto / 100) * ir;
}
Se não entrar no primeiro if é porque com certeza não é maior que 2500, então não precisa testar isso de novo. Basta testar se é maior que 1500.
Se não entrou no if nem no primeiro else, é porque com certeza não é maior que 1500, então no último else if só precisa testar se é maior ou igual a 900.
E o cálculo pode ser feito apenas uma vez, já que ele é o mesmo para todos os casos.