Interface Fahrkartenkauf_am_Schalter { typedef string Zielbahnhof; typedef double Preis; typedef datum Abfahrtszeit; typedef int Zug_Nr; interface extern{ typedef long datum; int Tag; int Monat; int Jahr; datum Berechne_Datum_als_long(in Tag, in Monat, in Jahr); }; struct Zugart{ string Zugtyp; int Klasse; } struct Reisender{ int Alter; int Anzahl_Kinder; string Koerperliche_Einschränkungen; } struct Sitzplatz{ string Zugtyp; int Wagen_nr; int Sitzplatz_nr; boolean smoking_seat; string Art; string Ort; int Zug_Nr; } Streckenliste Streckesuchen(in string Zielbahnhof); Abfahrtszeit Abfahrtszeitermitteln(in Streckenliste); Preis Preisermitteln(in Zug_Nr, in Zug_Art, in Reisender, in Anzahl, in Ermaeßigung, in Sitzplatz); void Buchungvornehmen((in Zugart, in Zug_Nr, in Reisender, in Anzahl, in Ermaeßigung, in Sitzplatz); Sitzplatz Reservierung_eines_Sitzplatzes(in Zug_Nr); Zug_nr Zugnummer_ermitteln( in Streckenliste, in Abfahrtszeit); }