12 uloh - ukonceni programu z beziciho cyklu – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

12 uloh - ukonceni programu z beziciho cyklu – C / C++ – Fórum – Programujte.com12 uloh - ukonceni programu z beziciho cyklu – C / C++ – Fórum – Programujte.com

 

Mr. Wep
~ Anonymní uživatel
1 příspěvek
22. 1. 2007   #1
-
0
-

Procital jsem si clanky a narazil jsem na clanek 12 uloh. (http://programujte.sk/view.php?cisloclanku=2006081101-12-uloh)
Hned v prvni uloze se chce, aby pri stisku klavesy v prubehu beziciho cyklu byl program (cyklus) ukoncen. Snazil jsem se vsude mozne najit reseni, ale bez uspechu. Ulohy jsou obecne k programovacim jazykum, lze to nejak "jednoduse" udelat v c++? Jak mam udelat, aby program neustale monitoroval, zda neni urcita klavesa zmacknuta a pokud ano neco udelal?

Nahlásit jako SPAM
IP: ...–
sn3d0
Věrný člen
23. 1. 2007   #2
-
0
-

No toto je taka zvlastna uloha.V MS-DOSe existovala na to C funkcia kbhit() v conio.h.Lenze ta nieje standardom ANSI/C.Zalezi to od OS na akom to chces spravit.Vo vyzsich jazykoch to tusim nieje tkay problem ale u C/C++ je aj takato blbostka problem.Je viacero rieseni ako to mozes spravit:

- Dve vlakna.V jednom vlakne by si cakal pomocou getch() na ESC znak a zatial druhe vlakno by zapisovalo na vystup inkrementujuce sa cisla v slucke.Ak by v prvom vlakne getch() vratil ESC znak, vtedy by prve vlakno ukoncilo druhe vlakno.

- Vo windowsoch su na to spravy.Odporucam pozriet WM_KEYDOWN a WM_KEYUP.
- Na unixoch mozes pouzit priamo CURSES kniznicu
- Na unixoch napisat kod priamo pre terminal(problem moze nastat s komaptibilitou terminalov).Tam sa da napisat vlastna kbhit() fcia

Nahlásit jako SPAM
IP: ...–
shutdown -h now
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 88 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý