Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Poderia ficar melhor ? Nao usei ELSE IF ...

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

namespace ImpostodeRenda { class Program { static void Main(string[] args) {

        // De 1900.0 até 2800.0 o IR é de 7.5 % e pode deduzir R$ 142
        // De 2800.01 até 3751.0 o IR é de 15% e pode deduzir R$ 350
        // De 3751.01 até 4664.00 o IR é de 22.5% e pode deduzir R$ 636

        double salario = 3500.0 ;
        double aliquota1 = 0.075;
        double aliquota2 = 0.15;
        double aliquota3 = 0.225;

        if (salario >= 1900.0 && salario <= 2800.0)
        {
            Console.WriteLine(" Sua aliquota é de 7,5%");
            Console.WriteLine(" Seu imposto é " + salario * aliquota1 + "reais" + "e poderá deduzir até R$ 142,00");
        }

        if (salario >= 2800.01 && salario <= 3751.0)
        {
            Console.WriteLine(" Sua aliquota é de 15%");
            Console.WriteLine(" Seu imposto é " + salario * aliquota2 + "reais" + "e poderá deduzir até R$ 350,00");
        }

        if (salario >= 3751.01 && salario <= 4664.00)
        {
            Console.WriteLine(" Sua aliquota é de 22.5%");
            Console.WriteLine(" Seu imposto é " + salario * aliquota3 + "reais" + "e poderá deduzir até R$ 636");

        }
            Console.ReadKey();
    }


}

}

1 resposta
solução!

Janaina,

Nesse caso seria mais interessante utilizar o else if, pois ao encontrar a primeira condição valida o programa não checa as demais verificações e segue o processamento fora do conjunto.

Utilizando apenas if, o sistema vai verificar todos as condições, mesmo que a apenas a primeira seja a verdadeira, isso é ruim, pois gastamos tempo validando algo que já tivemos match.

Dessa forma se você sabe que no momento de processamento apenas uma condição dentro de N deve retornar verdadeira, é melhor utilizar else if, ou switch case, dessa forma seu programa nas gasta tempo validando instruções que serão falsas.