Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » C++ Sprache » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (3): « vorherige 1 2 [3] Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen C++ Sprache
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
as_string as_string ist männlich
Tripel-As


Dabei seit: 06.11.2013
Beiträge: 176
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du hast die Datei "CCalenderEntry.h" genannt aber includierst die Datei "CCalendarEntry.h". Mal ist ein "e" im Calender und mal ein "a": Calendar. Ich denke, letzteres ist im Englischen richtig und außerdem ist es so in der Aufgabe auch. Also -> benenne die Header-Datei um!

Außerdem: Wenn Du deinen Fehler hast, dann sag doch bitte auch die Fehlermeldung und nicht nur: Er meldet Fehler!

Gruß
Marco
15.08.2017 14:17 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Victor
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Irgendwas scheint mit meiner Ide net zu stimmen auch nach dem umbenennen geht der Fehler nicht weg .

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

void bool set(const CJulianDate& date, const std::string& location,
			const std::string& description){
	if( toGregorianDate(int& year, short& month, short& day) < toGregorianDate(1582, 10, 15)){
		return false;
	}
	else if(toGregorianDate(int& year, short& month, short& day) >=toGregorianDate(1582, 10, 15))){
	m_date = date;
	m_location = location;
	m_description = description;
	return true;
}




Fehler :


Description Resource Path Location Type
No return, in function returning non-void CCalenderEntry.cpp /CJulianDate/CJulianDate line 38 Code Analysis Problem

Stimmt der code also die Idee so?
15.08.2017 17:14
as_string as_string ist männlich
Tripel-As


Dabei seit: 06.11.2013
Beiträge: 176
Herkunft: Heidelberg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich glaube, so wird das wirklich nichts... Wie kommt das eigentlich zustande? Bist Du Schüler oder studierst Du? Wenn Du studierst, was genau und woher kommt die Aufgabe?

  1. Du schreibst "void bool set(...". Schon alleine hier sind mindestens zwei Fehler drin. Erstens was ist denn nun der Rückgabewert? Ist es void (also keiner)? Oder ist es bool? Beides gleichzeitig funktioniert ja wohl kaum, oder?
  2. set() soll ja eine Methode der Klasse CCalendarEntry sein. Da sie ja (wie üblich) außerhalb der Klassendefinition definiert wird, musst Du CCalendarEntry::set(...) schreiben!
  3. Dein Vergleich in der if-Anweisung ist doch wohl offensichtlicher Unsinn, auch wieder in mehrfacher Hinsicht: zuerst einmal gibt es die Funktion toGregorianDate() nicht in der Klasse CCalendarEntry, sondern in der Klasse CJulianDate. Aber woher soll der Kompiler wissen, dass Du die meinst? Außerdem wäre das eine Member-Methode von der Klasse, die nicht statisch ist, weshalb Du ja auch noch ein Objekt brauchst, wenn Du sie aufrufen willst. Du könntest sie so nur aufrufen, wenn Du innerhalb der Klasse CJulianDate wärst, hier bist Du jetzt aber in der Klasse CCalendarEntry.
  4. Den Rückgabewert von CJulianDate::toGregorianDate() gibt es nicht, sie ist als void definiert. Wie willst Du denn dann zwei (nicht vorhandene) Rückgabewerte in der if()-Anweisung mit einen Kleiner-Zeichen vergleichen?
  5. Was soll der Aufruf vom ersten toGregorianDate mit den ganzen Argumenten? Du hast doch hier überhaupt kein "year", "month" oder "day" definiert!
  6. warum willst Du überhaupt etwas zu einem Gregorianischen-Kalender-Datum wandeln? Du willst doch einen Datumsvergleich machen, welches früher und welches später ist. Die ganze Aufgabe geht doch jetzt gerade darum, dass Du einen solchen Vergleich am besten mit dem Julianischen Kalender und eben gerade nicht mit dem Gregorianischen!
  7. Die Klasse CJulianDate hat den Operator < doch schon überladen! Das bedeutet, dass Du zwei Objekte vom Typ CJulianDate direkt mit < vergleich kannst. Allerdings nicht mit > oder mit >= etc, weil diese gar nicht definiert sind in CJulianDate.
  8. Du brauchst kein "else if(...)" wenn Du nach dem if (was ein return macht und deshalb die Funktion verlässt) mit allem anderen weiter gehen willst. Wenn das if unwahr ist, wäre doch die else if(...) Bedingung so wie so schon true, was willst Du da also noch vergleichen (zumal der Vergleich ja so wie so Blödsinn ist mit dem "toGregorianDate()"...
  9. Du hast nach dem else if()... eine öffnende geschweifte Klammer, die aber nicht mehr geschlossen wird.

Ich weiß nicht, ob ich noch ein paar Probleme vergessen habe. Das alles kann doch nicht Dein Ernst sein? Es kann doch nicht sein, dass Du eine solche Aufgabe lösen musst, wenn Du offensichtlich von der Materie nicht den Hauch einer Ahnung hast. Wie kann denn so etwas zustande kommen???

Ich habe die Funktion so geschrieben:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
bool CCalendarEntry::set(const CJulianDate& date, const std::string& location,
			const std::string& description) {
	if(date < CJulianDate(1582, 10, 15))
		return false;
	m_date = date;
	m_location = location;
	m_description = description;
	return true;
}


Gruß
Marco
Gestern, 00:15 as_string ist offline E-Mail an as_string senden Beiträge von as_string suchen Nehmen Sie as_string in Ihre Freundesliste auf
Seiten (3): « vorherige 1 2 [3] Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » C++ Sprache