Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Warten auf Enter

Sovebämse / 3 Antworten / Baumansicht Nickles

Ich habe ein Programm geschrieben, das zwei Zufallszahlen generiert und damit Rechnungen stellt.

Ziel des Programms ist es, dass der Benutzer nur eine bestimmte Zeit hat, die Lösung einzugeben. Gibt er sie nicht in dieser Zeit ein, wird das Resultat automatisch angezeigt.

Nun habe ich das Warten mit einer do-while Schleife gelöst, wobei per "if-Bedingung" auf einen Tastendruck (kbhit) gewartet wird. Das funktioniert natürlich genau so lange, wie man eine erste Zahl eintippt, dann hat man wieder keine Zeitbegrenzung mehr.

Somit suche ich die Möglichkeit, dass auf die Taste "Enter" gewartet wird und gleichzeitig aber eine Eingabe über cin möglich ist.

Gibt es so was in einer einigermassen leicht realisierbaren Form oder komm ich da schon in tiefere Gefilde der Programmierkunst?

Gruss und Dank
Thomas

bei Antwort benachrichtigen
Sovebämse Nachtrag zu: „Warten auf Enter“
Optionen

Habe das Problem nun mit einem Thread gelöst. War einfacher, als ich gedacht habe, auch wenn ich das ganze Konzept noch nicht verstehe.

bei Antwort benachrichtigen
Sovebämse Nachtrag zu: „Habe das Problem nun mit einem Thread gelöst. War einfacher, als ich gedacht...“
Optionen

Jetzt brauche ich trotzdem Hilfe:

Leider funktioniert das mit dem Thread nur jeweils einmal. Wenn ich eine for-Schleife mache, verhält er sich merkwürdig. Ich kann dann zwar noch eine weitere Eingabe machen, doch nimmt er diese nicht mehr an und lässt einfach die Zeit verstreichen. Danach gibt er nochmal die Lösung aus und dann versteh ich gar nicht mehr, was er genau macht.

Hier mal mein Quelltext auf: http://img443.imageshack.us/img443/1710/quelltextn.jpg

Wäre froh, wenn mir jemand den entscheidenden Tipp geben kann. Ich vermute, es hat was mit dem Thread-Teil zu tun.

Gruss und Dank
Thomas

bei Antwort benachrichtigen
Sovebämse Nachtrag zu: „Jetzt brauche ich trotzdem Hilfe: Leider funktioniert das mit dem Thread nur...“
Optionen

Voilà, ich hab's nun doch anders gelöst. Nämlich per getche-Einlesen und der Zeitfunktion, welche eine bestimmte Zeit wartet und dann die do-while-Schleife beendet.

Aber seht selbst:

#qkiqym33-6953 - CPP - Quellcode

bei Antwort benachrichtigen