IMG-LOGO
Trang Chủ C Sharp Bài tập C Sharp - Chương trình quản lý cán bộ C# - C Sharp
×

Bài Tập

Xây dựng dự án Hello World trong C# - C Sharp Viết chương trình ax + b = 0 bằng C#, C Sharp Nhập và hiển thị thông tin sinh viên - Console trong C# In dãy số chẵn & lẻ từ mảng số nguyên - Lập trình C# - Loop trong C# Tìm dãy số nguyên tố - Lập trình C# - Loop trong C# In dãy Fibonacci trong C# - Tìm dãy số Fibonacci - Lập trình C# - Loop trong C# Hiển thị hình tam giác - Lập trình C# - Loop trong C# Viêt chương trình cho FlowChart - Lập trình C# - Tìm hiểu if else trong C# Giải phương trình bậc 2 - Lập Trình C# - Mệnh đề điều kiên if else trong # Tính tổng số chắc & Tổng số lẻ trong chuỗi - Lập Trình C# - Array Trong C# Chương trình quản lý công nhân - Lập Trình C# - Lập Trình C Sharp - Làm quen OOP Chương trình nhập xuất dữ liệu điểm thi - Lập Trình C# - Lập Trình C Sharp - Làm quen OOP Chương trình quản lý sản phẩm - Lập Trình C# - Lập Trình C Sharp - Làm quen OOP Chương trình quản lý sách - Develop Book Project - Lập Trình C# - OOP trong C# - C Sharp Chương trình quản lý khách sạn - Develop Hotel Project - Lập Trình C# - Lập Trình C Sharp 1000 Bài tập lập trình C# - Lập trình C# - Lập Trình C Sharp Chương trình quản lý sản phẩm - Product - Lập Trình C# - Lập Trình C Sharp Examination & Test - Lập trình C# - Lập trình C Sharp Viết chương trình quản lý sinh viên + delegate & event trong C# - Lập Trình C# - Lập Trình C Sharp Ôn tập OOP - Table - Trong C# - Lập Trình C# - Lập Trình C Sharp Ôn tập OOP - Table - Trong C# - Lập Trình C# - Lập Trình C Sharp Chương trình quản lý sinh viên C# + Import/Export JSON + File - Lập Trình C# - Lập Trình C Sharp Chường trình quản lý sở thú - Lập trình C# - Lập trình C Sharp Bài tập - Xây dựng chương trình quản lý sức khoẻ - Lập trình C# Bài tập - Bài tập - Viết chương trình quản lý tiêm chủng Vacxin COVID-19 - Lập trình C Sharp nâng cao. Tools Import/Export JSON into Database C# - Nhập xuất JSON File vào CSDL C# - Quản lý sinh viên C# Chương trình quản lý sách C# - Book project C# Bài tập C Sharp - Chương trình quản lý cán bộ C# - C Sharp Bài tập - Chương trình quản lý Mèo C# (C Sharp) | Chương trình quản lý Cat C# (C Sharp) Bài tập - Quản lý điểm thi Aptech bằng C# - Lập trình C Sharp Bài Tập - Quản lý nhà - Lập trình C# | C Sharp

Examination & Test

[Assignment] Bài tập ôn luyên tổng quát C# - Lập Trình C# - Lập Trình C Sharp [Examination] C# - Chương trình quản lý đội thi TechWiz toàn cầu Apptech Ấn Độ - C# [Examination] Kiểm tra 30 phút - Chương trình quản lý thiết bị phòng lab cho trường Aptech Việt Nam - Lập trình C# - Khoá học lập trình C Sharp




Bài tập C Sharp - Chương trình quản lý cán bộ C# - C Sharp

by GokiSoft.com - 19:54 14/10/2021 1,335 Lượt Xem

Đề bài: Một đơn vị sản xuất gồm có các cán bộ là công nhân, kỹ sư,
nhân viên.
• Mỗi cán bộ cần quản lý lý các thuộc tính: Họ tên, ngày sinh, giới tính,
địa chỉ
• Các công nhân cần quản lý: Bậc (công nhân bậc 3/7, bậc 4/7 …)
• Các kỹ sư cần quản lý: Ngành đào tạo
• Các nhân viên phục vụ cần quản lý thông tin: công việc
1. Xây dựng các lớp NhanVien, CongNha
n, KySu kế thừa từ lớp CanBo
2. Xây dựng các hàm để truy nhập (get), thay đổi (set) và hiển thị thông
tin về các thuộc tính của các lớp (nếu cần).
3. Xây dựng lớp QLCB cài đặt các phương thức thực hiện các chức năng
sau:
• Nhập thông tin mới cho cán bộ
• Tìm kiếm theo họ tên
• Hiển thị thông tin cán bộ tìm được
  

Bình luận



Chia sẻ từ lớp học

Hoàng Thiện Thanh [community,AAHN-C2009G]

Ngày viết: 12:37 13/10/2021


#Chief.cs


using System;
using System.Collections.Generic;
using System.Text;

namespace OfficerManager.Models
{
    public class Chief : Personel
    {
        public string EducationDept { get; set; }
        public Chief(string Name, DateTime Birthday, string Gender, string Address, string EduDept) : base(Name, Birthday, Gender, Address)
        {
            this.EducationDept = EduDept;
        }
        public Chief()
        {

        }
        public override void Input()
        {
            base.Input();
            Console.WriteLine("Enter Department of Education:");
            EducationDept = Console.ReadLine();
        }

        public override void Display()
        {
            Console.WriteLine("Name: {0}\n" +
                "Birthday: {1}\n" +
                "Gender: {2}\n" +
                "Address: {3}\n" +
                "Education Dept: {4}\n", Name, Birthday.ToString("dd-MMMM-yyyy"), Gender, Address, EducationDept);
        }
    }
}


#Employee.cs


using System;
using System.Collections.Generic;
using System.Text;

namespace OfficerManager.Models
{
    public class Employee : Personel
    {
        public string Job { get; set; }
        public Employee(string Name, DateTime Birthday, string Gender, string Address, string Job) : base(Name, Birthday, Gender, Address)
        {
            this.Job = Job;
        }
        public Employee() { 
        }
        public override void Input()
        {
            base.Input();
            Console.WriteLine("Enter Job:");
            Job = Console.ReadLine();
        }

        public override void Display()
        {
            Console.WriteLine("Name: {0}\n" +
                "Birthday: {1}\n" +
                "Gender: {2}\n" +
                "Address: {3}\n" +
                "Job: {4}\n", Name, Birthday.ToString("dd-MMMM-yyyy"), Gender, Address, Job);
        }
    }
}


#Personel.cs


using OfficerManager.Utils;
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace OfficerManager.Models
{
    public class Personel
    {
        public string Name { get; set; }
        public DateTime Birthday { get; set; }
        private string gender;
        public string Gender { 
            get { return gender; } 
            set { 
                while (!Regex.Match(value, @"\b(Male|Female|male|female)\b").Success) 
                {
                    Console.WriteLine("Gender is not either male or female");
                    value = Console.ReadLine();
                }
                this.gender = value;
            } 
        }
        public string Address { get; set; }

        public Personel(string Name, DateTime Birthday, string Gender, string Address)
        {
            this.Name = Name;
            this.Birthday = Birthday;
            this.Gender = Gender;
            this.Address = Address;
        }

        public Personel()
        {
        }

        public virtual void Input()
        {
            Console.WriteLine("Input Name:");
            Name = Utility.ReadLetters();
            Console.WriteLine("Input Birthay:");
            Birthday = Utility.ReadDate();
            Console.WriteLine("Input Gender:");
            Gender = Console.ReadLine();
            Console.WriteLine("Input Address:");
            Address = Console.ReadLine();
        }
        public virtual void Display() {
            Console.WriteLine("Name:{0}\nBirthday:{1}\nGender:{2}\nAddress:{3}", Name, Birthday.ToString("dd-MMMM-yyyy"), Gender, Address);
        }
    }
}


#Worker.cs


using OfficerManager.Utils;
using System;
using System.Collections.Generic;
using System.Text;

namespace OfficerManager.Models
{
    public class Worker : Personel
    {
        private int rank;
        public int Rank { get { return rank; } set { while (value > 7 || value <= 0) {
                    Console.WriteLine("The inputted value must be around 1 - 7");
                    value = Utility.ReadInt();
                }
                this.rank = value;
            } }
        public Worker(string Name, DateTime Birthday, string Gender, string Address, int Rank) : base(Name, Birthday, Gender, Address)
        {
            this.Rank = Rank;
        }
        public Worker()
        {

        }

        public override void Input()
        {
            base.Input();
            Console.WriteLine("Enter Worker Rank:");
            Rank = Utility.ReadInt();
        }

        public override void Display()
        {
            Console.WriteLine("Name: {0}\n" +
                "Birthday: {1}\n" +
                "Gender: {2}\n" +
                "Address: {3}\n" +
                "Rank: {4}/7\n", Name, Birthday.ToString("dd-MMMM-yyyy"), Gender, Address, Rank);
        }
    }
}


#PersonelManager.cs


using OfficerManager.Models;
using OfficerManager.Utils;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

namespace OfficerManager
{
    public class PersonelManager
    {
        public static List<Personel> PersonelList = new List<Personel>();
        public static void ShowMenu()
        {
            int choose;
            do
            {
                Console.WriteLine("1. Input new personel infos\n" +
                    "2. Search personel by name\n" +
                    "3. Show info of all personels\n" +
                    "4. Exit");
                choose = Utility.ReadInt();
                switch (choose)
                {
                    case 1:
                        Input();
                        break;
                    case 2:
                        SearchByName();
                        break;
                    case 3:
                        Display();
                        break;
                    case 4:
                        Console.WriteLine("Exited!");
                        break;
                    default:
                        Console.WriteLine("Wrong Input!");
                        break;
                }

            } while (choose != 4);
        }
        public static void Input()
        {
            Console.WriteLine("Enter the number of personels to input");
            int N = Utility.ReadInt();
            for (int i = 0; i < N; i++)
            {
                Personel p = null;
                Console.WriteLine("Enter Personel type (Employee, Worker, Chief, Default):");
                string PersonelClass = Console.ReadLine();
                while (!Regex.Match(PersonelClass, @"\b(Employee|Worker|Chief|Default)\b").Success)
                {
                    Console.WriteLine("Type doesn't match.");
                    PersonelClass = Console.ReadLine();
                }
                switch (PersonelClass)
                {
                    case "Employee":
                        Console.WriteLine("Enter Employee info:");
                        p = new Employee();
                        p.Input();
                        PersonelList.Add(p);
                        break;
                    case "Worker":
                        Console.WriteLine("Enter Worker info:");
                        p = new Worker();
                        p.Input();
                        PersonelList.Add(p);
                        break;
                    case "Chief":
                        Console.WriteLine("Enter Chief info:");
                        p = new Chief();
                        p.Input();
                        PersonelList.Add(p);
                        break;
                    case "Default":
                        Console.WriteLine("Enter Personel info:");
                        p = new Personel();
                        p.Input();
                        PersonelList.Add(p);
                        break;
                }
            }
        }

        public static void SearchByName()
        {
            if (PersonelList.Count == 0)
            {
                return;
            }
            Console.WriteLine("Enter name to search:");
            string Name = Utility.ReadLetters();
            int count = 0;
            foreach (Personel p in PersonelList){ 
                if (p.Name.Equals(Name))
                {
                    p.Display();
                    count++;
                }
            }
            if (count == 0)
            {
                Console.WriteLine("No results match with name");
            }
        }
        public static void Display()
        {
            if (PersonelList.Count == 0)
            {
                return;
            }
            foreach (Personel p in PersonelList)
            {
                p.Display();
            }
        }
        public static void Main()
        {
            PersonelManager.ShowMenu();
        }
    }
}


#Utility.cs


using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace OfficerManager.Utils
{
    public class Utility
    {
        public static int ReadInt()
        {
            string str = Console.ReadLine();
            bool check()
            {
                try { int.Parse(str); } catch (Exception) { return false; }
                return true;
            }
            while (!check())
            {
                Console.WriteLine("Cannot parse input like a floor numeric value");
                str = Console.ReadLine();
            }
            return int.Parse(str);
        }
        public static DateTime ReadDate()
        {
            string str = Console.ReadLine();
            DateTime date = new DateTime();
            bool check()
            {
                int ERR = 0;
                try { date = DateTime.Parse(str); } catch (Exception) { ERR++; }
                try { if (ERR == 1) date = Convert.ToDateTime(str); } catch (Exception) { ERR++; }
                if (ERR == 2)
                {
                    return false;
                }
                return true;
            }
            while (!check())
            {
                Console.WriteLine("Cannot read DateTime from input");
                str = Console.ReadLine();
            }
            return date;
        }
        public static string ReadLetters()
        {
            string str = Console.ReadLine();
            while (!Regex.Match(str, "^([a-zA-Z]+|[a-zA-Z]+\\s[a-zA-Z]+)*$").Success)
            {
                Console.WriteLine("Input does not only contain letters");
                str = Console.ReadLine();
            }
            return str;
        }
    }
}


Phân Loại Bài Viết

Đã sao chép!!!