Általános kérdések!

Indította Action, 2013 január 04, 07:20:06 DÉLUTÁN

Előző téma - Következő téma

Action

A WORD elszáll, az írás megmarad.

Szilárd

Egy apróbb hibába akadtam, amiről azt hittem, hogy meg tudom oldani, de valahogy mégsem, és csak folyamatosan idegeskedem ezen.  :(

A lényeg annyi lenne, hogy van 1 programom, ami webről, egy *.txt fájlból leolvas 4 számot (double).
Ezeket kellene fél percenként dinamikusan frissítenem. Ezt megpróbáltam Timer segítségével, ami X időközönként elvégzi az ActionListenert, ami benne van, de teljesen biztos vagyok benne, hogy a konstruktorral van probléma, ami lekéri az adatot a webhelyről. Amire gondoltam, az az, hogy első meghívásnál regisztrál egy értéket a még előtte meghívott konstruktor, egy változóba, amit a get ugye feladatát jól elvégezve visszaad nekünk. Azonban ez a változó N-edik meghívásra is ugyanannyi marad. Próbáltam Timer-t rakni a konstruktorba, de szintén nem jutottam előrébb. Esetleg van valami, amit tudnátok javasolni, hogy hogyan kellene csinálnom?

Szilárd
Java / C# / Swift Programmer

Apple
----------
OS X / iOS User
iPhone 6 Plus
iPad Air 2
MacBook Pro 13" Retina

jumikar

c++-ban írtam egy programot az alapműveletek kiszámítására,de mivel kezdő vagyok, lenne néhány kérdésem. Ha szorzásnál a szorzó nulla, a másik szám pedig negatív, mínusz nullát ír ki. Hogy lehetne ezt megoldani?
Esetleg van-e arra mód, hogy ne csak ponttal, hanem vesszővel is beírjassa a törteket?Végül a legnehezebb:
Ha egy művelettel végzett, egy billentyű lenyomását kéri a kilépéshez. Meg lehet e oldani, hogy a program ezt is felajánlja, de esetleg újra készen álljon a további műveletekre?

Szilárd

Üdv!

1) Alapvetően nem hibás a -0 kifejezés, mert az egy helyes kifejezés matematikailag, de ha mindenképpen meg akarsz szabadulni tőle, akkor úgy oldanám meg a helyedben, hogy ellenőrzöm a szorzandó és a szorzó értékét, és ha valamelyik 0, akkor az eredmény automatikusan 0 lenne.
2) A vesszős problémára ezt a referenciát tudnám adni: http://www.cplusplus.com/reference/string/string/replace/
Lényegében a beolvasott sztringben kell lecserélni minden vesszőt pontra, majd azt valahogyan átkonvertálni double / float típussá, hogy utána számolásra is használható legyen. Erre én az "atof()" metódust használnám, C-ben létezik, tehát gondolom a C++-ban is szintúgy.
3) Ha jól értelmezem a problémádat, akkor az kéne, hogy ne lépjen ki a programod, hanem használható legyen több műveletre. Ezt én úgy csinálnám, hogy addig futtatnám a beolvasást egy ciklusban, amíg mondjuk az "Esc" le nincsen nyomva, amit ugye a programod minden egyes konzol beolvasás után közvetít a felhasználó felé, de emellett készen áll arra, hogy újabb adatot olvasson egy másik billentyű lenyomása során. Tehát mikor az adott kérdéshez kerül a programod, akkor ha "Esc", akkor "break" utasítást kap a ciklusod, ha pedig valami más billentyű kerül lenyomásra, akkor "continue" utasítást, így nem szakad meg maga a ciklus, csak az adott futás, ami után visszaugrik az elejére.

Remélem segítettem ezzel!

Szilárd
Java / C# / Swift Programmer

Apple
----------
OS X / iOS User
iPhone 6 Plus
iPad Air 2
MacBook Pro 13" Retina

Powered by EzPortal