Ir ao conteúdo

Problema em um programa de linguagem C!


rafasantos

Posts recomendados

Postado

galera to com um problema na seguinte questão:

Crie um programa que leia a marca da tv que o usuario quer comprar e as polegadas do aparelho. para 'samsung' ele ganha 20% de desconto. para lg o desconto é de 15%. para cce o desconto sobe para 25%. e para sony o desconto é de 10%. para televisoes de 20 polegadas o preço é r$1000, de 30 polegadas o preço é r$2000, para uma de 40 polegadas o preço sobe para r$4000 e para tv's de 50 polegadas o preço é de r$6000. o programa deve exibir o preço da tv que será comprarda.

meu programa ficou assim:


#include<stdio.h>
maind(){
char marca;
int polegadas, desconto, preco;
printf("qual a marca de tv que voce quer comprar? s/l/c/y\n");
scanf("%c", &marca);
fflush(stdin);
printf("de quantas polegadas voce quer a sua tv? 20/30/40/50\n");
if((marca=='s'||polegadas==20)){
preco=1000%20;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='s'||polegadas==30)){
preco=2000%20;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='s'||polegadas==40)){
preco=4000%20;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='s'||polegadas==50)){
preco=6000%20;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='l'||polegadas==20)){
preco=1000%15;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='l'||polegadas==30)){
preco=2000%15;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='l'||polegadas==40)){
preco=4000%15;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='l'||polegadas==50)){
preco=6000%15;}
if((marca=='c'||polegadas==20)){
preco=1000%25;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='c'||polegadas==30)){
preco=2000%25;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='c'||polegadas==40)){
preco=4000%25;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='c'||polegadas==50)){
preco=6000%25;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='y'||polegadas==20)){
preco=1000%10;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='y'||polegadas==30)){
preco=2000%10;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='y'||polegadas==40)){
preco=4000%10;}
printf("a tv vai custar r$ %d reais\n",&preco);
if((marca=='y'||polegadas==50)){
preco=6000%10;}
printf("a tv vai custar r$ %d reais\n",&preco);
system("pause");}

so que nao consigo copilar, estou usando o dev-c++

se alguem puder ajudar eu agradeço!

Postado

Seu main() está como maind()

e para usar a função system você deve incluir a biblioteca stdlib.h

testa aí, porque aqui deu certo.

valeu

Postado

Sempre que der erro em seus programas, leia as mensagens de erro.

Geralmente, como no caso do seu código, eles apontam exatamente o problema e até a linha onde ocorreu.

Postado

Eu rodei o programa com as correções do noobweb,mas todos os programas q tem algo matemático,dão o resultado 2293568,alguem pode me ajudar?

PS:TVs caras essas,hein?SmartTV 3D?

lol

Postado

Olha, eu coloquei as váriaveis recebendo 0 (ex. num=0,) e rodou.

Ve aí se te ajuda.

Desculpe, achei q tava respondendo outro tópico.

Mas olha aí o que eu fiz no começo do seu programa. Segue assim que vai dar certo.


#include<stdio.h>
#include<stdlib.h>
#include<math.h>
main()
{
char marca;
int polegadas=0,preco1=0, desconto=0, preco=0;
printf("qual a marca de tv que voce quer comprar? s/l/c/y\n");
scanf("%c", &marca);
printf("de quantas polegadas voce quer a sua tv? 20/30/40/50\n");
scanf("%d",&polegadas);
if(marca=='s')
{
if (polegadas==20)
{
preco=(1000/100)*(20);
preco1=(1000-preco);
}
}
printf("a tv vai custar r$ %d reais\n",preco1);

Espero ter ajudado.

Postado

esta certo, porém nao precisa de 2 variaveis para dizer 1 preço com os descontos....

basta apenas fazer uma.


preco = preco * 0.80;

explicando caso você ainda não saiba:

a variavel preco ira recebelar o valor dela mesmo, e multiplicar pelo valor do desconto

0.80 = 20%

0.70 = 30

e assim por diante.

esta certo que você ainda é iniciante, mas se eu digitar na marca da tv: dsakdoaksda

e nas polegadas 100?

que valor ele me retornaria?

caso não aprenderam a fazer doWHILE, ou o professor não pediu essa especificação... seria apenas um adicional no seu código.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!