[C++] Zatrzymanie pętli na klawisz

0

Jak można zatrzymać pętle (np. dp{}while() ), ale tylko wtedy gdy naciśne odpowidni klawisz (np. ESC). Także chciałbym wiedzieć czy jest jakaś komenda/funkcja która czyta kod klawisza(tak jak Getch() ), ale NIE zatrzymuje programu.

--
Do raju przez piekło!

0

w delphi czy w pascalu?
a moze jakis inny jezyk bo nie bardzo mozna sie dopatrzec..

--
GW

0

no w c++ bo jest funkcja getch().
ewentualnie, może być wstawka w asm.

--
Do raju przez piekło!

0

A jakiego uzywasz kompilatora??
Niektore kompilatory nie toleruja funkcji getch().
Wiem natomiast, jak nalezy to zrobic z for, a , o ile mi wiadomo, to kazda petle do while mozna przerobic na for.
Sprobuj cos takiego cos takiego:

for ( ch = getche() ; ch != jakistam_znak ; ch = getche() )
{
/cialo petli/
}

O ile Twoj kompilator toleruje getch(), to powinno sie udac.--#include &ltiostream.h&gt
int main(){
cout&lt&lt"Pozdro all !!&lt&ltendl;
return 0;
}

0

Sorki, na gorze jest kilka literowek:
w dwoch miejscach pisalem o funkcji getch(), chodzilo mi oczywiscie o getche()
:-) .
Nie powinno to jednak wplynac na zrozumienie tego fragmentu textu ;)

zakladam, ze wiesz, iz funkcja getch() w np Windows wywolywana jest z buforowaniem linii wejscia (w praktycev oznacza to tyle, ze nalezy jeszcze nacisnac enter), a funkcja getche() bez buforowania (czyli nie musisz juz naciskac entera).

W ww. wypadku przydatna jest tylko funkcja getche(), choc, jak pisalem, moze ona nie wspolgrac z Twoim kompilatorem.

--

/**********************************************/
#include
int main(){
cout!!

1 użytkowników online, w tym zalogowanych: 0, gości: 1