static void Main(string[] args) { // Populating tables ReadClubs(); ReadMembers(); // INTRO Console.WriteLine("Welcome to GC Fitness 24. Hard bodies, sharp minds!"); // HAVE USER SELECT WHICH CLUB THEY WOULD LIKE ACCESS TO Club establishment = SelectClub(); //MENU bool isGoing = true; while (isGoing) { // HAVE USER ENTER A NUMBER FOR OPTION PrintPrompt(establishment); string input; int menuChoice = -1; do { input = Console.ReadLine(); menuChoice = CheckNum(input, 8); } while (menuChoice == -1); // EXECUTING SELECTED MENU OPTION if (menuChoice < 8 && menuChoice >= 1) { do { switch (menuChoice) { case 1: //Check in a user Console.WriteLine("Checking in: "); int member1 = FindMember(establishment); // return -1 if no member found if (member1 != -1) { membersList[member1].CheckIn(establishment); Console.WriteLine("Checked in"); } else { Console.WriteLine("No member found to check in"); } Console.Write("Do you want to continue checking in members(Y/N)?"); break; case 2: // SEARCH FOR MEMBER AND DISPLAY INFO Console.WriteLine("Searching for member: "); int member2 = FindMember(establishment); // return -1 if no member found if (member2 == -1) { Console.WriteLine("No member found with that name"); } else { Console.WriteLine(membersList[member2]); } Console.Write("Do you want to continue searching for members(Y/N)?"); break; case 3: // GENERATE BILL FOR USER Console.WriteLine("Generating invoice: "); int member3 = FindMember(establishment); if (member3 == -1) { Console.WriteLine("No member found with that name"); } else { string bill = $"{membersList[member3].Name} Amount Dues: $"; if (membersList[member3] is MultiClub mc) // membership have $40 for monthly fee { bill += $"40\nMembership Points: {mc.Points}"; // need to cast } else { bill += $"{establishment.MonthlyDue}"; } Console.WriteLine(bill); } Console.Write("Do you want to continue Printing out invoices(Y/N)?"); break; case 4: // CREATE AND ADD A NEW MEMBER TO THE CLUB/LIST Console.WriteLine("Membership Options:\n" + "1. Single-Club Member\n" + "2. Multi-Club Member"); Console.Write("\nWhat kind of member is this (1-2): "); string pickNum = Console.ReadLine(); int num = CheckNum(pickNum, 2); if (num == 1) { Console.Write("\nPlease enter the member's name that you would like to add: "); string name = Console.ReadLine(); Console.Write("\nPlease enter the member's id: "); string id = Console.ReadLine(); membersList.Add(new SingleClub(id, name, establishment.Name)); Console.WriteLine("New Single-Club Member added"); } if (num == 2) { Console.Write("\nPlease enter the member's name that you would like to add: "); string name = Console.ReadLine(); Console.Write("\nPlease enter the member's id: "); string id = Console.ReadLine(); membersList.Add(new MultiClub(id, name)); Console.WriteLine("New Multi-Club Member added"); } Console.Write("Do you want to continue Adding members(Y/N)?"); break; case 5: // FIND MEMBER IN CLUB THEN DELETE FROM LIST Console.WriteLine("Removing Member: "); int removeIdnex = FindMember(establishment); if (removeIdnex == -1) { Console.WriteLine("No member found"); } else { membersList.RemoveAt(removeIdnex); Console.WriteLine("Member Removed"); } Console.Write("Do you want to continue removing members(Y/N)?"); break; case 6: // DISPLAY ALL MEMBERS Console.WriteLine("Active Members:"); Console.WriteLine("___________________________________"); foreach (Members m in membersList) { if (m is SingleClub sc) { if (sc.HomeClub == establishment.Name) { Console.WriteLine(m); } } if (m is MultiClub) { Console.WriteLine(m); } } Console.Write("Do you want to display members again(Y/N)?"); break; case 7: // establishment = SelectClub(); Console.Write($"Changing clubs... Would you like to select another club(Y/N)?"); break; } input = Console.ReadLine(); } while (ConfirmSelection(input)); } else// QUIT PROGRAM { Console.WriteLine("Quitting program..."); WriteMembers(); isGoing = false; } } }
// Multi-Club Members: a variable that stores their membership points. public override void CheckIn(Club club) { this.Points += 100; }
public abstract void CheckIn(Club club);