• Keine Ergebnisse gefunden

Blatt 5: Interaktion

N/A
N/A
Protected

Academic year: 2022

Aktie "Blatt 5: Interaktion"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Hochschule Niederrhein Fachbereich 03

Bachelor Informatik

Objektorientierte Anwendungsentwicklung

Sommersemester 2018

Lentzen, Montag Davids, Rethmann Praktikum 5

Praktikum 5: Interaktion 1. Lernziele

Die folgenden in der Vorlesung behandelten Themen sollen vertieft und angewendet wer- den:

• Kenntnisse ¨uber objektorientierte Modellierung

• Ereignisbearbeitung mit SFML

• Standard Template Library STL

• Datei-Eingabe und -Ausgabe

2. Aufgabe

Teil 1: Erweitern Sie Ihr Programm aus Praktikum 3 um die M¨oglichkeit, einen Graphen aus einer Datei einzulesen und und wieder abzuspeichern. Erweitern Sie hierzu Ihre Klasse DiGraph um die entsprechenden Methoden und passen Sie ihr Hauptpro- gramm an.

Das Datei-Format sollhuman-editable, also leicht mit einem Editor ver¨anderbar sein, d.h. der Graph wird in einer Textdatei gespeichert. Ein Beispiel:

# Alle Knoten Aachen 100 200 Berlin 200 300 Koeln 200 500

# Alle Kanten Aachen Berlin 50 Koeln Berlin 77

#ende

Bauen Sie nach dem Speichern eines Graphen bewusst Fehler in die Ausgabedatei ein (z.B. ung¨ultige Koordinaten, falsche Start- oder End-Knoten bei einer Kante) und versuchen Sie, diese Datenfehler durch entsprechende Fehlerbehandlung abzufangen.

Hinweis: f¨ur das Einlesen undZerlegender Eingabe-Datei verwenden sie dieTokenizer Klasse aus der Vorlesung.

Hinweis: Den Quellcode f¨ur den Tokenizer und eine Test-Datei finden Sie im moodle-Kurs.

1

(2)

Hochschule Niederrhein Fachbereich 03

Bachelor Informatik

Objektorientierte Anwendungsentwicklung

Sommersemester 2018

Lentzen, Montag Davids, Rethmann Praktikum 5

Teil 2: Jetzt werden Knoten, also St¨adte, verschoben:

Erweitern Sie Methode visualize in der Klasse SFMLGraphVisualizer um weite- re Event-Handler, die die durch Maus-Klicks und Mouse-Bewegungen generierten Ereignisse bearbeiten. Sie sollen Knoten (St¨adte) per Drag-and-Drop verschieben k¨onnen. Die notwendingen Event-Typen sind:

• sf::Event::MouseButtonPressed

• sf::Event::MouseMoved

• sf::Event::MouseButtonReleased

3. Testat

Voraussetzung ist jeweils ein fehlerfreies, korrekt formatiertes Programm. Der korrekte Programmlauf muss nachgewiesen werden. Sie m¨ussen in der Lage sein, Ihr Programm im Detail zu erkl¨aren und ggf. auf Anweisung hin zu modifizieren.

2

Referenzen

ÄHNLICHE DOKUMENTE

Implementieren Sie in der Klasse Code die Methoden zur Ausgabe häufig verwendeter Code- Muster, zB: Laden von Werten sowie Zuweisungen.. Vervollständigen Sie die

Den Code für Sprünge und Methoden-Aufrufe müssen Sie erst in Übung 6 implementieren.. Denken Sie daran, alle Kontextbedingungen, die Sie nun prüfen können, auch tatsächlich

Den Code für Sprünge und Methoden-Aufrufe müssen Sie erst in Übung 6 implementieren.. Denken Sie daran, alle Kontextbedingungen, die Sie nun prüfen können, auch

«Die Studien zeigen, dass erstens auch bei Kindern der frühe Einsatz von TNF-alpha-Inhibitoren sicher ist und dass zweitens eine frühe Behandlung Vorteile hinsichtlich des

zur

zur

zur

Gemeinsam wird dann besprochen, dass jeder darauf achten soll, diese Wörter innerhalb ei- ner bestimmten Zeitspanne (z.B. einen Schultag lang) nicht zu verwenden. So wird ganz gezielt