1
resposta

EXERCÍCIO NÃO VAI IMPRIMIR 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.

1 resposta

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!