Liste in Dokument spiechern
Verfasst: Mo Mär 30, 2009 2:08 pm
Ich hab diesen Kod:
Und will das diese ...................... Liste in dem ....................... Dokument abgespiechert wird-
Ich hab im Buch nachgelesen:
Aber das was da sthet funkt nur mit int Variablen.
Ich hab gegooglet:
Nichts verwertbares gefunden.
ich hab nen bekannten gefrag:
Der hatte keine ahnung.
Helft mir bitte mit dem .......... Ding ich hatte lezte nacht schon albträumen fon dem ding!!!!!!
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;
static char datei[]="Buchliste.txt";
int main ()
{
FILE *fp;
if((fp=fopen("LISTE.DAT","a+"))==NULL);
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\n", ptr_knoten -> Buchtitel);
printf ("Autor:\n%s\n\n", ptr_knoten -> Autor);
printf ("ISBnummer:\n%s\n\n", ptr_knoten -> ISBNummer);
printf ("Inhalt:\n%s\n\n", ptr_knoten -> Inhalt);
printf ("Kommentar:\n%s\n\n", ptr_knoten -> Kommentar);
ptr_knoten = ptr_knoten -> next; // nächster Knoten
}
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;
}
Ich hab im Buch nachgelesen:
Aber das was da sthet funkt nur mit int Variablen.
Ich hab gegooglet:
Nichts verwertbares gefunden.
ich hab nen bekannten gefrag:
Der hatte keine ahnung.
Helft mir bitte mit dem .......... Ding ich hatte lezte nacht schon albträumen fon dem ding!!!!!!
mfg
Empire