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

Dann hast du die Struktur von 09:05Uhr nicht eingefügt.

__________________
Syntax Highlighting fürs Board (Link)
21.01.2013 17:25 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

Ah ja stimmt.

DAs kommt davon wenn man nicht so viel Ahnung hat.

Jetzt wird mir nur dieser Fehler angezeigt.

C:\C++main.cpp||In function 'int main(int, char**)':|
C:\C++\\main.cpp|37|error: 'AusgabeListe' was not declared in this scope|
C:\C++\\main.cpp|38|error: 'getchar' was not declared in this scope|
||=== Build finished: 2 errors, 0 warnings (0 minutes, 4 seconds) ===|

Was ist da jetzt falsch?

Achso und bitte noch paar tips für die Funktion void ausgabe liste.
21.01.2013 17:30
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

Probiere mal folgendes:
Schreibe über die main-funktion
void AusgabeListe(struct Event *e)
{

}

und mache aus getchar() ein getch().
Für getch() brauchst du noch #include <conio.h>

Jetzt sollte es sich zumindest kompilieren lassen.
An der Ausgabe darfst du selbst noch etwas knobeln.

__________________
Syntax Highlighting fürs Board (Link)
21.01.2013 17:36 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

Aha habe ich gemacht.

Mein programm sieht so aus:

#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
using std::cout;
using std::cin;

struct Event
{
struct Event *next;
char Veranstaltungsort[20];
char Datum[11];
};

void AusgabeListe(struct Event *e);


int main(int argc, char*argv[])
{
struct Event *erstes, *momentan;
char ort[20], datum[11];
erstes = (struct Event*)malloc(sizeof(struct Event));
if(erstes == NULL) //kein Speicherplatz vorhanden
return 1;
momentan = erstes;
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);
}
AusgabeListe(erstes->next);
getch(); getch();
return 0;
}

Aber immer noch fehlermeldung?

Warum steht da eigentlich jetzt getch?
Nur noch diese Fehlermeldung.
Wie kriege ich das weg?

obj\Debug\main.o||In function `main':|
C:\C++\main.cpp|41|undefined reference to `AusgabeListe(Event|
||=== Build finished: 1 errors, 0 warnings (0 minutes, 4 seconds) ===|
21.01.2013 17:42
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

Ersetze mal deine Zeile 15 (ist nur der Funktionskopf) durch die komplette Funktion
code:
1:
2:
3:
4:
void AusgabeListe(struct Event *e)
{
    //hier kommt die Ausgabefunktion hin
}

getch() wartet auf den nächsten Tastendruck.
Das hat den Effekt, dass du sehen kannst, was das Programm ausgibt, bevor es beendet wird.

__________________
Syntax Highlighting fürs Board (Link)
21.01.2013 17:47 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

#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
using std::cout;
using std::cin;

struct Event
{
struct Event *next;
char Veranstaltungsort[20];
char Datum[11];
};

void AusgabeListe(struct Event *e){


int main(int argc, char*argv[])
{
struct Event *erstes, *momentan;
char ort[20], datum[11];
erstes = (struct Event*)malloc(sizeof(struct Event));
if(erstes == NULL) //kein Speicherplatz vorhanden
return 1;
momentan = erstes;
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);
}
AusgabeListe(erstes->next);
getch(); getch();
return 0;
}
}

ICH HAB ES SO GEMACHT?

Aber immer noch fehlermeldung:
C:\C++\main.cpp||In function 'void AusgabeListe(Event*)':|
C:\C++\main.cpp|19|error: a function-definition is not allowed here before '{' token|
C:\C++\main.cpp|45|error: expected '}' at end of input|
||=== Build finished: 2 errors, 0 warnings (0 minutes, 0 seconds) ===|


Langsam verzweifle ich.

Was ist jetzt wieder falsch?
21.01.2013 17:54
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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
using std::cout;
using std::cin;

struct Event
{
	struct Event *next;
	char Veranstaltungsort[20];
	char Datum[11];
};

void AusgabeListe(struct Event *e)
{
    //hier kommt die Ausgabefunktion hin
}


int main(int argc, char*argv[])
{
	struct Event *erstes, *momentan;
	char ort[20], datum[11];
	erstes = (struct Event*)malloc(sizeof(struct Event));
	if(erstes == NULL) //kein Speicherplatz vorhanden
	return 1;
	momentan = erstes;
	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);
	}
	AusgabeListe(erstes->next);
	getch();
	return 0;
}

klappt es jetzt?
(Du hattest "}" vergessen)

__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 21.01.2013 17:57.

21.01.2013 17:55 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

lol funktioniert .

Jetzt musst du mir irgendwie einen tipp für die Ausgabe funktion geben damit ich endlich fertig werd.

Habe schon einen Kopf wegen der Aufgabe, weil ich glaube alleine schaffe ich es nicht.
21.01.2013 18:30
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

Die Ausgabe eines Events sollte klar sein:
cout << e->Datum << ": " << e->Veranstaltungsort << "\n";
Dann weisen wir e das Folgeglied zu und geben das auch aus, solange bis wir kein Folgeglied mehr haben.

__________________
Syntax Highlighting fürs Board (Link)
21.01.2013 18:59 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 musst du mir noch ein wenig genauer . Ist das jetzt meine Ausgabefunktion oder wie?
21.01.2013 19:08
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

Was bedeutet dieses e Pfeil?

Ichglaube deswegen verstehe ich es nicht.
21.01.2013 19:15
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

Mit e.___ kann man nicht auf eine Variable der Struktur zugreifen, weil e ja keine Struktur ist, sondern nur ein Zeiger darauf. Deshalb der Pfeil.
Man kann dafür auch(*e).___ schreiben, wird aber spätestens bei z.B. e->next->Datum unübersichtlich.

__________________
Syntax Highlighting fürs Board (Link)
21.01.2013 19:23 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

Ich glaube ich komme diesmal selber drauf. Was ist denn genau das Folgeglied? Was muss ich da jetzt genau machen?
21.01.2013 19:26
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

Wir haben der Zeiger auf das Folgeglied in e->next gespeichert. Wenn es kein Folgeglied gibt, findet sich dort NULL.
Dabei ist e->next im Aufbau identisch zu e (das heißt es gibt die Variablen Veranstaltungsort, Datum und den Verweis auf das nächste Kettenglied).

__________________
Syntax Highlighting fürs Board (Link)
21.01.2013 19:34 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

Also kommt jetzt noch ein e Pfeil Null dazu?
21.01.2013 19:39
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++