B
borsti007
Aktives Mitglied
Thread Starter
- Dabei seit
- 24.01.2006
- Beiträge
- 194
- Reaktionspunkte
- 4
Kann mir jemand sagen warum der Code nicht funktioniert?
Funktioniert evtl. "fflush(stdin); wahl = getchar();" unter OSX nicht richtig?
Ich hatte es mit CoreRunner (AppStore) probiert und auch mit Xcode.
Es werden zwar zwei Werte abgefragt, aber danach macht er gleich mit dem else-Zweig weiter:
Bitte geben sie zwei Fließkommawerte ein: 3
4
Welche Operation soll ausgeführt werden:
Addition
Subtraktion
Multiplikation
Division
Ihre Wahl:
kenn ich nicht!
Das Berechnungsergebnis ist: 0.000000
---------------------------
#include <stdio.h>
main()
{
char wahl;
double wert1, wert2, ergebnis;
printf("Bitte geben sie zwei Fließkommawerte ein: ");
scanf("%lf %lf", &wert1, &wert2);
printf("Welche Operation soll ausgeführt werden:\n");
printf("Addition\n Subtraktion\n Multiplikation\n Division\n");
printf("Ihre Wahl: ");
fflush(stdin);
wahl = getchar();
if(wahl == 'A' || wahl == 'a')
ergebnis = wert1 + wert2;
else if(wahl == 'S' || wahl == 's')
ergebnis = wert1 - wert2;
else if(wahl == 'M' || wahl == 'm')
ergebnis = wert1 * wert2;
else if(wahl == 'D' || wahl == 'd')
ergebnis = wert1 / wert2;
else
{
printf("%c kenn ich nicht!\n",wahl);
ergebnis = 0.0;
}
printf("Das Berechnungsergebnis ist: %lf\n", ergebnis);
}
Jemand eine Idee?
Funktioniert evtl. "fflush(stdin); wahl = getchar();" unter OSX nicht richtig?
Ich hatte es mit CoreRunner (AppStore) probiert und auch mit Xcode.
Es werden zwar zwei Werte abgefragt, aber danach macht er gleich mit dem else-Zweig weiter:
Bitte geben sie zwei Fließkommawerte ein: 3
4
Welche Operation soll ausgeführt werden:
Addition
Subtraktion
Multiplikation
Division
Ihre Wahl:
kenn ich nicht!
Das Berechnungsergebnis ist: 0.000000
---------------------------
#include <stdio.h>
main()
{
char wahl;
double wert1, wert2, ergebnis;
printf("Bitte geben sie zwei Fließkommawerte ein: ");
scanf("%lf %lf", &wert1, &wert2);
printf("Welche Operation soll ausgeführt werden:\n");
printf("Addition\n Subtraktion\n Multiplikation\n Division\n");
printf("Ihre Wahl: ");
fflush(stdin);
wahl = getchar();
if(wahl == 'A' || wahl == 'a')
ergebnis = wert1 + wert2;
else if(wahl == 'S' || wahl == 's')
ergebnis = wert1 - wert2;
else if(wahl == 'M' || wahl == 'm')
ergebnis = wert1 * wert2;
else if(wahl == 'D' || wahl == 'd')
ergebnis = wert1 / wert2;
else
{
printf("%c kenn ich nicht!\n",wahl);
ergebnis = 0.0;
}
printf("Das Berechnungsergebnis ist: %lf\n", ergebnis);
}
Jemand eine Idee?