Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa funkcijom if koja se ne poziva iako je uslov za njeno pozivanje ispunjen

[es] :: C/C++ programiranje :: C/C++ za početnike :: Problem sa funkcijom if koja se ne poziva iako je uslov za njeno pozivanje ispunjen

[ Pregleda: 2793 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Trantor

Član broj: 100930
Poruke: 275
91.150.111.*

ICQ: 199139277


Profil

icon Problem sa funkcijom if koja se ne poziva iako je uslov za njeno pozivanje ispunjen07.12.2007. u 20:42 - pre 199 meseci
Zašto dole navedeni kod ne radi kako treba? Naime sve radi dobro dok ne ubacim vrednost za x preko 1.5 kada bi trebalo da se aktivira treća eksponencijalna funkcija a umesto nje se aktivira logaritamska funkcija. Hvala unapred.

#include <iostream>
#include<cmath>

using namespace std;

int main()
{
float x, y;
cout << "Unesite parametar funkcije (x):" << endl;
cin >> x;

if (x<=0.5)
{
y=sqrt (fabs(pow(x,2)+3*x+2));
cout << "Za x=" << x <<" funkcija y=koren|x*x+3*x+2|=" << y << endl;
system("PAUSE");
return 0;
}

if (0.5<x<=1.5)
{
y=log(x+1);
cout << "Za x=" << x <<" funkcija y=ln(x*x+5)=" << y << endl;
system("PAUSE");
return 0;
}

if (x>1.5)
{
y=exp(3*x+1);
cout << "Vrednost funkcije je: " << y <<endl;
system("PAUSE");
return 0;
}


}
The truth is out there and I want to believe.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Problem sa funkcijom if koja se ne poziva iako je uslov za njeno pozivanje ispunjen07.12.2007. u 20:49 - pre 199 meseci
Citat:

if (0.5<x<=1.5)

if (x<=1.5)
 
Odgovor na temu

butcher87

Član broj: 148902
Poruke: 32
*.3dnet.co.yu.



Profil

icon Re: Problem sa funkcijom if koja se ne poziva iako je uslov za njeno pozivanje ispunjen07.12.2007. u 23:07 - pre 199 meseci
Izvoli...

Code:

#include <iostream>
#include<cmath>

using namespace std;

int main()
{
float x, y;
cout << "Unesite parametar funkcije (x):" << endl;
cin >> x;

if (x<=0.5)
{
y=sqrt (fabs(pow(x,2)+3*x+2));
cout << "Za x=" << x <<" funkcija y=koren|x*x+3*x+2|=" << y << endl;
system("PAUSE");
return 0;
}

if (x>0.5 && x<=1.5) //<<<<<<<<<<<<<<<<<<<<<<
{
y=log(x+1);
cout << "Za x=" << x <<" funkcija y=ln(x*x+5)=" << y << endl;
system("PAUSE");
return 0;
}

if (x>1.5)
{
y=exp(3*x+1); 
cout << "Vrednost funkcije je: " << y <<endl; 
system("PAUSE");

}
return 0;

}
 
Odgovor na temu

Trantor

Član broj: 100930
Poruke: 275
91.150.111.*

ICQ: 199139277


Profil

icon Re: Problem sa funkcijom if koja se ne poziva iako je uslov za njeno pozivanje ispunjen08.12.2007. u 10:58 - pre 199 meseci
Hvala vam puno. Sad radi kako treba. Samo još nešto. Zašto čak i kad sam ispravio kod programa opet nije radio kako treba sve dok ga nisam ponovo napisao iz početka? Ovo mi se ne dešava prvi put da ispravim kod i da ne radi dok ga lepo ponovo ne napišem sve iz početka. Da li je problem možda u kompajleru? Ja korisim Bloodshed v4.9.9.2. I još nešto "butcher87" zašto si u zadnjoj "if" funkciji izbacio "return 0" izvan tela funkcije? Milsim sve radi OK ali radi i kad je telu funkcije kao što sam je ja stavio. Hvala još jednom.
The truth is out there and I want to believe.
 
Odgovor na temu

perun_
Nemanja Andjelkovic
Banglades

Član broj: 151779
Poruke: 115
212.62.55.*

Sajt: 127.0.0.1


Profil

icon Re: Problem sa funkcijom if koja se ne poziva iako je uslov za njeno pozivanje ispunjen08.12.2007. u 14:57 - pre 199 meseci
int main() znaci da main vraca int. Ukoliko ovo return 0; stoji u poslednjem if-u, main vraca nulu samo za x>1.5. Sta vraca za ostale vrednosti x-a? Main se transformise iz int-a u void, mozda?
Ne treba ciljati u metu vec metati u cilj
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Problem sa funkcijom if koja se ne poziva iako je uslov za njeno pozivanje ispunjen08.12.2007. u 15:07 - pre 199 meseci
Cela ta if struktura je lose projektovana.

Dakle, treba nesto kao:
Code:

if ( x <= 0.5 )
{
   // nesto
}
else if ( x > 1.5 )
{
   // nesto drugo
}
else
{
   // ostalo
}

 
Odgovor na temu

Trantor

Član broj: 100930
Poruke: 275
77.46.199.*

ICQ: 199139277


Profil

icon Re: Problem sa funkcijom if koja se ne poziva iako je uslov za njeno pozivanje ispunjen08.01.2008. u 17:56 - pre 198 meseci
X Files:

Hvala za predlog ovo što si ti napisao jeste daleko bolja i elegantnija struktura. :)
The truth is out there and I want to believe.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Problem sa funkcijom if koja se ne poziva iako je uslov za njeno pozivanje ispunjen

[ Pregleda: 2793 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.