Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

DÚVIDAS QUESTÃO

Não consigo entender porque no compilador a tela fica toda preta sem informação nenhuma. O que eu fiz de errado no código?

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

namespace _9._7_Aliquotas
{
    class Program
    {
        static void Main(string[] args)
        {
            double salariomin = 1900.0;
            double salariomin1 = 2800.01;

            double salarioJoao = 3300.0;

            bool salariomax = salarioJoao == 2800.0;
            bool salariomax1 = salarioJoao == 3751.0;

            if (salariomin >= 1900.0 && salariomax)
            {
                Console.WriteLine("O IR é de 7.5% e pode deduzir na declaração o valor de R$ 142!");
            }
            else
            {
                if (salariomin1 >= 2800.01 && salariomax1)
                {
                    Console.WriteLine("O IR é de 15% e pode deduzir na declaração o valor de R$ 350!");
                }
            }

            Console.ReadLine();
        }
    }
}
3 respostas
solução!

Boa tarde Arthur!

A tela fica toda preta pois o método WriteLine não é executado em nenhum dos 2 ifs; mas o método ReadLine é executado, e o console fica aguardando que você acione alguma tecla para encerrar o programa.

Perceba que:

bool salariomax = salarioJoao == 2800.0;

E:

bool salariomax1 = salarioJoao == 3751.0;

Resultam false, pois:

salarioJoao = 3300.0

Que é diferente de 2800.0 e de 3751.0

Seu código está muito confuso.

Creio que assim fique melhor:

    class Program
    {
        static void Main(string[] args)
        {
            double salarioJoao = 3300.0;

            if (1900.0 <= salarioJoao && salarioJoao <= 2800.0)
            {
                Console.WriteLine("O IR é de 7.5% e pode deduzir na declaração o valor de R$ 142!");
            }
            else if (2800.01 <= salarioJoao && salarioJoao <= 3751.0)
            {
                Console.WriteLine("O IR é de 15% e pode deduzir na declaração o valor de R$ 350!");
            }

            Console.ReadLine();
        }
    }

Eu mesmo confesso que estava achando muito confuso meu próprio código. É que eu fiquei achando que eu deveria declarar o valor mínimo e máximo do salário separadamente, mas vendo o seu código agora, percebo que não era necessário fazer isso. Obrigado pela ajuda Jonas!

Não há de quê! É sempre bom ajudar! Precisando, estamos às ordens!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software