Ostream Ausgabe |
26.02.2017, 15:24 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Ostream Ausgabe Hallo Guten Tag kann mir jemand erklären wie ich bei der a) die ostream Ausgabe machen soll? Wie macht man das ? Die Rumpf implementierungen sehen so aus.
cpp
Die oberen Codes wurden uns gegeben . Wie gestalte ich jetzt die Ostream Ausgabe? |
||||||||||
|
|||||||||||
27.02.2017, 16:30 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Habe einen kleinen Ansatz: Habe das Im Header implementiert für die a) ostream& operator << (ostream& lop, const CJulianDate& rhs); }; cpp
Welche Funktion rufe ich für Tag ,monat und Jahr auf ? Es gibt ja viele ? |
||||||||||
03.03.2017, 11:31 | Auf diesen Beitrag antworten » | ||||||||||
chatter | GIbt es hier noch Helfer? |
||||||||||
03.03.2017, 11:44 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Du hast dir einen schlechten Zeitpunkt ausgesucht, es läuft gerade ein Wettbewerb. Es ist möglich, auf private Felder zuzugreifen, wenn du ostream als friend deklarierst. Siehe z.B. stackoverflow. Alternativ kannst du der Klasse getter Funktionen hinzufügen, um so auf die Variablen zuzugreifen. |
||||||||||
Anzeige | |||||||||||
|
|||||||||||
04.03.2017, 09:31 | Auf diesen Beitrag antworten » | ||||||||||
chatter |
Jetzt habe ich den ostream ausserhalb der Klasse gebaut . Was soll ich den im ostream für ne Funktion ausgeben ? Abgekürzt ein wenig: rhs.formatDayNumber(day,month,year); Ich habe nur die zu veränderte Zeile gepostet |
||||||||||
06.03.2017, 17:11 | Auf diesen Beitrag antworten » | ||||||||||
Chatter | Jemand hat Tipps ? |
||||||||||
08.03.2017, 23:50 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Eulersche Zahl ? Noch da? |
||||||||||
09.03.2017, 07:24 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | . |
||||||||||
10.03.2017, 14:02 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Es werden mir zu viele Fehler angezeigt Description Resource Path Location Type Member declaration not found CJulianDate.cpp /CJulian line 19 Semantic Error Member declaration not found CJulianDate.cpp /CJulian line 23 Semantic Error Member declaration not found CJulianDate.cpp /CJulian line 27 Semantic Error Member declaration not found CJulianDate.cpp /CJulian line 31 Semantic Error Type 'std::string' could not be resolved CJulianDate.h /CJulian line 21 Semantic Error Member declaration not found CJulianDate.cpp /CJulian line 15 Semantic Error die Regel für Ziel „CJulian“ scheiterte makefile /CJulian/Debug line 44 C/C++ Problem Nicht definierter Verweis auf `main' CJulian C/C++ Problem make: *** [CJulian] Fehler 1 CJulian C/C++ Problem Method 'toGregorianDate' could not be resolved CJulianDate.cpp /CJulian line 103 Semantic Error Symbol 'cout' could not be resolved main.cpp /CJulian line 9 Semantic Error Method 'dayOfWeekAsName' could not be resolved CJulianDate.cpp /CJulian line 104 Semantic Error Symbol 'endl' could not be resolved CJulianDate.cpp /CJulian line 104 Semantic Error Field 'm_days' could not be resolved CJulianDate.cpp /CJulian line 93 Semantic Error Type 'std::ostream' could not be resolved CJulianDate.cpp /CJulian line 100 Semantic Error Symbol 'std' could not be resolved main.cpp /CJulian line 5 Semantic Error Type 'std::ostream' could not be resolved CJulianDate.cpp /CJulian line 100 Semantic Error Type 'CJulianDate' could not be resolved CJulianDate.cpp /CJulian line 100 Semantic Error Type 'CJulianDate' could not be resolved main.cpp /CJulian line 8 Semantic Error Type 'std::ostream' could not be resolved CJulianDate.h /CJulian line 94 Semantic Error Type 'std::string' could not be resolved CJulianDate.cpp /CJulian line 81 Semantic Error Member declaration not found CJulianDate.cpp /CJulian line 81 Semantic Error Type 'std::string' could not be resolved CJulianDate.h /CJulian line 75 Semantic Error Function 'string' could not be resolved CJulianDate.cpp /CJulian line 89 Semantic Error Member declaration not found CJulianDate.cpp /CJulian line 92 Semantic Error Type 'std::ostream' could not be resolved CJulianDate.h /CJulian line 94 Semantic Error Member declaration not found CJulianDate.cpp /CJulian line 50 Semantic Error Member declaration not found CJulianDate.cpp /CJulian line 56 Semantic Error Type 'std::string' could not be resolved CJulianDate.cpp /CJulian line 60 Semantic Error Member declaration not found CJulianDate.cpp /CJulian line 60 Semantic Error Wieso kommen diese Fehler ? |
||||||||||
10.03.2017, 14:20 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | von meinem Anhang? Bei mir läuft das alles, kompiliert mit g++. |
||||||||||
10.03.2017, 14:32 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Ja ich habe auch g++ und es zeigt diese Fehler Mittlerweile aber nur 3 fehler . Bei der b) ist doch von dieser Methode die rede oder ? * Addiert die angegebene Anzahl Tage zu diesem Julianischen Datum hinzu. */ CJulianDate& operator+= (long days) { m_days += days; return *this; } Ich verstehe die Aufgabenstellung nicht . Von was soll ich hier die differenz bilden ? Und welche Funktion soll ich da implementieren ? |
||||||||||
10.03.2017, 14:35 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Hier noch ein Screenshot vom fehler |
||||||||||
10.03.2017, 16:11 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Die Fehler kann ich nicht nachvollziehen. Was passiert, wenn du im Terminal in den entsprechenden Ordner gehst und dort g++ main.cpp CJulianDate.cpp schreibst? Bei Aufgabe b) sollst du die Differenz zwischen zwei Daten bilden. Da kannst du dich am operator += orientieren, den du kopiert hast (nebenbei bemerkt gehört die nicht in den Header). Aber da du operator - überladen sollst und nicht operator -=, wird this nicht verändert, sondern das Ergebnis als long zurückgegeben. |
||||||||||
10.03.2017, 16:36 | Auf diesen Beitrag antworten » | ||||||||||
chatter | icm muss eclipse benutzen . Vielleicht liegt darin der Fehler ? b) CJulianDate& operator-= (long days) { m_days -= days; return *this; } Würde es einfach so passen ? |
||||||||||
10.03.2017, 16:55 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Du kannst es ja trotzdem mal mit dem Terminal ausprobieren... b) du sollst operator - überladen, nicht operator -=. |
||||||||||
10.03.2017, 17:03 | Auf diesen Beitrag antworten » | ||||||||||
chatter |
Einfach so ? Weisst du wie man über das terminal auf die ordner zugreift ? Ich bin noch nicht so erfahren mit Linux ? Will es aber über die Zeit werden . Und auf windows komplett verzichten |
||||||||||
10.03.2017, 17:08 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | cd <Ordnername> z.B. cd /Dokumente/Studium/C++ ungetestet:
Die Aufgabe verlangt, dass du ein zweites Datum entgegennimmst und ein long zurückgibst. |
||||||||||
10.03.2017, 17:19 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Für die c) muss ich ja bei der main: in etwa aufrufen .... semesterBegin(1,10,2016); Es gibt so viele methode die tag , jahr und Monat ausführen ? Welche soll ich nehmen ? Diese Aufgabe ist irreführend |
||||||||||
10.03.2017, 17:22 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Wenn du in die main schaust, habe ich dir dort schon ein Datum erstellt. Das geht vollkommen analog. |
||||||||||
10.03.2017, 17:28 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Was mir nicht klar ist welche Funktion hiermit aufgerufen wird ?
CJulianDate ist doch nur der Klassenname keine Methode ? Das verstehe ich nicht |
||||||||||
10.03.2017, 17:30 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Das ist ein Konstruktoraufruf. Das entspricht CJulianDate::CJulianDate(int year, short month, short day). |
||||||||||
10.03.2017, 17:41 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Rufe ich mit meinem Aufruf sozusagen diese Funktion auf?
|
||||||||||
10.03.2017, 17:43 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Letztendlich ja. Du rufst den Konstruktor auf und der dann die Funktion. |
||||||||||
10.03.2017, 17:54 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Muss ich für den letzten Aufgabenteil jetzt diesen Operator aufrufen oder ?
Wie ruft man einen operator auf in der main ? |
||||||||||
10.03.2017, 17:57 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | cout << semesterBegin; Das machst du ja auch schon. Kompiliere das Programm und führe es aus! |
||||||||||
10.03.2017, 18:06 | Auf diesen Beitrag antworten » | ||||||||||
chatter | das poblem ist das mir bei eclipse die ausgaben nicht angezeigt . es steht immer binary not found Daher kann ich es net testen |
||||||||||
10.03.2017, 18:08 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Dann nimm das Terminal! cd <Ordner> g++ main.cpp CJulianDate.cpp ./a.out |
||||||||||
10.03.2017, 18:17 | Auf diesen Beitrag antworten » | ||||||||||
chatter | verdammt zeigt mir an das das verzeichnis ncht gefunden wird |
||||||||||
10.03.2017, 18:29 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Bei <Ordner> sollst du ja auch den Ordner einsetzen, wo du das Projekt angelegt hast. Vermutlich ist das dein eclipse workspace Ordner. |
||||||||||
10.03.2017, 18:30 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Passt es so?
|
||||||||||
10.03.2017, 18:33 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Nein. Erst kompilieren und ausführen, dann editieren was nicht passt. Schreibe mal
ins Terminal. Das gibt dir an, wo du die Datei gespeichert hast. dann
|
||||||||||
10.03.2017, 18:34 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Ich gehe immer zu build all und dann zu run . Aber es kommt immer diese Fehlermeldung siehe Screenshot . Weisst du woran es liegt ? Oder kannst du mir eine andere Umgebung empfehlen wo es ohne probleme funktioniert ? |
||||||||||
10.03.2017, 18:37 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Mit dem Terminal kannst du nicht viel falsch machen. |
||||||||||
10.03.2017, 18:40 | Auf diesen Beitrag antworten » | ||||||||||
chatter | ok ich versuche es nochman |
||||||||||
10.03.2017, 18:45 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Geil das screenshot hat geholfen Mir wird als Ausgabe Samstag, 1.10.2016 Freitag, 31.3.2017 angezeigt was machst du da genau mit dem cat Befehl? |
||||||||||
10.03.2017, 18:51 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Wieso zeigt er mir das nicht an nach dem cat befehl? cout << "Semesterbeginn: " << " " << " Samstag " << " , " << semesterBegin << " Semesterende:" << " " << "Freitag " <<" , " << semesterEnd << " , "<<" ,"<<"Dauer:"<< " "<< "128" << " " << "Tage "<<endl; Ist das falsch? |
||||||||||
10.03.2017, 18:55 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | cat gibt den Dateiinhalt an. Ich wollte dir nur nochmal zeigen, wie meine main() aussieht. Damit du verstehst, warum in meinem Screenshot eine andere Ausgabe ist als bei dir.
Ja, das ist falsch. Die Differenz soll dein Programm ja ausrechnen. Du gibst hier einfach eine 128 aus. Das geht vielleicht für die gegebenen Semestergrenzen, ist aber nicht allgemeingültig. |
||||||||||
10.03.2017, 18:59 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Ich poste schon mal den weiteren Aufgabenteil,da die aufgabe noch weiter geht Die Differenz soll dein Programm ja ausrechnen. Du gibst hier einfach eine 128 aus. Das geht vielleicht für die gegebenen Semestergrenzen, ist aber nicht allgemeingültig. Ah die differenz methode hatten wir ja implementiert . long operator-(const CJulianDate& other) { return this.m_days - other.m_days; } Statt der 128 ,irgendwie diese Methode aufrufen ? |
||||||||||
10.03.2017, 19:04 | Auf diesen Beitrag antworten » | ||||||||||
eulerscheZahl | Ja.
|
||||||||||
10.03.2017, 19:15 | Auf diesen Beitrag antworten » | ||||||||||
chatter | Das war ja eigentlich nur einfache Logik Aber trotzdem beim programmieren so schwer drauf zu kommen . Bei der nächsten Aufabe muss ich ja eine Laufvariable erstellen. Aber wo ist diese pretty PrintMethode ? Soll meine Methode so heissen oder wie ? |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
Die Neuesten » |