Mein Prof. ist ein Idiot... er kann und will nichts erklären! Meine Mitstudierenden nur egoistische Deppen! Sorry... musste sein 
Haben eine Aufgabe bekommen, auf freiwilliger Basis... will sie lösen und verstehen! Wer kann helfen... ?(
AUFGABE:
a) Es ist ein Bücherdatei in Form eines Arrays buchdat zu erstellen, dessen Elemente die folgende Struktur (S_buch) besitzen
Autor: max 20 Zeichen lang
Titel : max 40 Zeichen
Verlag : max 15 Zeichen lang
ISBNNr: unsigned int
Preis: float
Kategorie: max 12 Zeicen
.
Es sollen die Daten von maximal 500 Büchern eingelesen werden können. Nach jeder Eingabe soll abgefragt werden, ob ein weiterer Datensatz eingelesen werden soll. Mit einer beliebigen Abfrage soll die Eingabe beendet werden können.
Die so erstellte Datei ist nach dem Autor (aufsteigend) oder dem Titel zu sortieren. Nach welchem Kriterium sortiert werden soll, ist erst zur Laufzeit vom Benuter asuzuwählen
Beachten Sie bei der Erstellung der Sortierroutine , dass bei den Vertauschungsvorgängen ganze Objekte vertauscht werden müssen.
Mit den sortierten Datensätzen ist eine Liste ? bestehend aus Autor, Titel und Preis tabellarisch angeordnet - formatiert - auf den Bildschirm auszugeben.
Hinweis zum Sortieren nach Namen :
Für diesen Zweck gibt es eine Stringfunktion strcmp( wort_1,wort_2), deren Wert < 0 ist, wenn wort_1 lexikalisch kleiner ist als wort_2, der gleich 0 ist, wenn wort_1 identisch ist mit wort_2 und der > 0 ist, wenn wort_1 lexikalisch hinter wort_1 steht.
Außerdem benötigen Sie die Stringfunktion strcpy (wort_1,wort_2 ) , um den Inhalt von wort_2 nach wort_1 zu kopieren.
Verwenden Sie für das Sortieren nach Namen diese Funktionen, die sich in der Headerdatei string.h befinden. Als Ausgangspunkt zur Erstellung des Sortieralgorithmus können Sie das Programm String6 im Skript auf Seite 55-56 verwenden
Zum Testen des Programms ist es angebracht, zunächst nur die Autorennamen einzulesen und sortieren zulassen. Erst wenn das Programm fehlerfrei läuft, sind auch alle weiteren Daten einzulesen und auszugeben.
b) Das Programm ist aufzuteilen in ein Hauptprogramm und drei Funktionen.
Das Hauptprogramm soll lediglich die Funktion eingabe aufrufen. Von dort sind die Funktionen sortieren und ausgabe aufzurufen.
Die Funktion eingabe soll die Daten der Bücher einlesen und in ein Array abspeichern.
Die Funktion sortieren soll das Array nach Autoren ( aufsteigend ) sortieren.
Die Funktion ausgabe - aufgerufen in der Funktion eingabe - soll die sortierte Buchliste ausgeben.
Die Struktur S_buch ist global zu definieren, alle Variablen sind lokal zu definieren und gegebenenfalls über die Parameterliste den aufgerufenen Funktionen zu übergeben.
c) Ändern Sie das Programm so ab, dass die Anzahl der Datensätze erst zur Laufzeit vom Benutzer eingegeben wird. Dazu muss das Verfahren der dynamischen Speicherreservierung angewendet werden.
d) Es ist eine weitere Funktion suchen hinzuzufügen. Diese Funktion soll es ermöglichen, die Datei nach einem bestimmten Autor - zur Laufzeit vom Benutzer einzugeben - zu durchsuchen. Diese Funktion soll vom Hauptprogramm main aus aufgerufen werden. An das Hauptprogramm soll der Name des Autors und die Anzahl der Bücher des Autors zurückgegeben und auf dem Bildschirm ausgegeben werden.
Ist lang ich weiss... erwarte nichts!
Haben eine Aufgabe bekommen, auf freiwilliger Basis... will sie lösen und verstehen! Wer kann helfen... ?(
AUFGABE:
a) Es ist ein Bücherdatei in Form eines Arrays buchdat zu erstellen, dessen Elemente die folgende Struktur (S_buch) besitzen
Autor: max 20 Zeichen lang
Titel : max 40 Zeichen
Verlag : max 15 Zeichen lang
ISBNNr: unsigned int
Preis: float
Kategorie: max 12 Zeicen
.
Es sollen die Daten von maximal 500 Büchern eingelesen werden können. Nach jeder Eingabe soll abgefragt werden, ob ein weiterer Datensatz eingelesen werden soll. Mit einer beliebigen Abfrage soll die Eingabe beendet werden können.
Die so erstellte Datei ist nach dem Autor (aufsteigend) oder dem Titel zu sortieren. Nach welchem Kriterium sortiert werden soll, ist erst zur Laufzeit vom Benuter asuzuwählen
Beachten Sie bei der Erstellung der Sortierroutine , dass bei den Vertauschungsvorgängen ganze Objekte vertauscht werden müssen.
Mit den sortierten Datensätzen ist eine Liste ? bestehend aus Autor, Titel und Preis tabellarisch angeordnet - formatiert - auf den Bildschirm auszugeben.
Hinweis zum Sortieren nach Namen :
Für diesen Zweck gibt es eine Stringfunktion strcmp( wort_1,wort_2), deren Wert < 0 ist, wenn wort_1 lexikalisch kleiner ist als wort_2, der gleich 0 ist, wenn wort_1 identisch ist mit wort_2 und der > 0 ist, wenn wort_1 lexikalisch hinter wort_1 steht.
Außerdem benötigen Sie die Stringfunktion strcpy (wort_1,wort_2 ) , um den Inhalt von wort_2 nach wort_1 zu kopieren.
Verwenden Sie für das Sortieren nach Namen diese Funktionen, die sich in der Headerdatei string.h befinden. Als Ausgangspunkt zur Erstellung des Sortieralgorithmus können Sie das Programm String6 im Skript auf Seite 55-56 verwenden
Zum Testen des Programms ist es angebracht, zunächst nur die Autorennamen einzulesen und sortieren zulassen. Erst wenn das Programm fehlerfrei läuft, sind auch alle weiteren Daten einzulesen und auszugeben.
b) Das Programm ist aufzuteilen in ein Hauptprogramm und drei Funktionen.
Das Hauptprogramm soll lediglich die Funktion eingabe aufrufen. Von dort sind die Funktionen sortieren und ausgabe aufzurufen.
Die Funktion eingabe soll die Daten der Bücher einlesen und in ein Array abspeichern.
Die Funktion sortieren soll das Array nach Autoren ( aufsteigend ) sortieren.
Die Funktion ausgabe - aufgerufen in der Funktion eingabe - soll die sortierte Buchliste ausgeben.
Die Struktur S_buch ist global zu definieren, alle Variablen sind lokal zu definieren und gegebenenfalls über die Parameterliste den aufgerufenen Funktionen zu übergeben.
c) Ändern Sie das Programm so ab, dass die Anzahl der Datensätze erst zur Laufzeit vom Benutzer eingegeben wird. Dazu muss das Verfahren der dynamischen Speicherreservierung angewendet werden.
d) Es ist eine weitere Funktion suchen hinzuzufügen. Diese Funktion soll es ermöglichen, die Datei nach einem bestimmten Autor - zur Laufzeit vom Benutzer einzugeben - zu durchsuchen. Diese Funktion soll vom Hauptprogramm main aus aufgerufen werden. An das Hauptprogramm soll der Name des Autors und die Anzahl der Bücher des Autors zurückgegeben und auf dem Bildschirm ausgegeben werden.
Ist lang ich weiss... erwarte nichts!