Endlosschleife
-
Hallo, Leute. Ich brauche dringend ihre Hilfe.
Wie kann ich eine endlosschleife unterbrechen? Ich habe es mit 'if(getch() != '\r')
break;probiert, aber es funktioniert nicht richtig, weil Schleife wartet dann
auf einen Tastendruck. Es soll nicht wartet, es soll arbeiten und mit Tastendruck unterbrochen
werden. Ich danke voraus für ihre Hilfe._______________________________________-
#include<stdio.h>
#include<conio.h>
#include<graph.h>
#include<stdlib.h>
#include<time.h>
#define FARBE 16
#define ZP1 20
#define ZP2 79int zufall( int maximum );
void main(void)
{
int i,j,zahl,p;for(p=0; ;p++)
{
i = zufall( ZP1);
j = zufall( ZP2);
zahl = zufall(FARBE);_settextposition(i,j);
_setbkcolor(zahl);
_outtext(" ");}
}
-
falls du unter Windows arbeitest und eine Bietriebssystemspezifische Routine nutzen willst probiers mit
_kbhit()
Checks the console for keyboard input.
Routine Required Header Compatibility
_kbhit <conio.h> Win 95, Win NTReturn Value
_kbhit returns a nonzero value if a key has been pressed. Otherwise, it returns 0.
Remarks
The _kbhit function checks the console for a recent keystroke. If the function returns a nonzero value, a keystroke is waiting in the buffer. The program can then call _getch or _getche to get the keystroke.
Die Funktion gibts in MSVC und wahrscheinlich auch bei Borland dort wahrscheinlich ohne '_' am Anfang
-
Danke. Mit 'while(!kbhit())' statt 'for' hat es schon erledigt. Danke.