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

Exercício tem um erro de lógica!!

Compreendo que no contexto atual, tendo a variável 'salario' com o valor de 3300.00 ele irá entrar em apenas um dos If's, porém caso o valor seja 2800.00 ou 3751.00 ele irá entrar em dois! Pois nas condicionais está especificado da seguinte forma:

if (salario >= 1900.00 && salario <= 2800.00) { ... }

if (salario >= 2800.00 && salario <= 3751.00) { ... }

sendo que o correto para que ele não entre em dois If's ao mesmo tempo seria:

if (salario >= 1900.00 && salario < 2800.00) { ... }

if (salario >= 2800.00 && salario < 3751.00) { ... }

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

namespace ajudandoJoao
{
    class Program
    {
        static void Main(string[] args)
        {
            double salario = 3300.00;

            if (salario >= 1900.00 && salario < 2800.00)
            {
                Console.WriteLine("O IR é de 7.5%");
                Console.WriteLine("O valor é de R$ 142");
            }

            if (salario >= 2800.00 && salario < 3751.00)
            {
                Console.WriteLine("O IR é de 15%");
                Console.WriteLine("O valor é de R$ 350");
            }

            if (salario >= 3751.00 && salario <= 4664.00)
            {
                Console.WriteLine("O IR é de 22.5%");
                Console.WriteLine("O valor é de R$ 636");
            }

            Console.ReadLine();
        }
    }
}
1 resposta
solução!

Olá Pablo, tudo bem?

Por mais que o exercício tenha um pequeno erro com as condições, é sempre legal estarmos atentos para esses casos. Não são todos que conseguem enxergar isso de inicio.

O seu código está ótimo, parabéns!

Um abraço. Bons estudos!