Veröffentlicht 12. Dezember 200816 j 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
12. Dezember 200816 j 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
12. Dezember 200816 j 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.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.