Beim Internetbanking/Online-Banking geben Sie für eine Überweisung auf ein anderes Bankkonto die Kontonummer und die Bankleitzahl (BLZ) an. Zur Überprüfung sucht der Rechner dabei die Bezeichnung der Bank zu der eingegebenen BLZ heraus und zeigt Ihnen diese zur Bestätigung der Überweisung mit an. Die aktuellen Bankleitzahlen werden auf einem Server der Deutschen Bundesbank jeweils aktuell bereitgestellt.
In der nachfolgenden CSV-Datei zum Download finden Sie eine gekürzte Version der aktuellen Bankleitzahlendaten mit den Spalten BLZ (bank code number), Kurzbezeichnung (short description), PLZ (postal code), Ort (city). Eine CSV-Datei ist eine Textdatei, in der die einzelnen Einträge einer Zeile durch ein Trennzeichen wie das ';' voneinander getrennt sind. In der ersten Zeile stehen die Überschriften der Spalten, ab Zeile 2 folgen die eigentlichen Daten. CSV-Dateien können über ASCII-Editoren oder über Tabellenkalkulationsprogramme wie beispielsweise Microsoft Excel gelesen und bearbeitet werden.
blz.csv Excel-Tabelle
Laden Sie sich diese obige Datei blz.csv auf Ihren Rechner herunter.
Schreiben Sie ein C++-Programm, das zuerst diese heruntergeladene Textdatei blz.csv komplett liest und (nur) die Daten für die BLZ und die Kurzbezeichnung als unsortierte Liste im dynamischen Hauptspeicher (Heap) speichert. Die erste Zeile mit den Spaltenüberschriften soll dabei komplett überlesen werden. Die weiteren Daten in allen Zeilen nach der ersten Zeile sollen ignoriert werden, doppelte Zeilen/Einträge (verursacht durch Filialen von Banken) müssen nicht erkannt und aussortiert werden.
Danach soll in Ihrem Hauptprogramm eine Schleife programmiert werden, in der eine BLZ eingegeben werden kann (Ende bei Eingabe einer 0) und daraufhin eine Ausgabe der Form "BLZ: short description" oder "BLZ unknown" gemacht wird, also beispielsweise bei der Eingabe von 35050000 die Ausgabezeile 35050000: Spk Duisburg ausgegeben wird (siehe Beispiel Screenshot).
Beispiel (Screenshot) Datei
Hinweise
◦Sie dürfen die Datei blz.csv nicht verändern.
◦Lesen Sie die Datei wie in der Vorlesung gezeigt Zeile für Zeile als Text über die Funktion getline ein. Kopieren Sie jeweils die Zeichen bis zum ersten ';' in ein Feld für die BLZ, die Zeichen bis zum zweiten ';' in ein Feld für den Ort. Wandeln Sie die Zeichenkette in eine ganze Zahl um (hierfür können Sie selbst eine Funktion schreiben oder die in der C Standardbibliothek vordefinierte Funktion int atoi (const char * str); verwenden). Erzeugen Sie dann ein neues Element der Liste auf dem Heap, kopieren die BLZ in dieses, kopieren den Ort in eine Zeichenkette auf dem Heap und verbinden diese mit dem neuen Listenelement, und fügen das neue Listenelement anschließend in die Liste ein.作者: sagood 时间: 2011-12-4 17:04