Evertonn 0 Denunciar post Postado Junho 22, 2008 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
Kandrade 7 Denunciar post Postado Junho 22, 2008 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
Evertonn 0 Denunciar post Postado Junho 23, 2008 Nossa realmente, não percebi isso! Funciono perfeitamente.... muito grato mesmooo. ^^ Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Junho 23, 2008 Foi nada! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Nossa realmente, não percebi isso! Funciono perfeitamente.... muito grato mesmooo. ^^ Compartilhar este post Link para o post Compartilhar em outros sites