Hi,
ich schreibe zur Zeit ein Verwaltungsprogramm für CDs in C mit dem Borland C++ 4.52
Das Programm enthält folgende Hauptfunktionen:
Erfassen von CD-Einträgen
Diverse Ausgaben und Abfragen
Ändern von CD-Einträgen
Löschen von CD-Einträgen
Die CD-Daten speichere ich in 2 Textdateien ab.
In der Datei 1 stehen allgemeine CD-Daten, wie Schlüsselnummer, Interpret, Name der CD und die Musikrichtung.
In Datei 2 sind die Titel der jeweiligen CDs gespeichert.
Nun bin ich gerade beim Programmieren der Funktion Löschen, die folgendermaßen funktioniert:
1. Benutzer kann wählen, ob er die Schlüsselnummer der CD oder den CD-Namen eingeben will.
2. Mittels einer switch-Anweisung wird überprüft, was Benutzer eingeben will
Angenommen, der Benutzer wählt die Eingabe der Schlüsselnummer und gibt ein: 1234
3. Ist diese Schlüsselnummer eingegeben, wird überprüft, ob eine CD mit eben dieser Schlüsselnummer vorhanden ist. Um dies zu realisieren, nutze ich eine weitere Funktion mit Namen Suche.
Und in dieser Funktion tritt das Problem auf: Es wir immer ein Datensatz aus der Datei eingelesen und anschließend mit der gesuchten Schlüsselnummer verglichen, stimmen die gesuchte Schlüsselnummer und die gerade eingelesene Schlüsselnummer nicht überein, wird der nächste Datensatz eingelesen, usw.
Problem: Wenn das Einlesen beim vorletzten Datensatz angekommen ist, wird der letzte nicht mehr eingelesen, sondern immer wieder nur der vorletzte. Dadurch entsteht folglich eine Endlosschleife.
Ich kann mir absolut nicht erklären, weshalb da diese Endlosschleife entsteht. Ich hoffe, ihr könnt mir weiterhelfen
Hier sind Screenshots der Funktion Löschen und Funktion Suchen:
Funktion Löschen
Funktion Suchen
ich schreibe zur Zeit ein Verwaltungsprogramm für CDs in C mit dem Borland C++ 4.52
Das Programm enthält folgende Hauptfunktionen:
Erfassen von CD-Einträgen
Diverse Ausgaben und Abfragen
Ändern von CD-Einträgen
Löschen von CD-Einträgen
Die CD-Daten speichere ich in 2 Textdateien ab.
In der Datei 1 stehen allgemeine CD-Daten, wie Schlüsselnummer, Interpret, Name der CD und die Musikrichtung.
In Datei 2 sind die Titel der jeweiligen CDs gespeichert.
Nun bin ich gerade beim Programmieren der Funktion Löschen, die folgendermaßen funktioniert:
1. Benutzer kann wählen, ob er die Schlüsselnummer der CD oder den CD-Namen eingeben will.
2. Mittels einer switch-Anweisung wird überprüft, was Benutzer eingeben will
Angenommen, der Benutzer wählt die Eingabe der Schlüsselnummer und gibt ein: 1234
3. Ist diese Schlüsselnummer eingegeben, wird überprüft, ob eine CD mit eben dieser Schlüsselnummer vorhanden ist. Um dies zu realisieren, nutze ich eine weitere Funktion mit Namen Suche.
Und in dieser Funktion tritt das Problem auf: Es wir immer ein Datensatz aus der Datei eingelesen und anschließend mit der gesuchten Schlüsselnummer verglichen, stimmen die gesuchte Schlüsselnummer und die gerade eingelesene Schlüsselnummer nicht überein, wird der nächste Datensatz eingelesen, usw.
Problem: Wenn das Einlesen beim vorletzten Datensatz angekommen ist, wird der letzte nicht mehr eingelesen, sondern immer wieder nur der vorletzte. Dadurch entsteht folglich eine Endlosschleife.
Ich kann mir absolut nicht erklären, weshalb da diese Endlosschleife entsteht. Ich hoffe, ihr könnt mir weiterhelfen
Hier sind Screenshots der Funktion Löschen und Funktion Suchen:
Funktion Löschen
Funktion Suchen