Links und Funktionen
Sprachumschaltung

Navigationspfad
Sie sind hier: Startseite / Lehre / SS 2012 / Funktionale Programmierung / Übungen / Blatt 8


Inhaltsbereich

Blatt 8

Haskell source code icon 08Yesod.hs — Haskell source code, 3 KB (3882 bytes)

Dateiinhalt

-- | Functional Programming, course at LMU, summer term 2012
--   Andreas Abel and Steffen Jost
--
-- Exercise sheet 8, 2012-06-28
--
--
-- Submit your solutions via UniWorX.


-- Heute implementieren wir die nächste Version von UniworX mit Yesod!
-- Getreu dem Motto weniger ist mehr, kann unser UniworX V3 aber nur ganz wenig
-- (zum Beispiel verzichten wir auf Anmeldung oder Authenitifizierung).
--
-- Die Online-Version des Yesod Buches könnte schon viel nützlichen Code bereitsellten.
-- Es beleibt Ihnen überlassen, ob Sie das Scaffolding Tool verwenden möchten oder nicht.
--
-- Geben Sie nur EINE Implementation ab zu diesem gesamten Übungsblatt ab!
-- Die Aufteilung in drei Exercises stell nur eine Aufteilung dar,
-- damit klar ist auf welchen Teil es welche Punkte gibt.
--
-- Geben Sie ein"Handbuch" dazu ab, d.h. eine kurze Textdatei, in der kurz 
-- erklärt wird wo sie welche Aufgabe wie gelöst haben.
-- Bei Aufgabenteile 1 & 2 reicht z.B. die Angabe der relativen URL;
-- bei Aufgabenteil 3 sind dagegen 1-2 Sätze notwendig und eine Zeilenangabe sinnvoll.
--


----------------------------------------------------------------------
-- UniworX V3, Teil1, Formulare (4 Punkte)
----------------------------------------------------------------------
-- 
-- UniworX bietet drei Formulare auf eigenen Webseiten an:
--
--  1. Formular zur Eingabe eines Studenten. Ein Student hat einen Vor- und Nachnamen, sowie eine Matrikelnummer.
--
--  2. Formular zur Eingabe eines Kurses. Ein Kurs hat einen Namen und eine Anzahl ECTS Punkte.
--     Der Name muss der Einfachheit halber nur mit Kleinbuchstaben zurechtkommen, eine Prüfung ist nicht notwendig.
--
--  3. Formular zur Anmeldung eines einzelnen Studenten zu einem Kurs.
--     Die Studenten können dabei einfach in einer Auswahlliste angeboten werden, oder mit Checkboxen.
--     Den Kursnamen per Eingabefeld.
--

----------------------------------------------------------------------
-- UniworX V3, Teil2, Datenbank (4 Punkte)
----------------------------------------------------------------------
--
-- 1. UniworX v3 hat eine persistente Datenbank, in der Studenten, Kurse und alle Anmeldungen gespeichert werden.
-- Wie Sie das organisieren ist Ihre Sache; wir empfehlen drei Datentypen: Student, Kurs und Anmeldung,
-- wobei Anmeldung lediglich ein Paar von StudentID und KursID ist.
-- 
-- 2. Je eine Seite, auf der alle Studenten und alle Kurse in der Datenbank angezeigt werden 
--    (Schön ist es, wenn komplette Records ausgegeben werden, aber es reicht uns auch 
--     wenn jeweils nur ein Feld angezeigt wird, also z.B. nur Matrikelnummer oder nur Nachname)
--
-- 3. Es soll eine Seite geben, auf der für einen beliebigen Studenten alle Kurse gelistet werden, 
--    zu denen der Student angemeldet ist.
--    Diese Seite muss kein Formular enthalten;
--    Auswahl per Url ist auch ok, also: uniworxv3/studentansicht/<#StudentID> oder uniworxv3/studentansicht/<#Matrikelnummer>.
--    Geben Sie bitte an, wie ausgewählt wird!
--
-- 4. Wie Aufgabe 3, nur sieht man dieses mal alle Nachnamen aller Studenten eines Kurses
--


----------------------------------------------------------------------
-- UniworX V3, Teil3, Extras (4 Punkte)
----------------------------------------------------------------------
--
--
-- 1. Das Eingabefeld für Matrikelnummern erlaubt nur positive, 6-stellige Zahlen ohne führende Null.
--
-- 2. Ein Student kann nur genau einmal zu einem Kurs angemeldet werden.
--
-- 3. Wenn bei der Anmeldung eines Studenten zu einem Kurs ein unbekannter Kurs eingegeben wird,
--    wird der Benutzer auf das Eingabeformular zur Kurseingabe umgeleitet.
--    Sobald dies abgeschlossen ist, wird der Benutzer wieder zurück auf das Kurs/Student-Anmeldeformular 
--    geleitet.
--
-- 4. Bei den Umleitung ist jeweils schon das Kurseingabefeld richtig vor-ausgefüllt.
-- 


Artikelaktionen


Funktionsleiste