?
Der_Wau_Wuff schrieb:
Die_Muh_Kuh schrieb:
Ich weiß, dass man an dieser Stelle den Tastaturpuffer leeren muss.
Nur:
-Aus welchem Grund?
-und womit?
weil scanf beim zweiten durchlauf noch das '\n' vom ersten durchlauf selbständig ohne warnung einliest. für weitere erklärungen hab ich jetzt keine zeit mehr, siehe z.b. gallileo openbook usw...
kannst den puffer leeren, indem du vor jedem scanf, fgets etc.
z.b. diese beiden zeilen schreibst oder besser noch als funktion auslagerst:
setvbuf( stdin, NULL, _IONBF, 0 );
setvbuf( stdin, NULL, _IOFBF, BUFSIZ );
Die_Muh_Kuh schrieb:
Desweiteren soll ich überprüfen, ob als Operation ein konformes Zeichen eingegeben wurde. Wenn nicht, soll er eine Fehlermeldung rausspucken und um eine neue Eingabe verlangen
char Op;
if ( 1 == scanf("%[+,-,*,/,q]c",&Op) )
printf("Eingabe, Operatorc OK");
else
printf("Eingabe, Operator Kagge !" );
oh, wauwi, das hast du aber fein gemacht. soll ich dich zur belohnung am ohr kraulen ? *bussie* mauzie wauzie