Praktikum Programmiersprache C - Liste


Schreiben Sie ein C-Programm, das unter Verwendung der Listenfunktionen

CreateList
DeleteList
InsertHead
GetFirst
RemoveItem
einen Kellerspeicher (last in - first out) nachbildet. Mit einem Dialog sollen Zeichenketten eingegeben, über den Kellerspeicher zwischengespeichert, und auf Anforderung ausgegeben werden. Der Dialog könnte über folgende Kommandozeile, die zyklisch ausgegeben wird, gesteuert werden:
Enter (I)nsert / (O)ut / (Q)uit:
Bei Eingabe von (I)nsert wird eine Zeichenkette zunächst ein einen Eingabepuffer eingegeben, dann in Speicher, der aus dem heap mit malloc allokiert wurde, kopiert und seine Adresse im Keller gespeichert.
Bei Eingabe von (O)ut wird die oberste Zeichenkette im Keller ausgegeben, die Adresse aus dem Keller entfernt und der Speicher freigegeben.
Bei Eingabe von (Q)uit wird das Programm verlassen.

Der Programmdialog soll nicht casesensitiv sein.
Die Listenfunktionen sind in dem Headerfile list.h deklariert.
Die Listenfunktionen sind in dem Modul list.o bereits kompiliert und können mit ihrem kompilierten Programmodul verlinkt werden. Dazu folgendes Kommando mit dem gcc:

gcc myProg.c list.o -o myProg

list.h und verschiedene Versionen von list.o sind im Downloadbereich zu finden.

Zusatzaufgabe: Entwerfen Sie die Strukturtypen tCnct und tList und schreiben Sie Ihre eigenen Listfunktionen in einem getrennten .c-File. Experimentieren Sie mit offenen Listen und Ringlisten. Sie werden feststellen: Die Ringliste ist viel leichter zu programmieren, wenn man sie einmal verstanden hat.

Unter make finden Sie eine kleine Einführung zu make. Make ist das klassische build tool zum Bauen von Anwendungen, die aus meheren Moduln bestehen.


A. Beck