Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.