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