アルバイトのシフトプログラムを作る

C#でListを使ってアルバイトのシフトプログラムを作成するには、以下のような手順に沿って開発を進めることができます。

  1. シフトスケジュールのクラスを作成し、必要なプロパティを定義する。例えば、日付、スタッフ名、シフトの時間帯など。
  2. List<T>クラスを使用して、シフトスケジュールのリストを作成する。
  3. シフトスケジュールのインスタンスを作成し、リストに追加する。
  4. シフトスケジュールを検索、ソート、削除などの操作を行うためのメソッドを作成する。
  5. シフトスケジュールを表示するための画面を設計し、List<T>から取得したデータを表示する。
  6. ユーザーが入力したデータを受け取り、List<T>に追加する。
  7. 上記のような手順に沿って開発を進めることで、アルバイトのシフトスケジュールを管理することができるプログラムを作成することができます。

List<T>を使用することで、順番付きのデータの一覧を扱うことができるので、シフトスケジュールの管理に適しています。

class ShiftSchedule
{
    public DateTime Date { get; set; }
    public string StaffName { get; set; }
    public string ShiftTime { get; set; }
}

class ShiftScheduler
{
    List<ShiftSchedule> shiftSchedules = new List<ShiftSchedule>();

    public void AddShiftSchedule(ShiftSchedule schedule)
    {
        shiftSchedules.Add(schedule);
    }

    public ShiftSchedule SearchShiftSchedule(string staffName)
    {
        return shiftSchedules.Find(x => x.StaffName == staffName);
    }

    public void SortShiftSchedules()
    {
        shiftSchedules.Sort((x, y) => DateTime.Compare(x.Date, y.Date));
    }

    public void RemoveShiftSchedule(ShiftSchedule schedule)
    {
        shiftSchedules.Remove(schedule);
    }

    public void DisplayShiftSchedules()
    {
        Console.WriteLine("Shift Schedules:");
        foreach (var schedule in shiftSchedules)
        {
            Console.WriteLine($"Date: {schedule.Date}, Staff: {schedule.StaffName}, Shift: {schedule.ShiftTime}");
        }
    }
}

class Program
{
    static void Main(string[] args)
    {
        ShiftScheduler scheduler = new ShiftScheduler();

        // Add shift schedules
        scheduler.AddShiftSchedule(new ShiftSchedule { Date = new DateTime(2022, 1, 1), StaffName = "John", ShiftTime = "Morning" });
        scheduler.AddShiftSchedule(new ShiftSchedule { Date = new DateTime(2022, 1, 2), StaffName = "Jane", ShiftTime = "Evening" });

        // Search shift schedule
        var schedule = scheduler.SearchShiftSchedule("John");
        Console.WriteLine("Schedule for John: {0}, {1}, {2}", schedule.Date, schedule.StaffName, schedule.ShiftTime);

        // Sort and display shift schedules
        scheduler.SortShiftSchedules();
        scheduler.DisplayShiftSchedules();

        // Remove a shift schedule
        scheduler.RemoveShiftSchedule(schedule);
        scheduler.DisplayShiftSchedules();

        // Receive input and add new schedule
        Console.WriteLine("Enter new schedule (date, staff name, shift time):");
        string input = Console.ReadLine();
        var inputs = input.Split(',');
        scheduler.AddShiftSchedule(new ShiftSchedule { Date = DateTime.Parse(inputs[0]), StaffName = inputs[1], ShiftTime = inputs[2] });
        scheduler.DisplayShiftSchedules();
    }
}

上記のプログラムでは、ShiftSchedule クラスを作成し、日付、スタッフ名、シフトの時間帯などの必要なプロパティを定義します。
そして、ShiftScheduler クラスを作成し、Listを使用して、シフトスケジュールのリストを作成し、追加、検索、ソート、削除などの操作を行うためのメソッドを実装します。
最後に、Mainメソッドで、上記のメソッドを呼び出し、画面にシフトスケジュールを表示し、新しいシフトスケジュールを入力し、リストに追加することで、シフトスケジュールを管理するプログラムを実装しています。

C#,学習,設計

Posted by hidepon