Que devo fazer esse exercico? devo colocar switch , ou witch?

using System;

class MainClass {
  public static void Main (string[] args) {
    17) Uma loja de	ferragens está com uma promoção na venda de parafusos, dando descontos crescentes em	
  }
}

n° de Parafuso   | Desconto
1 a 99           | 0%
100 a 199        | 10%
200 a 299        | 20%
Acima de 299     | 30%  

função do número de parafusos vendidos, conforme a tabela abaixo:
Sabendo que o preço de cada parafuso é R$ 0,80, faça um programa que leia o número de parafusos
comprados por um cliente e imprima o preço que este cliente deverá pagar.

Acredito que nesse vc vai ter que usar ifs.

if ( quantidade < 100 )
    /* ... */
else if ( quantidade < 200 )
    /* ... */
else if ( quantidade < 300 )
    /* ... */
else // pra qualquer coisa que não for menor que 300
    /* ... */
3 curtidas

Acredito ainda que precisa de verificação dupla nos else if, nestes moldes:

     if (quantidade < 100)
     else if (quantidade > 100 e quantidade < 200)
     else if (quantidade > 200 e quantidade < 300)
     else if (quantidade > 300)

Se não for desta forma você poderá estar aplicando 2 ou 3 descontos em sequencia para a mesma compra, gerando assim um calculo errado.

3 curtidas

que vcs acham ?

float desconto=0, venda=0, preço = 0,x =0.80f;

        Console.WriteLine("Digite numeros de parafusos vendidos:");
        venda = float.Parse(Console.ReadLine());

        desconto = ((preço * x) / 100); // <--- tem  q calucar nao?


        if (venda < 100)
        {
            Console.WriteLine("Desconto 0%");
            Console.ReadKey();
        }


        else if (venda > 100 && venda < 200)
        {
            Console.WriteLine("Desconto 10%");
            Console.ReadKey();
        }

        else if (venda > 200 && venda < 300)
        {
            Console.WriteLine("Desconto 20%");
            Console.ReadKey();
        }


        else if (venda > 300)
        {
            Console.WriteLine("Desconto de 30%; ");
            Console.ReadKey();
        }
1 curtida

Esta faltando imprimir o preço da compra depois de ler a quantidade, a forma que você vai montar a conta é escolha sua e deve ser feita depois de ler a quantidade.

Como as porcentagens de desconto são fixas pessoalmente eu multiplicaria pelos decimais correspondentes, mas como eu disse, é pessoal e talvez a minha escolha nem seria a mais adequada.

A resposta do @wldomiciano está correta e é mais clara. Pelo fato de você usar else if não há esse risco de executar dois blocos da mesma estrutura.

1 curtida

faça os testes para os valores 100, 200 e 300 e veja o que acontece.