// Returnerer antal minutter distancen tager at flyve public virtual int CalculateTime(Airport from, Airport to) { return(CalculateTime((int)Math.Round(CalculateDistance(from, to)))); }
// Returnerer prisen i danske kroner public virtual int CalculatePrice(Airport from, Airport to, int tickets, bool returnTicket) { int distance = (int)Math.Round(CalculateDistance(from, to)); return(CalculatePrice(distance, tickets, returnTicket)); }
public static void Main(string[] args) { Console.WriteLine("Velkommen til Fly Transport A/S beregningssystem"); // from airport Console.WriteLine("Hvor rejser du fra? (ex: CPH, AMS)"); Console.WriteLine("Skriv l for at liste alle lufthavne eller r for en tilfældig lufthavn"); Airport from = askAirport(); // to airport Console.WriteLine("Hvor skal du hen? (ex: CPH, AMS)"); Airport to = askAirport(); // Antal billetter Console.WriteLine("Hvor mange billetter ønsker du?"); int tickets; while (!Int32.TryParse(Console.ReadLine(), out tickets) || tickets == 0) { Console.WriteLine("Indtast venligst et gyldigt antal billetter"); } // Returbillet? Console.WriteLine("Skal det være en returbillet? (ja/nej)"); bool returnTicket; while (true) { String input = Console.ReadLine(); // Switch eller if kommer vist ud på det samme her if (string.Equals(input, "ja", StringComparison.OrdinalIgnoreCase)) { returnTicket = true; break; } else if (string.Equals(input, "nej", StringComparison.OrdinalIgnoreCase)) { returnTicket = false; break; } else { Console.WriteLine("Indtast venligst et gyldigt svar: ja eller nej"); } } // Loading bar Console.Write("Udregner pris og tid"); for (int i = 0; i < 5; i++) { Thread.Sleep(500); Console.Write("."); } Console.WriteLine("\n"); // Udregn pris og tid og print det Plane businessJet = new BusinessJet(); Plane commericalJet = new CommericalJet(); // ^override virker (yeh!) int businessJetPrice = businessJet.CalculatePrice(from, to, tickets, returnTicket); int businessJetTime = businessJet.CalculateTime(from, to); int commericalJetPrice = commericalJet.CalculatePrice(from, to, tickets, returnTicket); int CommericalJetTime = commericalJet.CalculateTime(from, to); Console.WriteLine("Vi har fundet følgende muligheder:"); Console.WriteLine("Fra {0} ({1}) til {2} ({3}):", from.IATA, from.Name, to.IATA, to.Name); Console.WriteLine("Privatfly: {0} kroner og det tager {1} minutter", businessJetPrice, businessJetTime); Console.WriteLine("Rutefly: {0} kroner og det tager {1} minutter", commericalJetPrice, CommericalJetTime); }