C++/"Java" - Klassen problem..

cry1ng

Semiprofi
Thread Starter
Mitglied seit
15.06.2003
Beiträge
2.248
Ort
NRW Recklinghausen
Hi,
also es geht umfolgendes.
Wir sollten zumüben für die nächste Klausur folgendes Programm schreiben.(Anhang .txt => .cpp sollte klar sein :d ) Es soll in C++ geschreiben werden allerdings so das man es später in java importieren kann...
Wird daher eventuel Java programmieren bekannt vorkommen :)

Das Programm funktioniert soweit so gut bis auf eine Sache, dem Betrag aus einer komplexen zahl berechnen und ausgeben.
Mein Hauptproblem ist es den ausgerechneten Wert als "double"
im Hauptprogramm auszugeben.

Hoffe damit kann mir jemand weiter helfen :)
 

Anhänge

  • class komplex.txt
    5,7 KB · Aufrufe: 80
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hi,

wenn ich mich nicht irre habe ich 3 Fehler gefunden:

1) fehlt: #include<math.h> (oder du hast einen anderen Compiler)
2) Zeile 65
public:double betrag( komplex a )
muss heissen:
public:static double betrag( komplex a )
3) ab Zeile 178
case 7:{ // Betrag
cout << a.toString();
c=double::betrag(a);
cout<<"|a| = ";
cout << c.toString();
}
break;
habe ich geändert in:
case 7:{ // Betrag
cout << a.toString();
//c=double::betrag(a);
cout<<"|a| = ";
cout << komplex::betrag(a);
}
break;
die auskommentierte Anweisung "c=double::betrag(a);"
kann nicht funktionieren da
a) "c" vom Typ komplex ist und nicht vom Typ double.
b) "betrag" eine Methode der Klasse "komplex" ist und nicht eine Methode der Klasse "double".

Gruß
JO
 
Da fällt mir noch was ein:

Wenn du die Ausgabe weiterhin über "c.toString()" (ab Zeile 178) machen möchtest, muss "betrag" einen komplex als ergebnis leifern bei dem der imaginäre Anteil 0 ist:
public static komplex betrag( ... )

JO

EDIT:

und bei toString() kannst du nur einen double ausgeben wenn der imaginäre Teil 0 ist.
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh