Exemplo está errado, pois o salário atribuído só satisfaz a condição 2. Sugiro colocar o valor da variável salário 2300,00 para atender as duas condições.
Exemplo está errado, pois o salário atribuído só satisfaz a condição 2. Sugiro colocar o valor da variável salário 2300,00 para atender as duas condições.
Olá Fernando!
Você está certo! Porém, o exercício também está certo!
Vou explicar: O que acontece é que pelo valor da variável salario
apenas a segunda condição será satisfeita. Mas imagine o if
como uma pessoa com dois braços. Para o if
funcionar, ele deve segurar em uma mão a condição (que é o que fica entre parênteses). Nesta outra mão, ele consegue segurar uma instrução e essa instrução será executada (caso a condição seja satisfeita). Mas vamos analisar o código:
if(salario < 2600.0)
Console.WriteLine("A sua aliquota é de 15%");
Console.WriteLine("Você pode deduzir até R$ 350");
if(salario < 3750.0)
Console.WriteLine("A sua aliquota é de 22,5%");
Console.WriteLine("Você pode deduzir até R$ 636");
Isso quer dizer que, para a primeira condição, salario
é maior que 2600, ele não executará a instrução Console.WriteLine("A sua aliquota é de 15%");
, mas executará a instrução Console.WriteLine("Você pode deduzir até R$ 350");
porque essa instrução não está sendo segurada pela outra mão do if
.
Para o if
poder segurar mais de uma instrução, ele precisa de uma sacola, que seria as chaves {}. Se as duas instruções estivessem entre chaves, aí sim não iria executar Console.WriteLine("Você pode deduzir até R$ 350");
.
Faça testes com essas condições e o uso ou não das chaves, que verá como isso realmente funciona.
Espero ter ajudado!
Bons estudos!