WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   kleine frage zu getchar unter C (http://www.wcm.at/forum/showthread.php?t=84916)

zer0 19.01.2003 20:16

kleine frage zu getchar unter C
 
Hallo,

Ich bin leider noch C noob und hab ein kleines problem.
mit getchar.
Sicherheitshalber poste ich den ganzen programmcode.
Das programm funktioniert aber das problem is das nach der auswahl 1 das darauffolgende ENTER schon als das ASCII zeichen genommen wird.
Lässt sich da was machen oder muss ich das ganze programm umschreiben?

Code:

#include <stdio.h>
#include <ctype.h>

main() {
        char letter;
        int wahl;
        int dez;
        printf("\tASCII ZEICHEN UMRECHNER\n\n");
        printf("(1)ACSII in DEZIMAL oder (2)DEZIMAL in ACSII (1/2)? ");
        scanf("%i",&wahl);
        if (wahl == 1) {
                printf("\nBitte ASCII zeichen eingeben: \n");
                letter=getchar();
                printf("ASCII zeichen %c = Dezimal %i \n\n\n",letter,letter);
        }
        else if (wahl == 2) {
                printf("\nBitte DEZIMALZAHL eingeben: ");
                scanf("%i",&dez);
                printf("DEZIMALZAHL %i = ACSII %c \n\n\n",dez,dez);
        }
        else
                printf("Keine Gültige Auswahl (nur 1 oder 2)\n");
}

THX zer0

Take_Five 19.01.2003 21:12

Meinst jetzt, dass nach dem Printf ("Ascii Zeichen eingeben") in dieser wahl==1 Abfragen beim letter=getchar() er dein voriges Enter schon als zeichen nimmt?

Wenn das der Fall is, probier mal vor der Eingabe ein flushall() . Des löscht dir den Buffer. Des Enter steht nämlich im Buffer drin. Und nachdem ein Enter aus zwei Zeichen besteht, kanns sein das er deshalb des Enter gleich als eingabe nimmt (0D0A).

Lg Take_Five

zer0 21.01.2003 21:37

Genau das wars THX ; )

zer0

Flink 22.01.2003 10:18

verwende getch() statt getchar()

zer0 24.01.2003 16:19

thx Flink

nicht schlecht der link von getch(), gute Bibliothek.
Hast du vielleicht noch ein par gute links zum thems C, Tipps und Tricks oder sowas?

zer0


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag