Code-Requirements-Markings
Code-Requirements-Markings
using System.Collections.Generic;
interface IVolunteer
{
string Name { get; }
int HoursLogged { get; set; }
string GetDescription();
}
// The other classes remain unchanged but will now use IVolunteer
sealed class RegisterVolunteer
{
public void Reg()
{
Console.Write("Enter volunteer name: ");
string name = Console.ReadLine();
// Register a basic volunteer initially
Program.volunteers.Add(new Volunteer { Name = name, HoursLogged = 0 });
Console.WriteLine("Volunteer registered successfully!");
}
}
class Event
{
public string Title { get; set; }
public List<IVolunteer> Volunteers { get; set; } = new List<IVolunteer>();
}
class Program
{
public static List<IVolunteer> volunteers = new List<IVolunteer>();
public static List<Event> events = new List<Event>();
switch (choice)
{
case 1:
RegisterVolunteer regVolunteer = new RegisterVolunteer();
regVolunteer.Reg();
break;
case 2:
CreateEvent createEvent = new CreateEvent();
createEvent.Create();
break;
case 3:
VolunteerSignUp volunteerSignUp = new VolunteerSignUp();
volunteerSignUp.Sign();
break;
case 4:
LogHours logHours = new LogHours();
logHours.Log();
break;
case 5:
ViewCurrentEvents viewEvents = new ViewCurrentEvents();
viewEvents.Cur();
break;
case 6:
GenerateReport generateReport = new GenerateReport();
generateReport.Rep();
break;
case 7:
Console.WriteLine("Exiting...");
break;
default:
Console.WriteLine("Invalid choice. Please try again.");
break;
}
} while (choice != 7);
}
}