Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- Ostream Ausgabe (http://www.informatikerboard.de/board/thread.php?threadid=3485)


Geschrieben von chatter am 10.03.2017 um 17:03:

 

code:
1:
2:
3:
4:
5:
6:
7:
8:

CJulianDate& operator-(long days) {
m_days -= days;
return *this;

}


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 großes Grinsen



Geschrieben von eulerscheZahl am 10.03.2017 um 17:08:

 

cd <Ordnername>
z.B. cd /Dokumente/Studium/C++

ungetestet:
code:
1:
2:
3:
long operator-(const CJulianDate& other) {
    return this.m_days - other.m_days;
}

Die Aufgabe verlangt, dass du ein zweites Datum entgegennimmst und ein long zurückgibst.



Geschrieben von chatter am 10.03.2017 um 17:19:

 

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 geschockt



Geschrieben von eulerscheZahl am 10.03.2017 um 17:22:

 

Wenn du in die main schaust, habe ich dir dort schon ein Datum erstellt. Das geht vollkommen analog.



Geschrieben von chatter am 10.03.2017 um 17:28:

 

Was mir nicht klar ist welche Funktion hiermit aufgerufen wird ?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:


#include <iostream>
#include "CJulianDate.h"

using namespace std;

int main() {
	CJulianDate semesterBegin( 2016, 10, 1);
	cout << semesterBegin;
}



CJulianDate ist doch nur der Klassenname keine Methode ?

Das verstehe ich nicht



Geschrieben von eulerscheZahl am 10.03.2017 um 17:30:

 

Das ist ein Konstruktoraufruf.
Das entspricht CJulianDate::CJulianDate(int year, short month, short day).



Geschrieben von chatter am 10.03.2017 um 17:41:

 

Rufe ich mit meinem Aufruf sozusagen diese Funktion auf?
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:

void CJulianDate::fromGregorianDate(int year, short month, short day) {
	m_days = day - 32075 + 1461 * (year + 4800 + (month - 14) / 12) / 4
			+ 367 * (month - 2 - (month - 14) / 12 * 12) / 12
			- 3 * ((year + 4900 + (month - 14) / 12) / 100) / 4;
}




Geschrieben von eulerscheZahl am 10.03.2017 um 17:43:

 

Letztendlich ja. Du rufst den Konstruktor auf und der dann die Funktion.



Geschrieben von chatter am 10.03.2017 um 17:54:

 

Muss ich für den letzten Aufgabenteil jetzt diesen Operator aufrufen oder ?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:


std::ostream& operator << (std::ostream& lop, const CJulianDate& rhs){
	short day, month;
	int year;
	rhs.toGregorianDate(year, month, day);
	lop<< rhs.dayOfWeekAsName() << ", " << day << "." << month << "." << year << std::endl;
	return lop;
}






Wie ruft man einen operator auf in der main ?



Geschrieben von eulerscheZahl am 10.03.2017 um 17:57:

 

cout << semesterBegin;
Das machst du ja auch schon.
Kompiliere das Programm und führe es aus!



Geschrieben von chatter am 10.03.2017 um 18:06:

 

das poblem ist das mir bei eclipse die ausgaben nicht angezeigt .

es steht immer binary not found

Daher kann ich es net testen verwirrt



Geschrieben von eulerscheZahl am 10.03.2017 um 18:08:

 

Dann nimm das Terminal!
cd <Ordner>
g++ main.cpp CJulianDate.cpp
./a.out



Geschrieben von chatter am 10.03.2017 um 18:17:

 

verdammt zeigt mir an das das verzeichnis ncht gefunden wird



Geschrieben von eulerscheZahl am 10.03.2017 um 18:29:

 

Bei <Ordner> sollst du ja auch den Ordner einsetzen, wo du das Projekt angelegt hast.
Vermutlich ist das dein eclipse workspace Ordner.



Geschrieben von chatter am 10.03.2017 um 18:30:

 

Passt es so?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:



#include <iostream>
#include "CJulianDate.h"

using namespace std;

int main() {
	CJulianDate semesterBegin(2016, 10, 1);
	cout << semesterBegin;

	CJulianDate semesterEnd(2017, 3, 31);
		cout << semesterEnd;
		
		
		cout << "Semesterbeginn: " << " " << " Samstag " << " , " << semesterBegin << " Semesterende:" << " " << "Freitag " <<" , " << semesterEnd << " , "<<" ,"<<"Dauer:"<< " "<< "128" << " " << "Tage "<<endl;

}




Forensoftware: Burning Board, entwickelt von WoltLab GmbH