#include #include using namespace std; /* Struktur eines Listenelements */ struct FloatListElem { float data; FloatListElem *pNext; }; /* Liste ausgeben mit gegebener Genauigkeit */ void fl_print(FloatListElem * const pAnchor, int precision=2) { // Hilfszeiger auf den Anker (Beginn) der Liste FloatListElem *pHelp = pAnchor; int i=0; // Anzahl Nachkommastellen festlegen cout.precision(precision); // Liste bis zum Ende durchlaufen while(pHelp != NULL) { // nach 3 Zahlen einen Zeilenumbruch if(i%3 == 0 && i>0) cout << endl; // Darstellung im 15 Zeichen breiten Spalten // und in Gleitpunktdarstellung cout << setw(15) << fixed << pHelp->data; // naechstes Element betrachten pHelp = pHelp->pNext; i++; } if(i==0) cout << "Noch keine Elemente in der Liste!"; cout << endl; } /* komplette Liste leeren */ void fl_delete(FloatListElem *& pAnchor) { // Hilfszeiger auf den Anker (Beginn) der Liste FloatListElem *pHelp = pAnchor; // Liste bis zum Ende durchlaufen while(pHelp != NULL){ // Zeiger auf zu löschendes Element definieren FloatListElem *pDelete = pHelp; // naechstes Element betrachten pHelp = pHelp->pNext; // altes Element loeschen delete pDelete; } // Anker zurueck auf NULL setzen (leere Liste) pAnchor = NULL; } /* Hauptprogrammfunktion */ int main() { // Zeiger auf FloatListElem definieren FloatListElem *fl = NULL; // Liste mit Genauigkeit 2 ausgeben fl_print(fl,2); // Liste freigeben fl_delete(fl); }