DRMCW
Cadet 3rd Year
- Registriert
- Nov. 2009
- Beiträge
- 59
Tag Leute,
ich habe folgendes Problem, und komme nicht auf die Lösung. Es handelt sich hier bei um eine Übungsaufgabe.
Per While schleife soll ich soll ich per Scanf den Variablen werte zuweisen soweit so gut.
ptr2wert ist ein Array, der seine eigene form hat, per Typedef und Struct. Messwerte.
Mein problem hier bei ist die Eingabe. Der Erste durchgang geht wunderbar. Ich kann werte eingeben, kein Problem. Wenn ich aber dann noch neue werte eingeben möchte, im zweite durchgang geht das nicht. Ich dachte es leigt am Tastaturpuffer, deswegen ja fflush(stdin). Aber selbst damit bekomme ich keine möglichkeit eine neue eingabe zu machen das programm springt an die Letzte frage. ich kann dann aber was eingeben aber ergeht dann nicht raus. Selbst n oder ein j geht nicht. ich denke mal das der Tastaturpuffer mit \n gesetzt ist. Wie bekomme ich den jetzt frei ?
ich habe folgendes Problem, und komme nicht auf die Lösung. Es handelt sich hier bei um eine Übungsaufgabe.
Per While schleife soll ich soll ich per Scanf den Variablen werte zuweisen soweit so gut.
ptr2wert ist ein Array, der seine eigene form hat, per Typedef und Struct. Messwerte.
Mein problem hier bei ist die Eingabe. Der Erste durchgang geht wunderbar. Ich kann werte eingeben, kein Problem. Wenn ich aber dann noch neue werte eingeben möchte, im zweite durchgang geht das nicht. Ich dachte es leigt am Tastaturpuffer, deswegen ja fflush(stdin). Aber selbst damit bekomme ich keine möglichkeit eine neue eingabe zu machen das programm springt an die Letzte frage. ich kann dann aber was eingeben aber ergeht dann nicht raus. Selbst n oder ein j geht nicht. ich denke mal das der Tastaturpuffer mit \n gesetzt ist. Wie bekomme ich den jetzt frei ?
C:
while(buchstabe != 'n'){
ptr2wert[i].messnr = i;
printf("Neuer Messwert? ");
fflush(stdin);
scanf("%lf", &ptr2wert[i].messwert);
ptr2wert[i].objekt.objektNr = i;
printf("Neue Objektbezeichnung? ");
fflush(stdin);
scanf("%19s", ptr2wert[i].objekt.bezeichnung);
printf ("Möchten sie Noch ein Messwert eingeben?");
fflush(stdin);
scanf("%c ", &buchstabe);
i++;
fflush(stdin);
}
Zuletzt bearbeitet: