Ir para conteúdo
Fórum Script Brasil
  • 0

Codigo Switch


djohnny

Pergunta

PESSOAL BOA TARDE.

ESTOU TENTO UM PROBLEMA COM UM PROGRAMA QUE EU FIZ PARA A FACULDADE.

ESTE PROGRAMA A PESSOA COLOCA O NOME DO PRODUTO QUE VAI COMPRAR

DEPOIS INSERE O VALOR, LOGO EM SEGUIDA TEM QUE INFORMAR QUAL A REGIÃO QUE SE ENCONTRA

ENTÃO CONFORME A REGIAO QUE ELE ESTA O PROGRAMA DE UM DESCONTO DIFERENTE.

O PROBLEMA É QUE QUANDO A PESSOA A OPÇÃO REFERENTE A REGIAO QUE ESTA O PROGRAMA não IMPRIME NA TELA O QUE LHE FOI COLOCADO

ESPERO QUE POSSAM ME AJUDAR AGUARDO.

AQUI SEGUE O CODIGO DO PROGRAMA.

#include <stdio.h>

#include <conio.h>

void main()

{

clrscr();

char prod[20];

float valor,desc;

int op;

printf ("\nQual produto esta comprando?");

scanf (" %c",&prod);

printf ("\n Por favor insira o valor do produto:R$");

scanf (" %f",&valor);

printf ("\n\t Qual regiao voce se encontra:\n\t 1 - Sul \n\t 2 - Norte \n\t 3 - Leste \n\t 4 - Oeste ");

switch (op)

{

case 1:

desc=(valor*10)/100;

printf ("O Produto %s para sua regiao custara: R$ %f",prod,desc);

break;

case 2:

desc=(valor*25)/100;

printf ("O Produto %s para sua regiao custara: R$ %f",prod,desc);

break;

case 3:

desc=(valor*35)/100;

printf ("O Produto %s para sua regiao custara: R$ %f",prod,desc);

break;

case 4:

desc=(valor*50)/100;

printf ("O Produto %s para sua regiao custara: R$ %f",prod,desc);

break;

default:

printf ("Opcao inexistente");

}

getch();

}

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Você não mandou ler a varável "op"

printf ("\n\t Qual regiao voce se encontra:\n\t 1 - Sul \n\t 2 - Norte \n\t 3 - Leste \n\t 4 - Oeste ");

switch (op)
Faça assim:
printf ("\n\t Qual regiao voce se encontra:\n\t 1 - Sul \n\t 2 - Norte \n\t 3 - Leste \n\t 4 - Oeste ");
scanf("%d",&op);
switch (op)

Link para o comentário
Compartilhar em outros sites

  • 0

Muito obrigado renato, consegui corrigir isto o unico problema agora é que na conta do desconto minha

so esta imprimindo o valor do desconto não o valor do produto já com o desconto. (desculpe por incomodar de novo)

Link para o comentário
Compartilhar em outros sites

  • 0

Veja o codigo esta funcionando corretamente so que seu eu coloco 1 real ele imprime as casas decimais a mais, eu so quero 2, porem quando coloco %.2f e usuario colocar por exemplo 1.000.00 ele não imprime, tem alguma maneira de que o programa reconheça e imprima as casas decimais do resultado de acordo com o numero de casas necessarias para cada caso?

#include <stdio.h>

#include <conio.h>

void main()

{

clrscr();

char prod[20];

float valor,qtdesc,desc;

int op;

printf ("\nQual produto esta comprando?");

scanf (" %s",&prod);

printf ("\n Por favor insira o valor do produto:R$");

scanf (" %f",&valor);

printf ("\n\t Qual regiao voce se encontra:\n\t 1 - Sul \n\t 2 - Norte \n\t 3 - Leste \n\t 4 - Oeste\n\t ");

scanf ("%d",&op);

switch (op)

{

case 1:

desc=valor-((valor*10)/100);

qtdesc= (valor*10)/100;

printf ("O Produto %s para sua regiao custara: R$ %.3f e voce obtve:\n R$ %.3f de desconto.",prod,desc,qtdesc);

break;

case 2:

desc=(valor*25)/100;

qtdesc= (valor*25)/100;

printf ("O Produto %s para sua regiao custara: R$ %.3f e voce obtve:\n R$ %.3f de desconto.",prod,desc,qtdesc);

break;

case 3:

desc=(valor*35)/100;

qtdesc= (valor*35)/100;

printf ("O Produto %s para sua regiao custara: R$ %.3f e voce obtve:\n R$ %.3f de desconto.",prod,desc,qtdesc);

break;

case 4:

desc=(valor*50)/100;

qtdesc= (valor*50)/100;

printf ("O Produto %s para sua regiao custara: R$ %.3f e voce obtve:\n R$ %.3f de desconto.",prod,desc,qtdesc);

break;

default:

printf ("Opcao inexistente");

}

getch();

}

Link para o comentário
Compartilhar em outros sites

  • 0

Veja , se o usuario entrar com 1.000.00, e escolher a opção 4, ele ganha 50% de desconto,

então o programa tem que imprimir na tela 500.00 que é o valor que ele vai pagar, o que quero saber é como faço para programa saber quantas casas seria correto ele imprimir na tela de acordo com o numero que o usuario entrar, mesmo que seja 10,00 ou 100.00 ou 1.000.00 ?? (desculpe a ignorancia)

desc=(valor*50)/100; este aqui so aparece o valor do desconto não o valor que o produto ficou, então estou usando ele para colocar na tela o quanto de desconto ele ganhou.

e o outro o valor que o produto ficou.

esta errado ou pode-se usar uma variavel so para isso??

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...