Taschenrechner in C: Könnt ihr mir bei der Überprüfung des Operators helfen?
Hallo Community,
ich bräuchte Hilfe bei meinem C-Code. Ich komme nicht weiter bei der Überprüfung vom Taschenrechner. Ich möchte, dass der Operator überprüft werden soll. Sprich bei allen anderen Buchstaben außer A, S, M, D soll der Benutzer eine neue Angabe machen.
Hier mein Code:
int main()
{
// Deklarierung der Variablen
char auswahl;
float zahl1, zahl2;
float ergebnis;
// Auswahl vom Rechenoperator
printf("Wie moechtest du Rechnen?\n");
printf("(a) Addieren\n");
printf("(s) Subtrahieren\n");
printf("(m) Multiplizieren\n");
printf("(d) Dividieren\n");
scanf("%c", &auswahl); // %c für char Variablen
while () {
if (auswahl != 'a' || 's' || 'm' ||'d') {
printf("\nFalsche Eingabe. Waehle eine neue:");
}
}
// Eingabe der Zahlen
printf("Gib deine erste Zahle ein: ");
scanf("%f", &zahl1);
printf("Gib deine zweite Zahle ein: ");
scanf("%f", &zahl2);
// Auswahl-Auswertung vom Benutzer
switch (auswahl) {
case 'a':
ergebnis = zahl1 + zahl2;
break;
case 's':
ergebnis = zahl1 - zahl2;
break;
case 'm':
ergebnis = zahl1 * zahl2;
break;
case 'd':
ergebnis = zahl1 / zahl2;
break;
default:
break;
}
// Ergebnisasugabe
if (auswahl == 'a') {
printf("\nErgebnis:\n%.1f + %.1f = %.1f", zahl1, zahl2, ergebnis);
}
if (auswahl == 's') {
printf("Ergebnis:\n%.1f - %.1f = %.1f", zahl1, zahl2, ergebnis);
}
if (auswahl == 'm') {
printf("Ergebnis:\n%.1f * %.1f = %.1f", zahl1, zahl2, ergebnis);
}
if (auswahl == 'd') {
printf("Ergebnis:\n%.1f / %.1f = %.1f", zahl1, zahl2, ergebnis);
}
printf("\n\n");
return 0;
}