Very confused by the "dependence" of methods:
Scoreboard (Train [] train) <- SortArray (train) <- Show (train)
How to get rid of it?
Program class:
using System; namespace Train { class Program { static void Main() { Train[] trains = new Train[2]; TrainManager.Scoreboard(trains); } } } Train class:
using System; namespace Train { struct Train { private string destination_name; public string Destination_Name { get { return destination_name; } } private int train_number; public int Train_Number { get { return train_number; } } private string departure_time; public string Departure_Time { get { return departure_time; } } public Train(string destination_name, int train_number, string departure_time) { this.destination_name = destination_name; this.train_number = train_number; this.departure_time = departure_time; } } } TrainManager class:
using System; namespace Train { static class TrainManager { public static void Scoreboard(Train[] train) { string destination_name; int train_number; string departure_time; for (int i = 0; i < train.Length; i++) { Console.Write("Enter train number: "); train_number = Convert.ToInt32(Console.ReadLine()); Console.Write("Enter destination time: "); destination_name = Convert.ToString(Console.ReadLine()); Console.Write("Enter departure time: "); departure_time = Convert.ToString(Console.ReadLine()); train[i] = new Train(destination_name, train_number, departure_time); Console.WriteLine(new string('-', 30)); } SortArray(train); } private static void SortArray(Train[] train) { for (int i = 0; i < train.Length; i++) { for (int q = 0; q < train.Length; q++) { if (train[i].Train_Number <= train[q].Train_Number) { Train g = train[i]; train[i] = train[q]; train[q] = g; } } } Show(train); } private static void Show(Train[] train) { Console.Clear(); Console.WriteLine("////////////////////TRAIN SCHEDULE////////////////////"); for(int i = 0; i < train.Length; i++) { Console.WriteLine(); Console.WriteLine(new string('-', 30)); Console.WriteLine("Train number {0}:", train[i].Train_Number); Console.WriteLine(new string('-', 30)); Console.WriteLine("Destination name: {0}", train[i].Destination_Name); Console.WriteLine("Departure time: {0}", train[i].Departure_Time); Console.WriteLine(); } } } } 