Ratlosigkeit bei C-Programm (einfacher Taschenrechner)
-
Hallo liebes Forum!
Ich bin dabei bei C ziemlich neu zu starten und hänge zurzeit bei einem kleinen Programm um mich einzuleben.
#include <stdio.h> int Addition(int Summand1, int Summand2); int Subtraktion(int Subtrahend1, int Subtrahend2); int Multiplikation(int Multiplikator1, int Multiplikator2); int Division(int Dividend1, int Dividend2); int main(int argc, char* argv[]) { int a,b,ergebnis; char op; printf("Zahl 1 eingeben: "); scanf("%d",&a); printf("Zahl 2 eingeben: "); scanf("%d",&b); printf("Operator eingeben (+,-,*,/): "); scanf("%s",&op); //op=getchar(); switch(op) { case '+': ergebnis=Addition(a,b); break; case '-': ergebnis=Subtraktion(a,b); break; case '*': ergebnis=Multiplikation(a,b); break; case '/': ergebnis=Division(a,b); break; } printf("\n_________________________\nDas Ergebnis ist: %d\n",ergebnis); return 0; } int Addition(int Summand1, int Summand2) { int Summe; Summe=Summand1+Summand2; return Summe; } int Subtraktion(int Subtrahend1, int Subtrahend2) { int Differenz; Differenz=Subtrahend1-Subtrahend2; return Differenz; } int Multiplikation(int Multiplikator1, int Multiplikator2) { int Faktor; Faktor=Multiplikator1*Multiplikator2; return Faktor; } int Division(int Dividend1, int Dividend2) { int Quotient; Quotient=Dividend1/Dividend2; return Quotient; }
Es gibt zwar keine Fehlermeldung, aber ich gebe die Zahlen plus den Operator ein, das Ergebnis stimmt jedoch in keinster Weise.
Weiß einer wieso???lg
Michael
-
Mit dem Datentyp double funktioniert es plötzlich...
-
In Zeile 17 liest du eine Zeichenkette in ein einzelnes Zeichen ein. Nimm den Formatstring
" %c"
(mit Leerzeichen!)Mit dem Datentyp double funktioniert es plötzlich...
Du meinst aber nicht, dass 3/4==0, oder? Das ist beim Rechnen mit Ganzzahlen kein Fehler, sondern ein Feature.