/* המחלקה הראשית */ using System; public class TravelAgency { public static void Main() { // הגדרת והקצאת משתנים const int TRIPS_NUM = 10; // קבוע: מספר טיולים Trip[] trips = new Trip[TRIPS_NUM]; // הקצאת מערך הטיולים string passengerName; // שם נוסע int tripNum; // מספר טיול מבוקש // הקצאת הטיולים for (int i = 0; i < TRIPS_NUM; i++) trips[i] = new Trip(i + 1); Console.Write("Enter passenger name, type ’End’ to " + "finish: "); passengerName = Console.ReadLine(); while (passengerName != "End") { Console.Write("Enter the trip number: "); tripNum = int.Parse(Console.ReadLine()); if (trips[tripNum - 1].AddPassenger(passengerName)) Console.WriteLine("You were added " + "successfully"); else Console.WriteLine("This trip is full"); Console.Write("Enter passenger name, type ’End’ " + "to finish: "); passengerName = Console.ReadLine(); } // while // מיון הטיולים לפי כמות הנרשמים Trip temp; for (int i = 1; i < TRIPS_NUM; i++) { for (int j = 0; j < TRIPS_NUM - i; j++) { if (trips[j].GetNumOfPassengers() > trips[j + 1].GetNumOfPassengers()) { // החלפה temp = trips[j]; trips[j] = trips[j + 1]; trips[j + 1] = temp; } // if } // for j } // for i string[] passengers; // הצגת הטיולים והמשתתפים בהם, לפי מספר המשתתפים for (int i = 0; i < TRIPS_NUM; i++) { Console.WriteLine("Trip {0} has {1} passengers", trips[i].GetTripNum(), trips[i].GetNumOfPassengers()); passengers = trips[i].GetPassengers(); for (int j = 0; j < passengers.Length; j++) { Console.WriteLine(passengers[j]); } } // for } // main } // class TravelAgency /* מחלקת טיול */ public class Trip { // הגדרת התכונות private const int MAX_PASS_PER_TRIP = 50; //קבוע: מספר נוסעים private int tripNum; // מספר טיול private int numOfPassengers; // מספר נרשמים private string[] passengers; // שמות הנרשמים לטיול // פעולה בונה public Trip(int tripNum) { passengers = new string[MAX_PASS_PER_TRIP]; this.tripNum = tripNum; numOfPassengers = 0; } //פעולות גישה public int GetTripNum() { return tripNum; } public int GetNumOfPassengers() { return numOfPassengers; } // הפעולה מחזירה את שמות המשתתפים בטיול public string[] GetPassengers() { string[] pass = new string[numOfPassengers]; for (int i = 0; i < numOfPassengers; i++) pass[i] = passengers[i]; return pass; } // הפעולה מוסיפה נוסע לטיול // ומחזירה ערך אמת אם יש מקום בטיול ושקר אחרת public bool AddPassenger(string passenger) { if (numOfPassengers < MAX_PASS_PER_TRIP) { passengers[numOfPassengers] = passenger; numOfPassengers++; return true; } // if return false; } // AddPassenger }// class Trip