000
08.12.2010, 15:08 Uhr
Antik
|
In dieses Programm soll eine simple Ja oder Nein-Abfrage eingebaut werden.
J(a) funktioniert auch prima. Bei anderen Buchstaben zeigt er an "ungültige Abfrage" und wiederholt die Abfrage.
Bei n(ein) hingehen löst er die letzten beiden If-Anweisungen (fett marktiert zusammen aus. Also "testUngueltige Eingabe" und wiederholt die Abfrage erneut.
Was habe ich hier falsch gemacht?
Ich bitte zu entschuldigen, sollten weitere Fehler enthalten sein, etwas zu umständlich gemacht sein - ich befinde mich erst am Anfang.
Code: |
#include <stdio.h> #include <stdlib.h>
int main() { float a, b, sum, sum1, dif, dif1, pro, pro1, quo, quo1; char x, x1; p1: printf ("Wollen sie rechnen j/n:"); fflush (stdin); scanf ("%c", &x); if (x == 'j'){ printf ("Geben sie zwei Zahlen ein, trennen sie diese durch Leerzeichen:"); scanf ("%f %f", &a, &b); printf ("\nWieviel sind %.2f + %.2f?\n", a, b); scanf ("%f", &sum); sum1 = a + b; if (sum1 == sum){ printf ("richtig!\n\n"); } else { printf ("falsch! richtig ist %.2f + %.2f = %.2f\n\n", a, b, sum1); } printf ("Wieviel sind %.2f - %.2f?\n", a, b); scanf ("%f", &dif); dif1 = a - b; if (dif1 == dif){ printf ("richtig!\n\n"); } else { printf ("falsch! richtig ist %.2f - %.2f = %.2f\n\n", a, b, dif1); } printf ("Wieviel sind %.2f * %.2f?\n", a, b); scanf ("%f", &pro); pro1 = a * b; if (pro1 == pro){ printf ("richtig!\n\n"); } else { printf ("falsch! richtig ist %.2f * %.2f = %.2f\n\n", a, b, pro1); } if (b == 0){ printf ("Durch 0 teilen kann nur Chuck Norris.\n\n"); } else { printf ("Wieviel sind %.2f / %.2f?\n", a, b); scanf ("%f", &quo); quo1 = a / b; if (quo1 == quo){ printf ("richtig!\n\n"); } else { printf ("falsch! richtig ist %.2f * %.2f = %.2f\n\n", a, b, quo1); }}} if (x == 'n'){ printf("test"); } if (x != 'n', 'j'){ printf ("Ungueltige Eingabe\n\n"); goto p1; } system("PAUSE"); return 0; }
|
Dieser Post wurde am 08.12.2010 um 15:09 Uhr von Antik editiert. |