*** Semesterarbeit ***

Unter https://offenedaten-koeln.de/dataset/denkmalliste-stadt-koeln stellt die Stadt Köln eine Liste ihrer Denkmäler (u.a.) im CSV-Format bereit (Stand: 22.05.2015).

Bitte nutzen Sie als Datengrundlage für Ihr Projekt die bereinigte CSV-Datei denkmalliste-bereinigt.csv (~780 KB).

Die CSV-Datei informiert über zehn Aspekte der jeweiligen Denkmale: Denkmalnummer, Strasse, Nummer, Bezirk, PLZ, Ort, unter Schutz, Baujahr Zusatz, Baujahr, Kurzbezeichnung.

Bitte senden Sie mir Ihren finalen Code (nur *.cpp, *.hpp, *.h) bis zum 15. März 2019 an jan.wieners@uni-koeln.de.

Note ~4.0

1. Laden und parsen Sie die CSV-Datei; speichern Sie die einzelnen Datensätze in einer Datenstruktur Ihrer Wahl (z.B. Array, verkettete Liste, vector, o.ä.) und geben Sie alle Datensätze aus, z.B. in der Form:

Denkmalnummer: 265
Straße [sic!]: Beethovenpark
Nummer: o.Nr.
Bezirk: 3
PLZ: 50937
Ort: Sülz
Unter Schutz: 01.07.1980
Baujahr Zusatz: Kein Zusatz
Baujahr: 1924 - 26
Kurzbezeichnung: Platzanlage

2. Ermöglichen Sie es Ihren Benutzerinnen und Benutzern, Ihre Anwendung über die Konsole (aka Eingabeaufforderung, Terminal oder Shell) aufzurufen und die Datendatei optional als Parameter anzugeben. Tipp:

int main(int argc, char** argv)

Note ~3.0

Arbeiten Sie objektorientiert: Speichern Sie Ihre Datensätze als Instanzen einer eigens erstellten Klasse "denkmal". Ihre Klasse "denkmal" verfügt über einen privaten Bereich, der die Eigenschaften der Klasse kapselt und einen öffentlichen Bereich, der den Zugriff auf Member der Klasse ermöglicht. Lagern Sie Ihre Klasse in eine eigene Bibliotheksdatei (*.h / *.hpp) aus.

Note ~2.0

Implementieren Sie einen JSON-Export für alle Datensätze: Nachdem Ihre Anwendung durchgelaufen ist, wird eine Datei mit Dateiendung *.json erstellt, in der sich die einzelnen Datensätze als JSON-Objekte finden. Einen eingängigen Überblick über JSON bietet https://developer.mozilla.org/de/docs/Learn/JavaScript/Objects/JSON.

Note ~1.0

Ihre Benutzer möchten mit den Daten interagieren. Implementieren Sie die folgenden User Stories:

  1. Als Benutzerin der Anwendung möchte ich alle Denkmäler (d.h. Datensätze) ausgeben lassen, die sich unter einer bestimmten Postzahl befinden, die ich manuell in die Anwendung eingebe. Beispiel: Ich gebe die Postleitzahl 50937 ein und erhalte Datensätze zum Beethovenpark, zum Asbergplatz, etc. ausgegeben.
  2. Als Benutzer der Anwendung möchte ich alle Datensätze in einer JSON-Datei speichern, die in 1) ausfindig gemacht wurden.