Ir para conteúdo

POWERED BY:

Arquivado

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

Evertonn

[Resolvido] Problema com Else if

Recommended Posts

Ola, eu sou novo no fórum, e gostei bastante pelos posts que vi...

 

 

Eu sou novo em Sistemas de informação, estou no 1° semestre. aos experientes desculpe minha ignorância, mas estou com algumas duvidas.

se puderem me ajudar desde já agradeço.

 

Bom, eu fiz um programinha, só pra utilizar a função (if) mesmo. coloquei uma série de casos.

mas estou com um probleminha com o ( else if ).

 

Acho que estou fazendo certo mas não sei porque motivo, ele não executa a segunda condição que coloquei.

 

estou usando o compilador: Dev-c++ 4.9.9.2

 

Vo postar meu programa a seguir:

 

#include <stdio.h>
#include <stdlib.h>

float y, nro;

void main ()
{
	 system("color 1f");
	 printf (" 1-) Para fazer o calculo de um numero ^3, insira um numero.\nSendo que seja entre 0 e 10:\n");
	 scanf ("%f", &nro);
	 if ((nro>=0) && (nro<=10)) {
				  y=pow (nro,3);
				  printf ("O resultado do calculo feito e de:\t%.2f\n\n",y); 
				  }	  
	 else if ((nro<0) && (nro>=11)) {
		  printf ("somente os numeros especificados no enunciado:");
		  scanf ("%f", &nro);
		  y=pow (nro,3);
		  printf ("o resultado sera:\t %.2f\n\n",y);
		  }
				  printf (" 2-) Para fazer o calculo da expressao de num+2/num-5\ninsira um numero entre 10 e 30:\n");
				  scanf ("%f", &nro);
	 if ((nro>=10) && (nro<=30)) {
				  y=(nro+2/nro-5);
				  printf("o resultado da expressao sera:\t%.2f\n\n",y);
				  }
				  printf(" 3-)Para resolver a expressao de num+0/num^2-5\ndesde que seja entre 30 e 50 insira o numero:\n");
				  scanf("%f", &nro);
	 if ((nro>=30) && (nro<=50)) {
				   y=((nro+0)/pow(nro,2)-5);
				  printf ("O resultado sera:\t%.2f\n\n",y);
				  }
				  printf(" 4-) Para fazer o calculo de: num-num^3+5.Insira\num numero, sendo que seja entre 50 e 70:\n");
				  scanf("%f", &nro);
	 if ((nro>=60) && (nro<=70)) {
				   y=nro-pow(nro,3)+5;
				   printf ("O resultado sera:\t%.2f\n\n",y);
				   }
				   printf(" 5-)Para fazer o calculo (num-23), insira um numero:\n");
				   scanf("%f", &nro);
				   y=nro-23;
				   printf("O resultado sera:\t%.2f\n\n",y);
				   system("pause"); 
				   
								  
				  
}

Se puderem me auxiliar fico grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja a condição:

 

else if ((nro<0) && (nro>=11))

Ele vai executar o que estiver dentro do if se "nro" for menor que zero e maior ou igual a onze.

Isso não é possível. Um número menor que zero e maior ou igual a onze não existe.

Por isso essa condição nunca será verdadeira.

 

Para corrigir, use o operador lógico "ou".

 

else if ((nro<0) || (nro>=11))

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.