Integerwert einlesen mit getch()
-
Hallo Leute, habe folgendes Problem:
möchte mit getch() eine Tastatureingabe einlesen (Wahlweise 1,2,3,4). Sieht dann so aus:
AEingabe[i]=getch();
So erhalte ich immer die ASCII-Werte ...
also Tastatureingabe 1 => AEingabe[] = 49...Ich hätte aber gerne, dass ich irgendwie anstatt der ASCII-Codes direkt die Zeichen zugewiesen kriege, weil AEingabe nachher mit einem anderen Array verglichen wird.
Vielen Dank schon mal...
-
zieh doch einfach das zeichen '0' ab.
-
zeichen werden in c durch ihre ascii-codes dargestellt. so ist zb die zeichenkonstante 'A' nichts anderes als ein int mit dem wert 65.
wenn du das array AEingabe[] mit einem char-array vergleichen willst (etwa mit strcmp()), dann deklariere AEingabe[] als char-array. der typ char ist nichts anderes als eine 8-bit ganzzahl. dem kannst du auch einen int-wert zuweisen.
-
net schrieb:
zieh doch einfach das zeichen '0' ab.
Du meinst etwa so...
for (i=0; i<=5; i++) { AEingabe[i] = AEingabe[i] - '0'; }
?
Geht das nicht etwas eleganter?Vielleicht hilft es, wenn ich noch kurz zeige, wie ich vor hatte, die Arrays zu vergleichen:
for (j=0; j<AnzFragen; j++) { if (iARichtig[j] == iAEingabe[j]) iSumRichtig++; }
Es soll hier ein Quiz umgesetzt werden. Das Array iARichtig enthält die richtigen Antworten, iAEingabe die vom Benutzer eingegebenen.