Ir ao conteúdo
  • Cadastre-se

C++ estrutura condicional if else


david nilo

Posts recomendados

ola boa tarde amigos,

 

então estou sem entender um problema no meu codigo em linguagem c, fiz uma estrutura condicional no primeiro if funciona normal mas no else não esta funcionando alguem pode me ajuda e me explica porque não esta entrando no else?

este e o codigo:

no meu problema tenho que fazer um codigo q mostre o desconto, de 200 a 1000 desconto de 5%, acima de 1000 desconto e de 10% e mostra o valor do desconto e o valor total com desconto.

 

#include<stdio.h>
int main(){
float a, r, des,total;
printf("    1-Alto consumo de oleo lubrificanter: \n\n");
                    printf("Digite o tempo gasto para fazer o servico:\n ");
                    scanf("%f", &des);
                    if(a=200, a<1000){
                    a=des*100;
                    des *= 100/100;
                    total= des*5;
                    r= (200-total);
                    printf("\nO total do servico com a mao de obra sem o desconto e de:%2.f R$\n", a);
                    printf("\nDE R$ 200,00 a R$ 1.000,00, desconto de 5%% : %2.f R$\n", total);
                    printf("\nO total do servico com a mao de obra e o desconto e de:%2.f R$\n", r);
                    system("pause");
                    system("cls");
                    }
                    else if(a>=1000){
                        a=des*100;
                        des *= 100/100;
                        total= des*10;
                        r= (a-total);
                        printf("\nO total do servico com a mao de obra sem o desconto e de:%2.f R$\n", a);
                        printf("\nDE R$ 1.000,00 a cima, desconto de 10%% :%2.f R$\n", total);
                        printf("\nO total do servico com a mao de obra e o desconto e de:%2.f R$\n", r);
                        }
                        return 0;
}

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Você não sabe o valor de "a". Então como vai comparar "a==200"? Olhe aqui a comparação com 2 símbolos "=" e não somente um. Aquela vírgula no meio do IF não existe. Use && ou || 

http://www.cprogressivo.net/2013/01/Operadores-logicos-E-OU-e-negacao.html

 

ME diga quem é o "a" e quem é o "des" nesse código? Se você está lendo o tempo gasto, por quê usou a variável "des" e não usou uma varável "tempo" que seria mais fácil de entender?

Link para o comentário
Compartilhar em outros sites

no if está funcionando porque você diz que "a" recebe um valor (200), no else if, você apenas compara, e não declara um valor;

adicionado 1 minuto depois

o que acontece, ele entra no if, atribui 200 para A, compara com a condição, faz o que se pede, o A nunca recebe um valor diferente de 200, portanto, nunca maior que 1000

adicionado 5 minutos depois

outra coisa, no caso de "des *= 100/100;", o "des" está recebendo o valor de "des" * 1 (resultado de 100/100), portando, des = des

Link para o comentário
Compartilhar em outros sites

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