Komme auf den Fehler nicht
lima-city → Forum → Programmiersprachen → C/C++ und D
ausgabe
break
code
double
einlesen
ergebnis
funktion
gerede
karpfen
kleinen taschenrechner
kleiner taschenrechner
machen
quellcode
rechnen
rechner
start
switch
tip
zahl
zweite zahl
-
hallo,
Also ich arbeite mich gerade in C++ ein. Ich habe einen kleinen Taschenrechner geschrieben. Der gibt mir aber nur 1.86891e-307 aus, egal welche Rechenart oder Zahlen.
Kann mir einer sagen warum er es macht?
Hier der Quellcode:
rechner.h:
#include <iostream> using namespace :: std; class Rechner { private: int funktion; double zahl1, zahl2, ergebnis; public: int Start() { cout<<\"Hallo! Dies ist ein kleiner Taschenrechner!\"<<endl; cout<<\"Was möchten Sie tun?\"<<endl; cout<<\"1 = Addition\"<<endl; cout<<\"2 = Subtraktion\"<<endl; cout<<\"3 = Division\"<<endl; cout<<\"4 = Multiplikation\"<<endl; cin>>funktion; } int Einlesen() { cout<<\"Geben Sie die erste Zahl ein!\"<<endl; cin>>zahl1; cout<<\"Geben Sie die zweite Zahl ein!\"<<endl; cin>>zahl2; } int Rechnen() { switch (funktion) { case 1: ergebnis = zahl1 + zahl2; break; case 2: ergebnis = zahl1 - zahl2; break; case 3: ergebnis = zahl1 / zahl2; break; case 4: ergebnis = zahl1 * zahl2; break; } } int Ausgabe() { switch (funktion) { case 1: cout<<zahl1<<\" + \"<<zahl2<<\" = \"<<ergebnis<<endl; break; case 2: cout<<zahl1<<\" - \"<<zahl2<<\" = \"<<ergebnis<<endl; break; case 3: cout<<zahl1<<\" / \"<<zahl2<<\" = \"<<ergebnis<<endl; break; case 4: cout<<zahl1<<\" * \"<<zahl2<<\" = \"<<ergebnis<<endl; break; } } };
rechner.cpp:
#include<iostream> #include \"rechner.h\" using namespace :: std; int main(){ Rechner tr; tr.Start(); tr.Einlesen(); tr.Ausgabe(); }
gruß
chrasch
edit: Ich hasse diese Formatierungsfehler
Beitrag geändert: 10.7.2008 15:37:00 von chrasch
Beitrag geändert: 10.7.2008 15:50:53 von chrasch -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Leider kann ich deinen Post nur teilweise sehen.
Versuch es doch mal mit float anstelle von int.
Aber nur ein Tip, wie gesagt, einiges von dir kann ich wegen der Werbung leider nicht sehen.
EDIT: Sehe grad du verwendest double als Datentyp. Dann vergiss mein Gerede ;)
Beitrag geändert: 10.7.2008 15:44:02 von karpfen -
Mhm, es scheint soweit eigentlich alles richtig zu sein. Ist ja ein recht leichter code...
Ich kann dir nur den Tipp geben, dass du einfach mal die zwischenwerte abfängst.
Gibt er auch die Zahl1, Funktion und Zahl2 genauso aus, wie du sie ausgegeben hast? -
Du rufst \"rechnen\" nicht auf.
Dann wird der Wert, den den du kriegst, der Wert sein, den ein ungefülltes double besitzt.
Bitte bitte, kein Problem. Jeder fängt mal klein an. =)
Beitrag geändert: 10.7.2008 16:06:46 von adrians -
OMG dass es mir nicht selbst aufgefallen ist.
Ein großes Dankeschön an adrians und an alle anderen, es funktioniert.
gruß
chrasch -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage