06.10.2013 Aufrufe

Uebungsaufgaben

Uebungsaufgaben

Uebungsaufgaben

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Aufgabe 51 'Studentenverwaltung' CFATDSLP ****<br />

Diese Aufgabe wird sie während mehreren Lektionen beschäftigen. Ihr Programm wird im Laufe der Zeit ständig<br />

erweitert und umfangreicher, versuchen Sie deshalb von Anfang sauber zu Programmieren. Kommentare und<br />

Struktogramme gehören grundsätzlich ebenfalls zur Lösung der Aufgaben.<br />

Aufgabe 1<br />

Definieren sie eine Struktur, in welcher folgende Studentendaten abgelegt werden können:<br />

Name (String bis 30 Zeichen), Vorname (String bis 30 Zeichen), Notendurchschnitt (float) und<br />

Geburtsdatum (Tag, Monat, Jahr). Auch das Datum soll in einer (unter-) Strukturvariablen abgelegt werden.<br />

Schreiben Sie ein Programm, das die zwei Funktionen ReadStudentData() und WriteStudentData()<br />

enthält. Die Funktion ReadStudentData() soll die Daten eines Studenten von der Tastatur einlesen, und an<br />

den Aufrufer (in einer Strukturvariablen) zurückliefern. Zudem soll sie dem Aufrufer mitteilen, ob die<br />

Eingabe korrekt erfolgt ist, oder ob die Eingabe vom Benutzer abgebrochen wurde. (Z. B. indem der<br />

Notendurchschnitt auf -1 gesetzt wird).<br />

Die Funktion WriteStudentData() erhält als Argument eine Studentenstrukturvariable und soll Name,<br />

Vorname, Notendurchschnitt und Geburtsdatum des Studenten auf dem Bildschirm ausgeben.<br />

Schreiben Sie ein Hauptprogramm main(), das die Informationen zu einem Studenten einliest und<br />

anschliessend wieder ausgibt. Dazu sollen die beiden oben beschriebenen Funktionen verwendet werden.<br />

Wenn die Eingabe abgebrochen wurde, soll auf die Ausgabe verzichtet werden, und eine entsprechende<br />

Fehlermeldung ausgegeben werden.<br />

Aufgabe 2<br />

Erweitern Sie das Programm aus Aufgabe 1 so, dass bis zu 10 Studenten verwaltet werden können. Die<br />

Studentendaten sollen in einem Array abgelegt werden. Es sollen die Daten von bis zu 10 Studenten<br />

eingegeben werden können. Bei der Ausgabe sollen entweder alle Studenten, oder nur die Studenten<br />

unterhalb eines bestimmten, vom Benutzer einzugebenden Notendurchschnitts ausgegeben werden.<br />

Erweitern Sie das Programm um ein kleines Menu, in welchem der Benutzer auswählen kann ob er<br />

Studenten eingeben, alle Studenten ansehen, nur Studenten unterhalb eines bestimmten Schnitts ansehen,<br />

alle Einträge löschen oder das Programm verlassen will. (Denken Sie daran, das Menu wird im weiteren<br />

Verlauf dieser Aufgabe ständig erweitert)<br />

Aufgabe 3<br />

Erweitern Sie das Programm um die Möglichkeit, nach einem bestimmten Eintrag zu suchen, und diesen<br />

Anzuzeigen, wenn er gefunden wird.<br />

Aufgabe 4<br />

Erweitern Sie das Programm um die Möglichkeit, die Einträge nach Namen oder nach Notendurchschnitt zu<br />

sortieren und sortiert auszugeben. Erweitern Sie das Programm um die Möglichkeit, bestimmte Einträge zu<br />

löschen oder zu ändern. Verwenden Sie Zeiger um Einträge im Array zu suchen (Z. B. Beim Sortieren).<br />

Aufgabe 5<br />

Erweitern Sie das Programm um Funktionen zum Laden und Abspeichern von Studentendaten (Load und<br />

Save). Es sollen jeweils alle Daten in eine Datei abgespeichert werden und zu einem späteren Zeitpunkt<br />

wieder eingelesen werden können. Teilen Sie das Programm sinnvoll in Module auf. (Ein-Ausgabe,<br />

Laden/Speichern...)<br />

Aufgabe 6<br />

Erweitern Sie das Programm um dynamische Funktionen. Die Studenten sollen nicht mehr in einem Array,<br />

sondern in einer Liste verwaltet werden. Die Listenelemente sollen nach bedarf alloziert und wieder<br />

freigegeben werden. (Ein Modul mit Listenfunktionen wird zur Verfügung gestellt). Einträge sollen beliebig<br />

gelöscht oder hinzugefügt werden können.<br />

Aufgabe 7<br />

Erweitern Sie das Programm mit eigenen Ideen.<br />

Aufgabe 52 'Zeilen drehen'<br />

CFATD ****<br />

Schreiben Sie ein Programm, das eine beliebige Anzahl Zeilen einliest, und diese anschliessend in umgekehrter<br />

Reihenfolge ausgibt. (Das Ende der Eingaben wird durch eine Leere Zeile angezeigt).<br />

<strong>Uebungsaufgaben</strong> Informatik (23.09.2010, I. Oesch) 9

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!