Interfaces: StudiVZ - JirkaDellOro/EIA2 GitHub Wiki
Implementieren Sie eine rudimentäre Verwaltung von Studentendaten. Erweitern Sie dazu den untenstehenden Code, der in diesem Zustand schon lauffähig ist, aber noch kein sinnvolles Ergebnis liefert. Ergänzen Sie ihn um die Struktur von StudentData und die Körper der Funktionen „saveData“ und „queryData“.
„saveData“ soll einen String mit kommaseparierten Werten annehmen und damit ein neues Objekt vom Typ StudentData füllen. Die Werte sind Matrikelnummer, Name, Vorname, Alter, Geschlecht und ein Kommentar. Matrikelnummer und Alter sollen als Zahlen gespeichert werden, das Geschlecht als boolescher Wert. Die anderen Werte sollen Strings bleiben. Das Objekt soll dann im Array students abgelegt werden . Die Funktion gibt einen String zurück, der die erfolgreiche Speicherung meldet, oder einen Fehler, wenn z.B. die eingegebene Matrikelnummer keine Nummer ist.
„queryData“ nimmt eine Matrikelnummer entgegen und liefert den darunter in students gefundenen Datensatz als formatierten String zurück, oder eine entsprechende Meldung, wenn unter der Nummer keine Daten gefunden wurden.
namespace StudiVZ {
interface StudentData {
// hier ist noch die richtige Datenstruktur festzulegen
}
var students: StudentData[] = [];
var stop: boolean = false;
while (!stop) {
var action: string = prompt("Datensatz anlegen (n), abfragen(a) oder Programm beenden (s)\nn,a oder s eingeben");
switch (action) {
case "n":
case "N":
var input: string = prompt("Eingabe (jeweils mit Komma getrennt) von\nMatrikelnummer, Name, Vorname, Alter, Geschlecht (0 oder 1) und Kommentar");
alert(saveData(input));
break;
case "a":
case "A":
var matrikel: number = parseInt(prompt("Eingabe Matrikelnummer"));
alert(queryData(matrikel));
break;
case "s":
case "S":
stop = true;
}
}
function saveData(_input: string): string {
return "Hier fehlt noch der richtige Code...";
}
function queryData(_matrikel: number): string {
return "Hier fehlt noch der richtige Code...";
}
}
Konzeption
Finden Sie sinnvolle Namen und Datentypen der Informationen in StudentData. Setzen Sie sich mit der String-Methode „split“ auseinander, welche es ihnen leicht ermöglicht, die Eingabe des Nutzers zu verarbeiten. Entwerfen Sie Aktivitätsdiagramme um die Algorithmen der Funktionen „saveData“ und „queryData“ zu beschreiben.
Implementation
Kopieren Sie den Code aus der Aufgabenstellung und implementieren Sie die Strukturen und Algorithmen Ihres Konzeptes. Bis auf die Funktionsrümpfe und das Interface bleibt der Code unverändert und wird nur an diesen Stellen erweitert.
Hinweis
- „\n“ bewirkt einen Zeilenumbruch in einem Alert- oder Prompt-Popup.
- Die Funktion parseInt(...) wandelt einen String in eine Zahl.