none
Dúvida sobre Condições RRS feed

  • Pergunta

  • Prezados, bom dia.
    Estou com um dúvida relacionada ao curso que estou fazendo, sou iniciante da linguagem em c#.

    (QUESTÃO) - Criei um programa que tenha uma variável double valorNotaFiscal e, de acordo com esse valor o imposto deve ser calculado. As regras de cálculo são:

    • Se o valor for menor ou igual a 999, o imposto deve ser de 2%.
    • Se o valor estiver entre 1000 e 2999, o imposto deve ser de 2.5%.
    • Se o valor estiver entre 3000 e 6999, o imposto deve ser de 2.8%.
    • Se for maior ou igual a 7000, o imposto deve ser de 3%.

    Imprima o imposto em um console.WriteLine.

    (CÓDIGO)

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

    namespace Imposto
    {
        class Program
        {
            static void Main(string[] args)
            {
                double valorNotaFiscal = 7000.0;

                if (valorNotaFiscal <= 999.0)
                {
                    Console.WriteLine("O seu imposto é de 2%");
                    Console.ReadLine();
                }

                else if (valorNotaFiscal >= 1000.0 || valorNotaFiscal <= 2999.0)
                {

                    Console.WriteLine("O seu imposto é de 2.5% ");
                    Console.ReadLine();
                }

                else if (valorNotaFiscal >= 3000.0 || valorNotaFiscal <= 6999.0)
                {
                    Console.WriteLine("O seu imposto é de ");
                    Console.ReadLine();
                }

                else if (valorNotaFiscal >= 7000.0)
                {
                    Console.WriteLine("O seu imposto é de 3%");
                    Console.ReadLine();
                }
            }
        }
    }

    O resultado sempre esta imprimindo o valor de 2.5%, alguém pode me ajudar?
    Obrigado.

    Atenciosamente,

    Thiago Corrêa.



    terça-feira, 24 de abril de 2018 14:09

Respostas

  • Thiago, 

    seja bem vindo. Troque os || (OR) por && (AND)

    Pois o valor tem de ficar entre A e B.


    Att, Lucio Rogerio - <a href="http://www.luciorogeriosp.com.br/">

    Att,
    Lucio Rogerio - www.luciorogeriosp.com.br
    MCSD Web Applications | MCSA Web Applications | MCSD App Builder 2016
    Espero ter ajudado, se ajudei, por favor Vote como Útil, e se resolvi seu problema, clique em Marcar como Resposta.

    terça-feira, 24 de abril de 2018 14:27

Todas as Respostas

  • Muito Obrigado.
    terça-feira, 24 de abril de 2018 16:40
  • Ola faz tempo já essa duvida, mas talvez pode servir para outros estudantes iniciantes.

    O meu programa rodou sem problemas após eu trocar os "||"por "&&". Segue o exemplo abaixo:

    double valorDaNotaFiscal;
          
                valorDaNotaFiscal = 3758.0;

                if (valorDaNotaFiscal <= 999.0)
                {
                    MessageBox.Show("o valor de imposto será: 2% ");
                }
                else if (valorDaNotaFiscal >= 1000.0 && valorDaNotaFiscal <= 2999.0)
                {
                            MessageBox.Show("o valor de imposto será: 2.5% ");
                }
                else if (valorDaNotaFiscal >= 3000.0 && valorDaNotaFiscal <= 6999.0)
                {
                         MessageBox.Show("o valor de imposto será: 2.8 ");
                }
                else if (valorDaNotaFiscal >= 7000.0)
                {
                   MessageBox.Show("o valor de imposto será: 3%");
                }

    Para testar os diferentes resultados é só mudar o valor da variavel.

    quarta-feira, 9 de junho de 2021 12:33