kostenloser Webspace werbefrei: lima-city


Komme auf den Fehler nicht

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    chrasch

    Kostenloser Webspace von chrasch

    chrasch hat kostenlosen Webspace.

    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:sauer:

    Beitrag geändert: 10.7.2008 15:37:00 von chrasch


    Beitrag geändert: 10.7.2008 15:50:53 von chrasch
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Autor dieses Themas

    chrasch

    Kostenloser Webspace von chrasch

    chrasch hat kostenlosen Webspace.

    So jetzt kann man es lesen.

  5. 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?
  6. 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
  7. Autor dieses Themas

    chrasch

    Kostenloser Webspace von chrasch

    chrasch hat kostenlosen Webspace.

    OMG dass es mir nicht selbst aufgefallen ist.:lol:

    Ein großes Dankeschön an adrians und an alle anderen, es funktioniert.:thumb:

    gruß
    chrasch
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!