do while-Schleife wie funktioniert <>\b\b Grundlagenerklärung
-
4)Fügen Sie eine do while-Schleife in das Programm ein. Der Anfang der Schleife
kommt vor der Ausgabe des Menues und das Schleifenende nach dem Ende des
Anweisungsblocks der switch-Verknüpfung *//* Demonstration einer do while-Schleife */ #include <stdio.h> int main() { int abfrage; do { printf(" <1> Auswahl #1 \n"); printf(" <2> Auswahl #2 \n"); printf(" <3> Auswahl #3 \n"); printf(" <4> Auswahl #4 \n"); printf(" <5> Auswahl #5 \n"); printf("Bitte eins der Untermenues auswaehlen < >\b\b\n"); scanf ("%d" ,&abfrage); switch(abfrage) { case 1: printf("Ihre Auswahl war die <1> \n"); break; case 2: printf("Ihre Auswahl war die <2> \n"); break; case 3: printf("Ihre Auswahl war die <3>\ n"); break; case 4: printf("Ihre Auswahl war die <4> \n"); break; case 5: printf("Ihre Auswahl war die <5> \n"); break; default: printf("Unbekannte Auswahl\n"); } } while(abfrage != 5); return 0; }
Die Frage bezieht sich hauptsächlich auf diese Zeile:
printf("Bitte eins der Untermenues auswaehlen < >\b\b\n"); scanf ("%d" ,&abfrage)
--> Einbmal \b bring den Cursor ja eine Stelle nach hinten, aber wie genau funktioniert das System dann, dass das ganze Programm funktioniert..verstehe nicht wie das an dieser Stelle funktioniert?
-
Was genau verstehst du denn nicht? Die Ausgabe von \b schiebt den Cursor einen Schritt zurück, die nächste Eingabe wird durch die Konsole dorthin geschrieben, wo gerade der Cursor stehengeblieben ist - im Endeffekt landet die nächste Eingabe zwischen den Klammern, die du voerher ausgegeben hast.
-
Ich verstehe gerade nicht warum genau ich da \b benötige.
Denke mir jetzt, dass ich \b brauche weil ich ja < > hab.Dadurch wird die Zahl die ich eingebe ja nur dann gleich zu der Zahl oben sein, wenn ich den Cursor um zwei nach links verschiebe, damit statt:
< >1
<1>
Weiß aber nicht ob das nun wirklich so ist.
Das verwundert mich gerade hierdran
-
Das hat mit den < > nichts zu tun. Du vergleichst nur den Zahlenwert.
Gib doch mal mehrstellige Zahlen ein z.B. 123, dann siehst du schon was passiert.default: printf("Unbekannte Auswahl <%d>\n", abfrage);