Belegaufgabe / Prüfungsvorleistung
Grundlagen der Informatik I
für das WS 2024/25
Wanderungen
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 175Wenn 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 dr.andreas.mueller@…