Ir para conteúdo

POWERED BY:

Arquivado

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

gluiz1

Dificuldade com ELSE e IF

Recommended Posts

Questão 1: construir um programa em C que leia o saldo atual de um cliente de um determinado banco e calcule, armazene e imprima o valor de crédito concedido a ele. Se o saldo for até R$ 500.00, o crédito será 10% do mesmo. Se o saldo for até R$ 1000.00, o crédito será 20% do mesmo. Se o saldo for até R$ 1500.00, o crédito será 25% do mesmo. Se o saldo for até R$ 2000.00, o crédito será 30% do mesmo. (0,25 ponto)

 

 

 

 

#include <stdio.h>

main() {

  	float saldo,credito;


  	printf("Digite seu saldo atual em conta: ");
  	scanf("%f", &saldo);

  	if (saldo<=500){
  	credito=saldo*0.10;
  	printf("Credito concedito: %0.2f\n", credito);
  	} 
  	else if (saldo>500<=1000) {
  	credito=saldo*0.20;
  	printf("Credito concedito : %0.2f\n", credito);
  	}
       else if (saldo>1000<=1500) {
  	credito=saldo*0.25;
  	printf("Credito concedito : %0.2f\n", credito);
  	} 
       else  if (saldo>1500<=2000) {
  	credito=saldo*0.30;
  	printf("Credito concedito : %0.2f\n", credito);
  	}

  	system("PAUSE");
  	}

 

O programa só lê a primeira e a 2 estrutura a restante não há leitura. Acho que to errando no ELSE e no IF. Mas como sou novo em programação to tendo as primeiras dificuldades, se alguem puder me ajudar :D

No outro programa é a mesma coisa

____________________________________________________________________________________________________________________

 

Questão 2: construir um programa em C que leia a altura de o peso de uma pessoa e calcule, armazene e imprima o seu IMC (Índice de Massa Corporal). Imprimir se a pessoa está abaixo do peso, no peso ideal, acima do peso ou obeso. A fórmula do IMC é: IMC = PESO / ALTURA2. (0,25 ponto)

 

• Abaixo de 18,5: abaixo do peso

• Entre 18,5 e 24,9: peso normal

• Entre 25,0 e 29,9: acima do peso

• A partir de 30,0: obeso

 

 

#include <stdio.h>
#include <math.h>

main() {
  	float alt,imc;
  	int peso;


  	printf("Digite sua altura: ");
  	scanf("%f", &alt);
  	printf("Digite seu peso: ");
  	scanf("%d", &peso);

  	imc=peso/alt*alt;  // fiz desse jeito ai ao lado, porem o certo seria "IMC = PESO / ALTURA2" mas nao consigo por o "^" pra funcionar.

             if (imc<=18.5)
             printf("Você esta abaixo do peso %0.2f\n\n", imc);
             else if (imc>18.5<=24.9);
                	printf("Você esta com peso normal %0.2f\n\n", imc); 
                	else if(imc>25.0<=29.9)
                           printf("Você esta acima do peso %0.2f\n\n", imc); }
                           else if(imc>=30.0)
                              	printf("Você esta gordo %0.2f\n\n", imc); }



  	system ("PAUSE");
  	}

Nesse eu não consigo calcular corretamente, o sistema não vai. :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

else if (saldo>500<=1000) 

 

Você não pode fazer esse tipo de coisa, sempre dá bagunça. Olha só o que aconteceu no seu:

 

1º: lembre-se que sempre se avalia o if da esquerda para a direita (excluindo quando você coloca parêntesis na expressão).

 

2º: Você colocou if(saldo>500, não é? Se saldo for maior que 500, isso vai ser 'verdadeiro', o que é transcrito em 1 em C. Se for menor que 500, isso vai ser 'falso', o que é transcrito em 0 em C.

 

Portanto, no final, esse if vai ser transcrito em 1 das 2 formas abaixo:

 

else if (1<=1000) 

else if (0<=1000) 

 

Você percebe que nas duas o if vai ser executado, pois tanto 1 quanto 0 são menores que 1000?

 

 

 

O correto seria isso:

 

else if (saldo>500 && saldo<=1000) 

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado mesmo, cheguei hoje na faculdade e conversei com uns amigos e eles me mostraram isso.

Muito obrigado mesmo.

 

bendido C ! ahuauhauhhuauhauh

e suas aspas e seus parenteses e suas chaves ahuhauahua.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, C é bem complexo mesmo...

 

Mas, sabendo programar, você tem uma das maiores e melhores armas possíveis. Com C é literalmente possível fazer tudo, ou quase xD

 

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.