Programmieraufgabe: Taschenrechner in C funktioniert nicht /?
Hey, als Übung zur Switch-Verzweigung habe ich einen Taschenrechner programmiert, aber er funktioniert nicht(
Es wird der Schritt mit der Rechenoperation weggelassen und 0 zurückggegeben. Worin liegt der Fehler?
2 Antworten
![](https://images.gutefrage.net/media/user/asdundab/1444749162_nmmslarge.jpg?v=1444749162000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
PC, Computer, Technik
![](https://images.gutefrage.net/media/default/user/13_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/pcdenker/1613912518976_nmmslarge__0_0_480_480_4590362b51b0e05c6e6cac535f00bfc0.jpg?v=1613912519000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, Technik, Technologie
Habe das gefunden, hoffe es hilft Dir :
https://de.wikibooks.org/wiki/C-Programmierung:_Kontrollstrukturen
Hier die Ausführung darin :#include <stdio.h>
int main(void)
{
double zahl1, zahl2;
char auswahl;
printf("\nMini-Taschenrechner\n");
printf("-----------------\n\n");
do
{
printf("\nBitte geben Sie die erste Zahl ein: ");
scanf("%lf", &zahl1);
printf("Bitte geben Sie die zweite Zahl ein: ");
scanf("%lf", &zahl2);
printf("\nZahl (a) addieren, (s) subtrahieren, (d) dividieren oder (m) multiplizieren?");
printf("\nZum Beenden wählen Sie (b) ");
scanf(" %c",&auswahl);
switch(auswahl)
{
case 'a' :
case 'A' :
printf("Ergebnis: %f", zahl1 + zahl2);
break;
case 's' :
case 'S' :
printf("Ergebnis: %f", zahl1 - zahl2);
break;
case 'D' :
case 'd' :
if(zahl2 == 0)
printf("Division durch 0 nicht möglich!");
else
printf("Ergebnis: %f", zahl1 / zahl2);
break;
case 'M' :
case 'm' :
printf("Ergebnis: %f", zahl1 * zahl2);
break;
case 'B' :
case 'b' :
break;
default:
printf("Fehler: Diese Eingabe ist nicht möglich!");
break;
}
}
while(auswahl != 'B' && auswahl != 'b');
return 0;
}
Kann es daran liegen, das erst die Zahl 1+2 eingegeben werden muß bevor die operation ausgeführt wird?
Woher ich das weiß:Recherche