Kezdőoldal » Számítástechnika » Programozás » C++ban hogy lehet változóhoz...

C++ban hogy lehet változóhoz rendelni az eredményt?

Figyelt kérdés
pl. bekér 2 számot és összeadja.az eredményt hogy lehet egy változóhoz rendelni?
2012. jan. 19. 22:42
 1/4 anonim ***** válasza:

"változóhoz rendelni az eredményt"

Helyesen mondva váltóba eltárolni.

...

int eredmeny;

...

eredmeny=elsoszam+masodikszam

...

2012. jan. 19. 22:47
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

úgy értem hogy a progi tudja a 4 alapműveletet, és van egy függvény, és úgy van megcsinálva, hogy ha a fv.=+,-,*,/ akkor elvégzi az adott művelet.

eredmeny=elsoszam muvelet masodikszam

valahogy így akarom megcsinálni.Hogy ne keljen külön kiírni hogy eredmeny=elsoszam+,-,*,/masodikszam.Nemtudom érthető e?

2012. jan. 19. 23:07
 3/4 iostream ***** válasza:

Akkor vagy csináld valami más nyelvben, vagy gondold át mégegyszer. A C++ nem alkalmas arra, hogy ezt ÍGY leírd, három változót egymás után és akkor majd ő boldog lesz. Operátort nem tudsz változóba tenni.


Azt megteheted, hogy írsz egy-egy add, div, sub, mul függvényt, és attól függően, hogy mi a beadott művelet, másikat végzel el, valahogy így gondoltam:


int add(int, int);

int sub(int, int);

int div(int, int);

int mul(int, int);


typedef int (*muvelet)(int, int);

muvelet muv = 0;

//bekérjük a char-t a c nevű változóba

switch(c)

{

case '+': muv = add; break;

case '-': muv = sub; break;

case '/': muv = mul; break;

case '*': muv = div; break;

}


int eredmeny;

if(muv)

eredmeny = muv(szam1, szam2);

2012. jan. 20. 09:37
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

"Akkor vagy csináld valami más nyelvben, vagy gondold át mégegyszer. A C++ nem alkalmas arra, hogy ezt ÍGY leírd, három változót egymás után és akkor majd ő boldog lesz. Operátort nem tudsz változóba tenni."

Mondjuk ez egy kezdőnek biztos bonyolult amit írni fogok:

Az igaz hogy operátorokat nem tudsz közvetlenül változóba tenni, de az előbb említett add,sum,div,mul megírt függvények címét, azaz ilyen függvényre mutató függvény pointer-eket be lehet tenni egy tömbbe, inkább map-be raknám.

Ekkor például: sz1 sz2 változó tárolja a számokat.

A muv változó tárolja a műveletet ( + - / * egyikét ). A muv egy char típusú változó, vagy string ha későbbiekben több karakter hosszú művelet nevet akarsz bevezetni (ugyanis dinamikusan bővíthető)

Például ha csak kiíratni akarod az eredményt akkor ezt írod (ha a muveletT-be tárolod a művelet függvény pointereket) : cout << muveletT[muv](sz1,sz2);

2012. jan. 20. 13:22
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!