Springe zum Hauptinhalt
Lehrveranstaltung Grundlagen der Informatik
Grundlagen der Informatik
Lehrveranstaltung Grundlagen der Informatik 

Belegaufgabe / Prüfungsvorleistung
Grundlagen der Informatik I
für das WS 2024/25

Wanderungen

Gegeben sei eine Struktur wanderung

struct wanderung
{
   char start[40];
   char end[40];
   float laenge;
   int hm;
};

Aus dieser Struktur wird ein Feld aufgebaut:
wanderung wanderbuch[50];
Die Werte des Feldes sollen aus einer Datei eingelesen werden. Der Name der Datei ist vom Nutzer einzugeben. Die Datei können Sie hier herunterladen. Wenn die Datei nicht zum Lesen geöffnet werden kann, soll das Programm mit einer entsprechenden Fehlernachricht beendet werden. Der erste Eintrag in der Datei soll die Anzahl n der Wanderungen enthalten, danach folgen n Wanderungen.
Beispiel (n=8):
8
Chemnitz Gornau 12.5 157
Hohndorf Scharfenstein 4.5 -163
Scharfenstein Zschopau 7.3 -18
Scharfenstein Venusberg 4.5 83
Venusberg Amtsberg 5.4 -93
Amtsberg Gornau 4.7 90
Amtsberg Zschopau 3.7 -4
Waldkirchen Börnichen 4.5 175
Wenn weniger als 50 Wanderungen im Wanderbuch verzeichnet sind, ist die Komponente laenge des ersten freien Elementes mit dem Wert 0 belegt. Entwerfen und implementieren Sie eine Funktion

bool wege(wanderung wb[], char startort[], char zielort[])

, in der ermittelt wird, ob im Wanderbuch wb ein Weg mit dem Startort startort und dem Zielort zielort existiert, der über genau zwei Etappen verläuft. Testen Sie die Funktion wege, in dem Sie in der Funktion main() einen Start- und einen Zielort einlesen, die Funktion wege aufrufen und testen, ob die Datei entsprechend der Aufgabenstellung geschrieben wurde. Es soll ein entsprechender Hinweis in eine Datei ausgegeben werden. Der Name der Datei ist vom Nutzer einzugeben. Die Gesamtlänge und der Gesamthöhenunterschied soll ebenfalls in die entsprechende Datei geschrieben werden.
Beispiele:
Start: Chemnitz Ziel: Zschopau 
Ausgabe: es exisitert kein Weg.
Start: Scharfenstein Ziel: Amtsberg 
Ausgabe: es exisitert mindestens ein Weg. Die Länge beträgt 9.9 km, der Höhenunterschied -10 m.
Wenn das Schreiben in die Datei gelingt, liefert die Funktion wege den Wert true zurück, sonst den Wert false.
Hinweis: Sie dürfen zur Lösung der Aufgabe die Bibliotheken cstring und fstream verwenden.

Organisatorisches

Downloads:

Wir empfehlen die Belegarbeit selbstständig anzufertigen. Sollten Sie sich dennoch für eine Gruppenarbeit entscheiden, gilt die Pflicht, alle Autoren in einem Kommentar zu Programmbeginn aufzulisten. Die Abgabe des Beleges erfolgt von jedem Gruppenmitglied.

Die Abgabe muss bis zum 10. Januar 2025 erfolgt sein.

Programme, die die Aufgabenstellung nicht erfüllen oder deren Quelltext nicht compilierbar ist, werden mit nicht bestanden bewertet.

Die Abgabe Ihres Beleges erfolgt in unserem Belegbereich. Wählen Sie den Kursbaustein Belegabgabe Wintersemester Laden Sie ausschließlich die C++-Datei beleg.cpp (Beispielname) hoch - keine .zip-, .tar-, .exe- oder Projektdateien.

Bitte beachten Sie, dass in Einklang mit der DSGVO ausschließlich Mailadressen zur Kommunikation verwendet werden dürfen, die Sie von der TU Chemnitz erhalten haben (DSGVO).

Bei Problemen mit dem Upload des Programmes bzw. bei der Bedienung des Belegbereiches schreiben Sie bitte eine E-Mail an