简单的人事考勤系统的C#代码示例

csusing System;
using System.Collections.Generic;

namespace AttendanceSystem
{
    public class Employee
    {
        public string Name { get; set; }
        public string Id { get; set; }
        public List<DateTime> Attendance { get; set; } = new List<DateTime>();
    }

    public class AttendanceSystem
    {
        private Dictionary<string, Employee> _employees = new Dictionary<string, Employee>();
        private Dictionary<string, List<DateTime>> _attendanceRecords = new Dictionary<string, List<DateTime>>();

        public AttendanceSystem()
        {
            _employees["Employee1"] = new Employee { Name = "Employee1", Id = "E1" };
            _employees["Employee2"] = new Employee { Name = "Employee2", Id = "E2" };
            _employees["Employee3"] = new Employee { Name = "Employee3", Id = "E3" };
        }

        public void AddAttendance(string employeeId, DateTime date, bool isPresent)
        {
            if (!_attendanceRecords.ContainsKey(employeeId))
            {
                _attendanceRecords[employeeId] = new List<DateTime>();
            }

            _attendanceRecords[employeeId].Add(date);

            if (isPresent)
            {
                _employees[employeeId].Attendance.Add(date);
            }
            else
            {
                _employees[employeeId].Attendance.RemoveAll(x => x == date);
            }
        }

        public void DisplayAttendance(string employeeId)
        {
            if (!_attendanceRecords.ContainsKey(employeeId))
            {
                Console.WriteLine($"Employee {employeeId} not found in the system.");
                return;
            }

            Console.WriteLine($"Attendance record of {_employees[employeeId].Name}:");
            foreach (var record in _attendanceRecords[employeeId])
            {
                Console.WriteLine($"Date: {record.Date.ToShortDateString()}, Present: {_employees[employeeId].Attendance.Contains(record.Date)}");
            }
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            AttendanceSystem attendanceSystem = new AttendanceSystem();
            attendanceSystem.AddAttendance("E1", new DateTime(2022, 1, 1), true);
            attendanceSystem.AddAttendance("E1", new DateTime(2022, 1, 1), false);
            attendanceSystem.AddAttendance("E1", new DateTime(2022, 1, 2), true);
            attendanceSystem.AddAttendance("E1", new DateTime(2022, 1, 3), false);
            attendanceSystem.AddAttendance("E2", new DateTime(2022, 1, 1), true);
            attendanceSystem.AddAttendance("E2", new DateTime(2022, 1, 1), false);
            attendanceSystem.AddAttendance("E2", new DateTime(2022, 1, 2), true);
            attendanceSystem.AddAttendance("E2", new DateTime(2022, 1, 3), false);
            attendanceSystem.DisplayAttendance("E1"); // Output: Employee E1 not found in the system.
            attendanceSystem.DisplayAttendance("E2"); // Output: Attendance record of Employee E2: Date: 1/1/2022, Present: True Date: 1/1/2022, Present: False Date: 1/2/2022, Present: True Date: 1/3/2022, Present: False
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jqrbcts

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值