Ir ao conteúdo
  • Cadastre-se

C Calcular desconto está dando resultado errado


Posts recomendados

int ano_fabricacao;

 char nome_veiculo[20];

 char convenio[4];

 float preco, preco_final, desconto;

 //Entrada de dados:

 printf("Informe o nome do veiculo: ");

 scanf("%s", &nome_veiculo);

 printf("Informe o ano de fabricação: ");

 scanf("%d", &ano_fabricacao);

 printf("Informe o preco do veiculo: ");

 scanf("%f", &preco);

 printf("Possui convenio?\n<sim/nao>: ");

 scanf("%s", &convenio);

 //Casos:

 if(ano_fabricacao <= 2000){

   preco_final = preco - (preco*0.12);

   desconto = preco * 0.12;

 }

 if(ano_fabricacao > 2000 && ano_fabricacao < 2011){

   preco_final = preco - (preco*0.08);

   desconto = preco * 0.08;

 }

 if(ano_fabricacao >= 2011 && ano_fabricacao < 2016){

   preco_final = preco - (preco*0.06);

   desconto = preco * 0.06;

 }

 if(ano_fabricacao >= 2016 && ano_fabricacao < 2020){

   preco_final = preco - (preco*0.04);

   desconto = preco * 0.04;

 }

 //Saída de dados:

 printf("\n\nVeiculo: %s\n", nome_veiculo);

 printf("Ano: %d\n", ano_fabricacao);

 printf("Preco: R$%.2f\n", preco);

 printf("Desconto: R$%.2f\n", desconto);

 if(convenio, "sim") == 0 && (convenio, "SIM") == 0){

   printf("Desconto do convenio: R$%.2f\n", preco_final*0.05);

 }

 if(convenio, "sim") == 0 && (convenio, "SIM") == 0){

   printf("\nPRECO COM DESCONTO: R$%.2f\n", preco_final-(preco_final*0.05));

 }else{

   printf("\nPRECO COM DESCONTO: R$%.2f\n", preco_final);

 }

return 0;

}

 

 

 

QUESTÃO:

A concessionária de veículos “CARANGO” está vendendo os seus veículos com desconto. Faça um algoritmo em linguagem C, que calcule e exiba o valor do desconto e o valor a ser pago pelo cliente. São fornecidos: - nome do veículo - ano de fabricação - convenio (tem ou não) - preço O desconto deverá ser calculado de acordo com o ano do veículo.

Até 2000, aplicar 12% de desconto


De 2000 a 2010, aplicar 8% de desconto.


De 2011 a 2015, aplicar 6% de desconto


De 2016 a 2020, aplicar 4% de desconto

OBS: se o comprador tiver convênio, aplicar mais 5%, sobre o preço com desconto Mostrar como resultado: - nome do veículo - ano de fabricação -desconto concedido (+ desconto do convenio se houver) - preço - preço com desconto

 

Sem título.png

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Andrielli  esses comandos não funcionam desse jeito , não , 

if(convenio, "sim") == 0 && (convenio, "SIM") == 0)
{
    printf("Desconto do convenio: R$%.2f\n", preco_final*0.05);
}
if(convenio, "sim") == 0 && (convenio, "SIM") == 0)
{
    printf("\nPRECO COM DESCONTO: R$%.2f\n", preco_final-(preco_final*0.05));
}
else
{
    printf("\nPRECO COM DESCONTO: R$%.2f\n", preco_final);
}

na linguagem tem uma syntaxe própria dele , 

#include <string.h>
if(strcmp(convenio, "sim") == 0) || strcmp(convenio, "SIM") == 0) )
{
    printf("Desconto do convenio: R$%.2f\n", preco_final*0.05);
}
if( strcmp(convenio, "sim") == 0 ) || strcmp(convenio, "SIM") == 0) )
{
    printf("\nPRECO COM DESCONTO: R$%.2f\n", preco_final-(preco_final*0.05));
}
else
{
    printf("\nPRECO COM DESCONTO: R$%.2f\n", preco_final);
}

e seu código poderia ser assim  :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int main()
{
    //Variáveis:
    int ano_fabricacao;
    char nome_veiculo[20];
    char convenio/*[4]*/;
    float preco, preco_final, desconto;
    //Entrada de dados:
    printf("Informe o nome do veiculo: ");
    scanf("%s", nome_veiculo);
    printf("Informe o ano de fabricação: ");
    scanf("%d", &ano_fabricacao);
    printf("Informe o preco do veiculo: ");
    scanf("%f", &preco);
    printf("Possui convenio?\n< S / N >  : ");
    scanf("%c", &convenio);
    convebio = toupper(convenio);
    //Casos:
    if(ano_fabricacao <= 2000)
    {
        preco_final = preco - preco * 0.12;
        desconto = preco * 0.12;
    }
    if(ano_fabricacao > 2000 && ano_fabricacao < 2011)
    {
        preco_final = preco - (preco*0.08);
        desconto = preco * 0.08;
    }
    if(ano_fabricacao > 2010 && ano_fabricacao < 2016)
    {
        preco_final = preco - preco*0.06;
        desconto = preco * 0.06;
    }
    if(ano_fabricacao >= 2016 && ano_fabricacao <= 2020)
    {
        preco_final = preco - preco*0.04;
        desconto = preco * 0.04;
    }
    if( convenio == 'S' )
    {
        preco_final -= preco_final * 0.05;
        desconto += preco_final * 0.05;
    }
    printf("\nPRECO COM DESCONTO --: R$ %.2f\n", preco_final);
    //Saída de dados:
    printf("\n\n");
    printf("Veiculo --: %s\n", nome_veiculo  );
    printf("Ano ------: %d\n", ano_fabricacao);
    printf("Preco ----: R$ %.2f\n",preco_final);
    printf("Desconto -: R$ %.2f\n", desconto );
    return 0;
}

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

  • DiF alterou o título para Calcular desconto está dando resultado errado

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

Aprenda a ler resistores e capacitores

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!