Zahl eingeben und einer Variablen zuordnen mit getch?
-
Hallo!
Ich will eine einstellige Zahl eingeben, diese soll einer variablen zugeordnet werden. ich will die eingegeben zahl nicht mehr mit return bestätigen.
dazu hab iche in programm:
int main(void) { printf("Bitte eine Zahl eingeben"); char c = getch(); a = c + 1;
leider ist mein programm total dumm. Wenn ich eine Zahl eingebe, dann liest getch nur den ascii-code raus. ich will aber, dass wenn ich "2" eingebe, auch mit 2 gearbeitet wird.
ich bin so wütend auf ansi-c
bitte helft mir, ich bin so dumm.
-
getch ist keine ANSI C Funktion. Aber getch liest dir offenbar ein Zeichen ein. Wenn du das in eine Zahl umwandeln willst, kannst du einfach folgenden Trick benutzen
char c = '2'; int i = c - '0';
Und reg dich nicht so auf. Lies lieber ein vernünftiges Tutorial.
-
int zahl = c - '0';
-
irgendwie hilft mir das nicht, sry
Ich schreib hier mal das ganze programm rein:
#include <stdio.h> #include <math.h> #include <conio.h> int main(void) { char c = getch(); switch (c) { case 1: printf("1"); break; case 2: printf("1"); break; } return 0;
ich will, dass wenn ich 1 eintippe, auch 1 in der konsole erscheint.
ich könnte das programm auch mit scanf f machen, aber ich will nicht immer mit return bestätigen. das ist zuuuu nervig. ich bin total traurig.
-
patrick87 schrieb:
irgendwie hilft mir das nicht, sry
Kein wunder, dass es dir nicht hilft, wenn du die Hilfestellung nicht nutzt.
-
Wie meine Vorredner schon schrieben:
// könnte auch int sein char c = getch() - '0';
-
patrick87 schrieb:
ich will, dass wenn ich 1 eintippe, auch 1 in der konsole erscheint.
int main() { int c = getche(); return 0; }