package main import ( "bufio" "fmt" "os" "strings" "gitty.informatik.hs-mannheim.de/steger/pr3-ss2025/go/06-airport/airport" ) func main() { ap := airport.DefaultAirport() ap.FlightSchedule.Print() defer func() { lostBaggage := ap.Bhs.CollectLostBaggage() fmt.Println("The following baggage was lost today: ", lostBaggage) }() ap.Start() for _, flight := range ap.FlightSchedule.AllFlights() { ac := airport.NewAircraft(flight) gate := ap.Gates[flight.GateNumber] go ac.Start(gate, &ap.Runway) } reader := bufio.NewReader(os.Stdin) fmt.Print("What/Who arrives at airport? (p for passenger, c for car, t for train, q to quit): ") for { input, _ := reader.ReadString('\n') input = strings.TrimSpace(input) switch input { case "q": fmt.Println("Closing airport") return case "p": p := ap.NewPassenger() go p.Start(&ap) case "c": for i := 0; i < 4; i++ { p := ap.NewPassenger() go p.Start(&ap) } case "t": for i := 0; i < 50; i++ { p := ap.NewPassenger() go p.Start(&ap) } default: fmt.Println("Invalid command.") } } }