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

Informatiker Board » Themengebiete » Informatik in der Schule » C++ » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (4): « vorherige 1 2 [3] 4 nächste » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen C++
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

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

Für die Ausgabe braucht man eine Schleife.
Was ist die Abbruchbedingung?
Wie kommt man an das nächste Kettenglied?

__________________
Syntax Highlighting fürs Board (Link)
21.01.2013 19:41 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
info
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

Die Abbruchbedingung ist ja wenn kein speicherplatz mehr da ist.


An das nächste Kettenglied kommt man doch mit e pfeil oder?
21.01.2013 20:09
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

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

Der Speicherplatz sollte nicht das Problem sein, in aller Regel hast du weniger Events als du speichern könntest.
Abbruchbedingung ist je nach genauer Implementierung, dass e bzw. e->next ==NULL ist.
Mit e->next kommt man auch an das nächste Kettenglied.

__________________
Syntax Highlighting fürs Board (Link)
21.01.2013 20:13 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
info
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

Wäre die Ausgabefunktion irgendwie so:

Die Ausgabe eines Events sollte klar sein:
cout << e->Datum << ": " << e->Veranstaltungsort << "\n";

if(erstes == NULL){

return e pfeil next == Null;

}

Könnte das stimmen?

Ich versuch das jetzt irgendwie mit dir zu entwickeln.

Ich hoffe die idee ist nicht ganz falsch
21.01.2013 20:19
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

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

Das ergibt aus mehreren Gründen keinen Sinn:
-die Funktion ausgabe ist void, das heißt sie hat keinen Rückgabewert, du brauchst also auch kein return.
-"->" ist keine Abkürzung meinerseits, sondern wird wirklich so verwendet. e pfeil next wird vom Compiler nicht erkannt.
-Wo ist die Schleife zur Ausgabe (Rekursion wäre auch möglich, ist aber langsamer und müllt den Stack unnötig zu)?

code:
1:
2:
3:
4:
5:
6:
7:
8:
void AusgabeListe(struct Event *e)
{
	while(e != NULL)
	{
		cout << e->Datum << ": " << e->Veranstaltungsort << "\n"; 
		e = e->next;
	}
}


möglicherweise nötige Erklärungen gibt es morgen.

__________________
Syntax Highlighting fürs Board (Link)
21.01.2013 20:30 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
info
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

Das ist die ganze Ausgabe funktion oder wie?
21.01.2013 20:31
info
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

Oder muss ich noch was in der Ausgabe funktion definieren .

Dann könnte ich mir wenigstens schon paar gedanken machen.
21.01.2013 20:39
info
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

Mittlerweile sind neue fragen entstanden ?

while(1)
{
cout << "Veranstaltungsort? ";
cin >> ort;
if(strlen(ort) < 2) break;
cout << "Datum? ";
cin >> datum;
momentan->next = (struct Event*)malloc(sizeof(struct Event));
if(momentan == NULL) //kein Speicherplatz vorhanden
return 1;
momentan = momentan->next;
momentan->next = NULL;
strcpy(momentan->Datum, datum);
strcpy(momentan->Veranstaltungsort, ort);
}

Das mit der while schleife habe ch verstanden.

Aber das hier nicht:

if(strlen(ort) < 2) break;
cout << "Datum? ";
cin >> datum;
momentan->next = (struct Event*)malloc(sizeof(struct Event));
if(momentan == NULL) //kein Speicherplatz vorhanden
return 1;
momentan = momentan->next;
momentan->next = NULL;
strcpy(momentan->Datum, datum);
strcpy(momentan->Veranstaltungsort, ort);
}

Was bedeutet das hier: strlen(ort)

Und wäre nett wenn du mir den weiteren code ein wenig erklären kannst .

Danke
21.01.2013 21:56
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

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

Kurze kritische Zwischenfrage:

Wo ist deine Eigeninitiative? strlen findet man gut bei google. Und warum hast du so ein Aufgabe und keinerlei Wissen?

VG,

Karlito
22.01.2013 01:02 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
info
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

Ich hab leider meine schwierigkeiten gehabt und war daher auch sehr froh über eulersche Zahls hilfe.

Vielleicht kannst du es mir ja erklären?
22.01.2013 17:37
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

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

Das überlasse ich euler... Ich würde Dir aber raten strlen einfach mal zu googeln. Wenn du daraufhin konkrete Fragen stellst, zeigt das ein wenig mehr, dass du dich wirklich damit beschäftigst.

VG,

Karlito
22.01.2013 19:01 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

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

Zitat:
Original von info
Und wäre nett wenn du mir den weiteren code ein wenig erklären kannst .

Ich kenne dich nicht und kann daher schlecht sagen, was genau du nicht weißt. Wenn ich hier anfange, irgendetwas zu erklären, dann kann es sein, dass ich Dinge voraussetze, die du noch nicht weißt oder dass du dich beim Lesen langweilst, weil die Erklärung zu ausführlich ist.
In beiden Fällen wäre es sinnlos investierte Zeit, was glaube ich auch für gestern gilt.
Bei konkreten Fragen kannst du dich ja melden, aber erst wenn du dich selbst daran versucht hast.

Bei strlen gebe ich Karlito recht: google.

Ich rate dir auch, jemanden zu suchen, den du persönlich kennst und der dir helfen kann. Du hast größere Lücken und die lassen sich in einem Forum nicht so einfach schließen, das gestern hat sich über einen ganzen Tag gezogen, im direkten Gespräch lässt sich das auch in 30min lösen.

__________________
Syntax Highlighting fürs Board (Link)
22.01.2013 19:42 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
info
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

Aber meine Aufgabe ist soweit richtig gelöst oder?
22.01.2013 19:45
info
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

Ok aber kannst du mir wenigstens erklären warum du bei diesem code:

char ort[20], datum[11];


Die zahlen 20 und 11 genommen hast?

Was bewirkt das?
22.01.2013 19:48
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

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

Für das Datum ist das recht klar: "22.01.2013" hat mit '\0' zur Kennzeichnung des Stringendes 11 Zeichen.
Die 20 sind willkürlich gewählt (Mönchengladbach passt z.B. noch rein).

__________________
Syntax Highlighting fürs Board (Link)
22.01.2013 19:52 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Seiten (4): « vorherige 1 2 [3] 4 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Informatik in der Schule » C++