Verschiedene Auswahlmöglichkeiten in C

Vektor

Erfahrenes Mitglied
Hi.

Ich würde gerne ein Consolen-Programm mit dem Dev-C++ Compiler programmieren, bei dem ein bestimmtes Layout gegeben ist, wo der Benutzer mit den Cursortasten zwischen den Auswahlmöglichkeiten hin und herspringen soll, und mit einem "x" die Option an und wieder abschalten kann. Das Layout sieht so ungefähr aus:


Text: _____


( ) Text
( ) Text
( ) Text
( ) Text
( ) Text
( ) Text
( ) Text

Bestätigen ( ) /*Hier soll man sein x machen können und auf Enter eingabe soll die nächste Funktion ausgeführt werden.*/

Der Cursor soll auf druck von "Pfeil nach unten" Taste in das nächste Feld unten springen, und eben mit der "Pfeil nach oben" Taste nach oben. Wenn man dann sein "x" gesetzt hat, soll es bei der Auswertung nach der Bestätigung eben mitverwendet werden oder nicht. Aber das müsste eigentlich mit einem True/False Befehl gehen, oder? Also: Wenn Option 1 == False dann berechne es nicht.

Aber wie mache ich es dass es sich an und abschalten lässt? Mit einer Schleife?

Und wie bekomme ich das mit dem Tastendruck hin. Gibt es da bestimmte Codes?

Hoffe ihr könnt mir helfen. Danke im vorraus.
 
Mit reinem ANSI-C wird das relativ schwierig, wenn nicht sogar unmöglich. Dazu brauchst Du schon zusätzliche Bibliotheken (wie zum Beispiel ncurses), mit denen Du "Fenster" und Steuerelemente auf der Konsole benutzen kannst.
 
Danke für die schnelle Antwort.

Könnt ihr mir da mal ein Beispiel machen, dass ich seh wie ich die Bibliothek verwenden muss?
 
Zuletzt bearbeitet:
Wenn du die Pfeilaste ansprechen willst musst du das über den Tastaturbuffer machen:
Code:
#include <bios.h>
...
...

while (bioskey(1)==0) //Solange keine Taste gedrückt wird
 { }
int taste=bioskey(0); //Tastaturcode der geeddrückten Taste abfragen

In taste ist dann eine 4-5 stellige Zahl die den Tastaturcode repräsentiert
 
Hab ich gleich mal ne Frage zu :-D
ist die Bios.h plattform unabhängig und ist es an sich eine gute Lösung?
Ich würd das nur gerne Wissen, nicht das ich irgendein Krams in meine porgramme einbaue, wollte schon ganz gerne "effizient" programmieren.
 
Funktioniert das nur bei einer Konsolenanwendung oder auch bei einer Windowsprogrammierung.

Aber danke für die Antworten. Jetzt weiß ich endlich wie ich die Tasten verwenden kann.
 
Auf diese Weise funktioniert es nur für die Konsole. Es wäre auch unsinnig, in einer Windowsanwendung ein Menü mit dieser Methode einzubauen.
 
Zurück