djohnny Postado Setembro 16, 2006 Denunciar Share Postado Setembro 16, 2006 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 COMPRARDEPOIS INSERE O VALOR, LOGO EM SEGUIDA TEM QUE INFORMAR QUAL A REGIÃO QUE SE ENCONTRAENTÃ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 COLOCADOESPERO 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();} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RenatoMejias Postado Setembro 16, 2006 Denunciar Share Postado Setembro 16, 2006 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) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 djohnny Postado Setembro 16, 2006 Autor Denunciar Share Postado Setembro 16, 2006 Muito obrigado renato, consegui corrigir isto o unico problema agora é que na conta do desconto minhaso esta imprimindo o valor do desconto não o valor do produto já com o desconto. (desculpe por incomodar de novo) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RenatoMejias Postado Setembro 16, 2006 Denunciar Share Postado Setembro 16, 2006 É só colocar assim:desc=prod-((valor*10)/100);Até mais... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 djohnny Postado Setembro 17, 2006 Autor Denunciar Share Postado Setembro 17, 2006 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();} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RenatoMejias Postado Setembro 17, 2006 Denunciar Share Postado Setembro 17, 2006 Não entendi sua duvida. 1.000.00, como assim não imprime.Segunda coisa que não entendi:desc=(valor*50)/100; qtdesc= (valor*50)/100;Qual a diferença dos dois? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 djohnny Postado Setembro 18, 2006 Autor Denunciar Share Postado Setembro 18, 2006 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?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
djohnny
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
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.