Problem mit while Schleife
-
Hi
Ich bin neu hier und arbeite mich gerade durch ein C Tutorial durch. In dem Tutorial gibt es ein Programm mit dem man sich ASCII Zeichen in Zahlen angeben lassen kann.Ich wollte zu Übungszwecken eine Schleife einbauen. Wenn das Programm am Ende ist, soll man durch Eingabe der Taste 1 ein neues Zeichen eingeben können oder mit der 2
das Programm verlassen, ich hab das so gemacht.#include <stdio.h> #include <conio.h> int main() { char zeichen = 0; int ausgang = 1; while (ausgang != 2) { zeichen = 0; printf ("Ein Zeichen eingeben: "); scanf ("%c", &zeichen); printf ("Zeichen: %c, AscII-Code: %d.\n\n", zeichen, zeichen); printf ("1: Neues Zeichen eingeben.\n"); printf ("2: Programm verlassen.\n\n"); scanf ("%d", &ausgang); } getch(); return 0; }
So, wenn man also 1 eingibt, sollte die Schleife wieder starten, das tut sie auch, aber die Variable "zeichen" wird nicht erneut abgefragt. Es werden nur die
printf Funktionen ausgeführt.Danke für die Hilfe.
-
liegt an der pufferung.
lies am besten das
http://www.pronix.de/pronix-656.html
und wähle das für dich geeignetet..
-
Danke
Mit fflush(stdin); funktioniert es.
-
orluk schrieb:
Danke
Mit fflush(stdin); funktioniert es.
hast du das aus dem 'pronix' dingens?
dann mach's mal schnell wieder weg.
--> http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1052863818&id=1043284351
-
ok, vielleicht sollte man den pronix link mal nicht mehr posten.