DGGirl Geschrieben 12. Dezember 2008 Geschrieben 12. Dezember 2008 Ich bin neuling bei Programmierung. Ich habe ein Aufgabe bekommen, leider komme ich nicht weiter: In einer Datei ist ein Auszug aus einer Bücherliste bestehend aus n Datensätzengespeichert. Jeder Datenbestand dieser Datei hat folgenden Aufbau: • Name des Autors (Zeichenfolge bestehend aus 20 Zeichen) • Buchtitel (Zeichenfolge bestehend aus 30 Zeichen) • ISBN (Zeichenfolge bestehend aus 13 Zeichen) • Preis in EURO und Cent (reelle Zahl). a) Entwerfen Sie den notwendigen Datentyp (buch) für diesen Datensatz. Mein Ansatz: struct Buch { char Name[20]; char Buchtitel[30]; char ISBN[13]; float preis; Buch *pNext; // Diese Variable beinhaltet dann einen Zeiger auf das nächste Buch-Object }; b)Geben Sie einen Algorithmus als Struktogramm an, der diese Datei datensatzweise einliest und jeden Datensatz in ein Element eines Ringes abspeichert. Mein Ansatz:Ich glaube meine Ansatz stimmt nicht, da hier nicht funkt. Es fehlt noch am Ende VerketteListe in der Buchliste zu iterieren: Ich hoffe mal, dass jemand mir hier weiterhelfen kann. readBuch() { Buch *pFirstBook=Null; //eine Zeigervariable, welche auf erstes Buchelement zeigt Buch *pCurrentBook = Null; //Zeiger, um das aktuelle Buch richtig einzuordnen Char bookName[20]; Char booktitel[30]; Char bookISBN[13]; Float bookPreis; //Einlesen von all Bücher while (pFirstBook != ‘\0’) { //Erzeuge ein neue Buch-Object Buch *pBook = new Buch(); //setze die Werte der neuen Struktur strcpy(pBook->Name, bookName); strcpy(pBook->Buchtitel, bookTitel); strcpy(pBook->ISBN, bookISBN); bookPreis = preis; pBook->pNext=Null; } if (pCurrentBook == Null) { pCurrentBook=pBook; pFirstBook=pBook; } else { pCurrentBook->pNext = pBook; pCurrentBook = pNext; } } Vielen Dank Zitieren
TDM Geschrieben 12. Dezember 2008 Geschrieben 12. Dezember 2008 Liste (Datenstruktur) ? Wikipedia Hilft vielleicht. Zitieren
flashpixx Geschrieben 12. Dezember 2008 Geschrieben 12. Dezember 2008 Ich empfehle auch die Datenstruktur von dem Inhalt zu lösen z.B. mit Hilfe von Templates. Vor allem fasse doch die Liste wieder als Objekt / Klasse auf, in der Du einen beliebigen Datentyp z.B. den Typ "Buch" ablegst. Es würde sich anbieten das "Buch" als Klasse zu entwickeln und innerhalb der Liste nur einen Zeigt auf das entsprechende Objekt Phil Zitieren
AndiE Geschrieben 12. Dezember 2008 Geschrieben 12. Dezember 2008 Ich würde erst mal all die Stellen löscvhen, in denen du Zeigern die NULL zuweist. In der Regel mögen das die Umgebungen nicht, unter Windows kommt eine allgemeine Schutzverletzung. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.