//FILE 1 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PhamQuangSang_Ktra2_02042024 { public abstract class CanBo { private string hoTen; private int namSinh; private double luongCb; private double heSoLuong; public string HoTen { get { return hoTen; } set { hoTen = value; } } public int NamSinh { get { return namSinh; } set { namSinh = value; } } public double LuongCB { get { return luongCb; } set { luongCb = value; } } public double HeSoLuong { get { return heSoLuong; } set { heSoLuong = value; } } public CanBo() { } public CanBo(string hoTen, int namSinh, double luongCb, double heSoLuong) { this.hoTen = hoTen; this.namSinh = namSinh; this.luongCb = luongCb; this.heSoLuong = heSoLuong; } public abstract int TinhTuoi(); } } //FILE 2 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PhamQuangSang_Ktra2_02042024 { public interface Luong { double TinhLuong(); } } //FILE 3 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PhamQuangSang_Ktra2_02042024 { class LuongCanBo : CanBo, Luong { private double hsPhuCap; private static double tongLuong; public double HsPhuCap { get { return hsPhuCap; } set { hsPhuCap = value; } } public LuongCanBo() : base() { } public LuongCanBo(string hoTen, int namSinh, double luongCb, double heSoLuong, double hsPhuCap) : base(hoTen, namSinh, luongCb, heSoLuong) { this.hsPhuCap = hsPhuCap; } public void Nhap() { Console.WriteLine("Nhap vao thong tin can bo (Ho ten, nam sinh, luong co ban <1.000.000>, he so luong, he so phu cap):"); string[] inp = Console.ReadLine().Split(','); if (inp.Length == 5) { for (int i = 0; i < 5; i++) { inp[i] = inp[i].Trim(); } this.HoTen = inp[0]; this.NamSinh = int.Parse(inp[1]); this.Lu this.HeSoLu this.HsPhuCap = double.Parse(inp[4]); tongLuong += this.TinhLuong(); } else { throw new Exception("Du lieu nhap chua chuan"); } } public double TinhLuong() { return LuongCB * HeSoLuong * HsPhuCap; } public override int TinhTuoi() { return DateTime.Now.Year - NamSinh; } public static double tinhTongLuong() { return tongLuong; } public override string ToString() { return HoTen + ", " + NamSinh.ToString() + ", " + TinhLuong().ToString(); } } } //FILE RUN (Class Program) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PhamQuangSang_Ktra2_02042024 { class Program { static void Main(string[] args) { List dsCanBo = new List(); for (int i = 0; i < 3; i++) { dsCanBo.Add(new LuongCanBo()); try { Console.WriteLine("Nhap tt can bo thu "+(i+1)+":"); dsCanBo[i].Nhap(); } catch (Exception e) { Console.WriteLine("Co Loi, Nhap lai!!!"); Console.WriteLine(e.Message); dsCanBo.RemoveAt(i); i--; } } Console.WriteLine("DS can bo vua nhap:"); foreach (LuongCanBo canBo in dsCanBo) { Console.WriteLine(canBo); } Console.WriteLine("tong luong: " + LuongCanBo.tinhTongLuong().ToString()); Console.ReadKey(); } } }