Listen
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: Listen
Dazu musst du uns verraten, wie Elemente hinzugefügt werden können.
Wie schon gesagt, es gibt mehrere Wege.
An den Anfang, ans Ende, sortiert in die Mitte, an eine festgelegte Position etc...
Wie schon gesagt, es gibt mehrere Wege.
An den Anfang, ans Ende, sortiert in die Mitte, an eine festgelegte Position etc...
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Re: Listen
Einfach hinter einander.
Ich bin schon ein stück weiter versuch gerade herauszukriegen wie ich nicht bei jedem Programmstart jedes der was wies ich wie vielen bücher neu anlegen zu müssen.
mfg
Empire
PS: Da es irgendwan eine Suchfunktion geben soll ist die Riehenfolge egan.
Ich bin schon ein stück weiter versuch gerade herauszukriegen wie ich nicht bei jedem Programmstart jedes der was wies ich wie vielen bücher neu anlegen zu müssen.
mfg
Empire
PS: Da es irgendwan eine Suchfunktion geben soll ist die Riehenfolge egan.
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: Listen
Genau deswegen ist die Reihenfolge evtl nicht egal...PS: Da es irgendwan eine Suchfunktion geben soll ist die Riehenfolge egan.
Einfach hinter einander.
Code: Alles auswählen
struct eintrag *zeiger;
// zum letzten element (bis zeiger->next == NULL)
zeiger->next = (struct eintrag *) malloc(sizeof(struct eintrag));
zeiger = zeiger->next;
zeiger->Wert_A = 25;
//...
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Re: Listen
Ich versteh diene argumentation nicht
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: Listen
Du kannst die Liste z.B. alphabetisch sortieren, oder nach ISBN-Nummern.
Dann kannst du eine Suchfunktion (später) schreiben, die sich den Vorteil zu nutze macht, dass die Liste bereits vorsortiert ist. Dadurch wird die Suche dann (bei geeigneter Implementierung) schneller.

Ich hoff mal das ich bei dem Code keinen Mist verzapft habe^^
So müsste es aber funktionieren.
Was ich noch vergessen habe:
Im Listenkopf musst du die Anzahl natürlich noch anpassen.
MfG
Daniel
Dann kannst du eine Suchfunktion (später) schreiben, die sich den Vorteil zu nutze macht, dass die Liste bereits vorsortiert ist. Dadurch wird die Suche dann (bei geeigneter Implementierung) schneller.

Ich hoff mal das ich bei dem Code keinen Mist verzapft habe^^
So müsste es aber funktionieren.
Was ich noch vergessen habe:
Im Listenkopf musst du die Anzahl natürlich noch anpassen.
MfG
Daniel
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Re: Listen
Der Code passt ich hab ihn schon nach meine bedürfnissen angepasst.
Aber noch ne Frage :
Ich kann die suchfunktion doch auch noch machen wenn es nicht sortiert ist nur ist dann die suche langsammer oder?
mfg
Empire
Aber noch ne Frage :
Ich kann die suchfunktion doch auch noch machen wenn es nicht sortiert ist nur ist dann die suche langsammer oder?
mfg
Empire
Re: Listen
Ich bekomms net hin. Variablen kann ich in Dokumente spiechen aber wenn ich das gleiche mit der liste versuchekommt:
r Programme\Sicherheit.c|70|error: expected primary-expression before ',' token|
kann mir jemand helfen?
mfg
Empire
r Programme\Sicherheit.c|70|error: expected primary-expression before ',' token|
kann mir jemand helfen?
mfg
Empire
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: Listen
Du solltest uns evtl deinen Code zeigen?
Speichern in eine Datei müsste (nicht getestet) im Prinzip doch so gehen:
So müsstest du deine Liste in eine Datei schreiben können. Lesen halt mit fread.
Speichern in eine Datei müsste (nicht getestet) im Prinzip doch so gehen:
Code: Alles auswählen
struct liste *zeiger;
FILE *datei;
datei = fopen("Datei.txt","w");
zeiger = listenkopf->start;
while (zeiger!=0) {
fwrite (zeiger, sizeof (struct liste), 1, datei);
zeiger = zeiger->next;
}
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Re: Listen
Inzwischen sieht der Code so aus:
Das meint der Compiler dazu:
r Programme\Sicherheit.c||In function `int main()':|
r Programme\Sicherheit.c|69|error: 'struct Element' has no member named 'start'|
r Programme\Sicherheit.c|72|error: invalid use of undefined type `struct liste'|
r Programme\Sicherheit.c|66|error: forward declaration of `struct liste'|
||=== Build finished: 3 errors, 0 warnings ===|
Wo zu ich wiederum meine:
Was will der???
mfg
Empire
Code: Alles auswählen
#include <stdio.h>
#include <stdlib.h>
typedef struct Element // Struktur für die Liste. Erklärung warum sie zwei Namen hat siehe unten.
{
struct Element *next; // Zeiger auf den nächsten Knoten
char Buchtitel[20];
char Autor[30];
char ISBNummer[15];
char Inhalt[500];
char Kommentar[100]; // Zahl die in dem Knoten gespeichert wird.
} Knoten;
int main ()
{
int anz, i;
Knoten *listen_kopf, *ptr_knoten, *help; // Kopf der Liste und 2 Hilfszeiger
listen_kopf = NULL; // Liste ist leer
printf ("Anzahl: ");
scanf ("%d", &anz); // Eingabe der Anzahl
printf ("\n\n");
for (i = 0; i < anz; i++) // Erstellen von "anz"-Elementen
{
ptr_knoten = (Knoten *) malloc (sizeof(Knoten)); // Speicher für neues Element reservieren
printf ("Buchtitel des %d. Buches: ", i + 1);
scanf("%s", &ptr_knoten -> Buchtitel);
printf ("Autor des %d. Buches: ", i + 1);
scanf("%s", &ptr_knoten -> Autor);
printf ("Die ISBNummer des %d. Buches: ", i + 1);
scanf("%s", &ptr_knoten -> ISBNummer);
printf ("Der Inhalt des %d. Buches: ", i + 1);
scanf("%s", &ptr_knoten -> Inhalt);
printf ("Kommentar zum %d. Buch: ", i + 1);
scanf("%s", &ptr_knoten -> Kommentar); // Wert für den Knoten einlesen
ptr_knoten -> next = listen_kopf; // Knoten wird am Beginn eingefügt
listen_kopf = ptr_knoten; // neuer Knoten ist der neue Listenkopf
}
printf ("\n\n");
for (i = 0; i < anz; i++) // Ausgabe der Liste
{
printf ("Buch:\n%s\n", ptr_knoten -> Buchtitel);
printf ("Autor:\n%s\n", ptr_knoten -> Autor);
printf ("ISBnummer:\n%s\n", ptr_knoten -> ISBNummer);
printf ("Inhalt:\n%s\n", ptr_knoten -> Inhalt);
printf ("Kommentar:\n%s\n", ptr_knoten -> Kommentar);
ptr_knoten = ptr_knoten -> next; // nächster Knoten
}
struct liste *zeiger;
FILE *datei;
datei = fopen("Datei.txt","w");
zeiger = listen_kopf -> start;
while (zeiger!=0) {
fwrite (zeiger, sizeof (struct liste), 1, datei);
zeiger = zeiger->next;
}
ptr_knoten = listen_kopf; // Pointer auf den Listenkopf setzen
while (ptr_knoten != NULL) // Löschen der Liste; wenn der Pointer NULL ist, dann ist die Liste zu Ende
{
help = ptr_knoten -> next; // Adresse des nächsten Knotens speichern
free (ptr_knoten); // Speicher freigeben
ptr_knoten = help; // dadurch bist du auf dem nächsten Knoten
}
printf ("\n");
scanf ("%d");
return 0;
}
r Programme\Sicherheit.c||In function `int main()':|
r Programme\Sicherheit.c|69|error: 'struct Element' has no member named 'start'|
r Programme\Sicherheit.c|72|error: invalid use of undefined type `struct liste'|
r Programme\Sicherheit.c|66|error: forward declaration of `struct liste'|
||=== Build finished: 3 errors, 0 warnings ===|
Wo zu ich wiederum meine:
Was will der???
mfg
Empire