Funktionen und Deklarationen rund um ausgeliehene Medien.
Mehr ...
|
typedef struct LITEM | lItem |
| Eintrag in der Liste der verliehenen Medien.
|
|
|
medium * | createItem (int ntype, char *ntitle, char *nauthor, char *nlendee) |
| Erstellt einen neuen Medieneintrag. Mehr ...
|
|
medium * | createItemF (FILE *libitem) |
| Erstellt neuen Medieneintrag aus Dateizeile. Mehr ...
|
|
void | insertItem (medium *nMedium, theLib *inLib) |
| Fügt Medium in Liste ein. Mehr ...
|
|
char * | getmType (int type) |
| Gibt String für enum mType aus. Mehr ...
|
|
void | deleteItem (int theID, theLib *inLib) |
| Löscht Medium aus der Liste. Mehr ...
|
|
void | sortItems (sBy sortBy, theLib *inLib) |
| Sortiert die Liste nach Mediumtitel/Leihendem. Mehr ...
|
|
void | findItem (char *sItem, sBy findBy, theLib *inLib) |
| Suche, bzw. finde ein ausgeliehenes Medium. Mehr ...
|
|
void | freeAll (theLib *inLib) |
| Den gesamten Speicher freigeben. Mehr ...
|
|
int | strcicmp (char const *a, char const *b) |
| Vergleicht zwei "Strings" unabhängig von Groß- oder Kleinbuchstaben Quelle: http://stackoverflow.com/a/5820991.
|
|
void | initLib () |
|
Funktionen und Deklarationen rund um ausgeliehene Medien.
Typ des ausgeliehenen Mediums.
Aufzählungswerte |
---|
other |
Medium ohne Kategorie.
|
book |
Bücher.
|
cd |
CDs.
|
dvd |
DVDs.
|
Möglichkeiten, nach denen Sortiert/gesucht werden kann.
Aufzählungswerte |
---|
title |
Nach Medientitel.
|
lendee |
Nach Leihendem.
|
id |
Nach ID.
|
medium * createItem |
( |
int |
ntype, |
|
|
char * |
ntitle, |
|
|
char * |
nauthor, |
|
|
char * |
nlendee |
|
) |
| |
Erstellt einen neuen Medieneintrag.
- Parameter
-
ntype | Typ des Mediums |
ntitle | Titel des Mediums |
nauthor | Autor/Interpret des Mediums |
nlendee | Person, dem das Medium ausgeliehen wurde |
- Rückgabe
- Gibt das erstellte medium zurück
- ID festlegen, dazu wird die Liste nach IDs sortiert und nach der ersten "Zahlenlücke" gesucht
- Type festlegen
- Titel festlegen
- Interpret/Autor festlegen
- Leihendem festlegen
medium * createItemF |
( |
FILE * |
libitem | ) |
|
Erstellt neuen Medieneintrag aus Dateizeile.
- Parameter
-
- Rückgabe
- Gibt das erstellte medium zurück
- ID festlegen
- Typ festlegen
- Titel festlegen
- Interpret/Autor festlegen
- Leihendem festlegen
void deleteItem |
( |
int |
theID, |
|
|
theLib * |
inLib |
|
) |
| |
Löscht Medium aus der Liste.
- Parameter
-
theID | Das zu löschende Medium (ID) |
inLib | in dieser Liste |
- Medium mit ID finden
- Medium aus Liste löschen indem Zeiger der Nachbarn neu gesetzt werden und anschließend der Speicher freigegeben wird.
void findItem |
( |
char * |
sItem, |
|
|
sBy |
findBy, |
|
|
theLib * |
inLib |
|
) |
| |
Suche, bzw. finde ein ausgeliehenes Medium.
- Parameter
-
sItem | Nach dieser Zeichenkette soll gesucht werden |
findBy | Die Zeichenkette soll in diesem Eintrag des ausgeliehen Mediums gesucht werden (sBy) |
inLib | in dieser Liste |
- Rückgabe
- Gibt das gefundene Medium zurück
- Durch myLib theLib gehen und alle gefunden in eine neue, temporäre theLib Liste einfügen, die dann ausgegeben wird.
void freeAll |
( |
theLib * |
inLib | ) |
|
Den gesamten Speicher freigeben.
- Parameter
-
char * getmType |
( |
int |
type | ) |
|
Gibt String für enum mType aus.
- Parameter
-
- Rückgabe
- mType als String
Fügt Medium in Liste ein.
- Parameter
-
iMedium | Das einzufügende Medium |
- Listenobjekt erstellen und Inhalt zuweisen
Je nach Sortierung der Liste, muss anders eingefügt werden, falls nach Titel sortiert:
- Falls Liste noch leer, diese initialisieren
- Falls Liste einelementig ist, das nächste Element einfach einfügen
- Alle anderen Elemente sortiert in Liste einfügen
- - Nach einem Element suchen, welches größer ist, damit man das einzufügende Element vor diesem einfügen kann.
- - Wenn größeres vorm Listenende gefunden wurde, Element davor einfügen
- - Ansonsten Element am Listenende je nach größe davor oder danach einfügen.
falls nach Ausleihendem sortiert:
- Falls Liste noch leer, diese initialisieren
- Falls Liste einelementig ist, das nächste Element einfach einfügen
- Alle anderen Elemente sortiert in Liste einfügen
- - Nach einem Element suchen, welches größer ist, damit man das einzufügende Element vor diesem einfügen kann.
- - Wenn größeres vorm Listenende gefunden wurde, Element davor einfügen
- - Ansonsten Element am Listenende je nach größe davor oder danach einfügen.
Falls nach ID sortiert:
- Falls Liste noch leer, diese initialisieren
- Falls Liste einelementig ist, das nächste Element einfach einfügen
- Alle anderen Elemente sortiert in Liste einfügen
- - Nach einem Element suchen, welches größer ist, damit man das einzufügende Element vor diesem einfügen kann.
- - Wenn größeres vorm Listenende gefunden wurde, Element davor einfügen
- - Ansonsten Element am Listenende je nach größe davor oder danach einfügen.
void sortItems |
( |
sBy |
sortBy, |
|
|
theLib * |
inLib |
|
) |
| |
Sortiert die Liste nach Mediumtitel/Leihendem.
- Parameter
-
sortBy | Nach was sortiert werden soll (sBy) |
inLib | in dieser Liste |
Zum Sortieren wird eine medium Hilfsliste erstellt, in die alle Medien aus der theLib Originalliste kopiert werden, um sie dann wieder in die Originalliste einzufügen(dabei sortiert ::insertItem schon).