Fragebogen-Problem
-
Hallo.
Ich möchte einen Art Fragebogen erstellen, worin man die Fragen mit JA bzw. NEIN beantworten kann. Ist die Antwort auf die Frage korrekt, so gibt es einen Punkt, ist sie falsch, so bleibt die Punktzahl bestehen.
Ich habe folgendes Problem: Die erste Frage kann man beantworten, bei richtiger Antwort erhöht sich die Punktzahl.
Die zweite Frage wird noch gestellt, doch dann beendet das Programm, ohne zu zählen.
Wo liegt mein Fehler?#include <stdio.h> #include <stdlib.h> void ja(); void nein(); int punkte=0; char antwort; main() { printf("Die Fragen muessen mit einem 'J' fuer Ja bzw. einem 'N' fuer Nein \ beantwortet werden.\n\n"); printf("Fahre ich gerne bei Regen Fahrrad? "); nein(); printf("Fahre ich gerne bei Sonnenschein Fahrrad? "); ja(); printf("%d", punkte); /*Kontrolle der Punkte*/ printf("\n"); system("PAUSE"); } void ja() /*Korrekte Antwort, so erhöhen sich die Punkte um "1"*/ { scanf("%c", &antwort); if (antwort=='J') punkte=punkte+1; } void nein() /*Korrekte Antwort, so erhöhen sich die Punkte um "1"*/ { scanf("%c", &antwort); if (antwort=='N') punkte=punkte+1; }
-
Versuch mal, nach jedem scanf()-Aufruf ein
while(getchar()!='\n');
Diese Schleife "löscht" das Zeilenende Zeichen '\n', welches nach der Eigabe deines Buchstabens(J/N) mit in den Tastaturpuffer eingelesen wird.
Greets
bash0R