Anfängerfehler? Rechner
-
Hall,ich bin komplett neu was das programmieren angeht und somit noch recht unerfahren!
Ich wollte sowas wie einen vereinfachten Taschenrechner programmieren,hat aber nicht geklappt,würde mich freuen,wenn mir jemand eine Antwort gibt warum das so ist und inwiefern ich was falsch gemacht hab!#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{float Eingabebefehl;
printf("1=+\n11=-\n111=/\n1111=\n");
scanf("%f",&Eingabebefehl);
fflush(stdin);
if(Eingabebefehl==1)
{
float Zahl1;
float Zahl2;
printf("Addieren:");
printf("1.Zahl:");
scanf("%f",&Zahl1);
printf("2.Zahl:");
scanf("%f",&Zahl2);
float Ergebnis;
Ergebnis=Zahl1+Zahl2;
printf("Dein Ergebnis ist %f\n",Ergebnis);
}
if(Eingabebefehl==11)
{
float Zahl1;
float Zahl2;
printf("Subtrahieren:");
printf("1.Zahl:");
scanf("%f",&Zahl1);
printf("2.Zahl:");
scanf("%f",&Zahl2);
float Ergebnis;
Ergebnis=Zahl1-Zahl2;
printf("Dein Ergebnis ist %f\n",Ergebnis);
}
if(Eingabebefehl=111)
{
float Zahl1;
float Zahl2;
printf("Dividieren:");
printf("1.Zahl:");
scanf("%f",&Zahl1);
printf("2.Zahl:");
scanf("%f",&Zahl2);
float Ergebnis;
Ergebnis=Zahl1/Zahl2;
printf("Dein Ergebnis ist %f\n",Ergebnis);
}
if(Eingabebefehl==1111)
{
float Zahl1;
float Zahl2;
printf("Multiplizieren:");
printf("1.Zahl:");
scanf("%f",&Zahl1);
printf("2.Zahl:");
scanf("%f",&Zahl2);
float Ergebnis;
Ergebnis=Zahl1Zahl2;
printf("Dein Ergebnis ist %f\n",Ergebnis);
}
system("PAUSE");
return 0;
}
-
Ich hätte das ins FAQ posten sollen!
Das hab ich zu spät gesehen Sorry
-
Schon mal was von Code-Tags gehört?
Und von switch/else if/float nicht für Integer?Edit: Das muss nicht in die FAQ und ist übrigens C++ in schlechtem Stil.
Edit2: Die dritte if-Anweisung ist fehlerhaft.
-
ich bin absoluter Anfänger.Ich weiß nicht was code tags sind und was heiß nicht für integer?
Ist das also nicht machbar mit int Variablen?
Könnt mir den jemand sagen wie es sonst geht oder ist das zu aufwendig?
Danke
-
Code-Tags ist was fürs Forum, um Code formatiert zu zeigen.
#include <stdio.h> int main() { printf("Hallo Welt!\n"); return 0; }
Die float Variable Eingabe muss kein float sein, weil sie sowieso nur ganzzahlige Werte entgegen nimmt/nehmen sollte. Ein int ist da ausreichend.
Dein Fehler liegt in der dritten if-Abfrage. Schaue ihn dir an und vergleiche die Abfrage mit den anderen.
-
Danke habs gefunden!
Vielen Dank an dich,der Theard kann zu gemacht werden
-
...
-
Das könnte man aber auch von der Tipparbeit her optimieren, indem erst (je nach eingabe) ausgegeben wird, was nun kommt, dann werden direkt in der main die Werte eingelesen und anschließend (je nach Eingabe) addiert/subtrahiert/.. und zu guter Letzt wieder für alle, das Ergebnis ausgegeben.
Aber ich bezweifele, dass das noch gelesen wird.
-
Ich habe noch einen weiten Weg vor mir!
Aber das mit dem Augenkrebs war gemein,ich hab ja schließlich gerade erst angefangen
-
...
-
Von deinem Quelltext schmerzen mir aber auch die Augen, Swordfish.
Ich hasse den K&R/Stroustrup Stil...
Aber das ist jetzt OT.
-
...