Bài toán:
Viết chương trình quản lý nhân sự cho một công ty, mỗi nhân viên trong công ty
gồm cácthông tin sau: mã số(khôngcó hai người trùng mã số), họ, tên, ngày sinh, nơi
sinh, địa chỉ, ngày công tác, lương. Viết chương trình quản lý nhân viên với các thao
tác sau :
Thêm vào một nhân viên.
Xem danh sách nhân viên.
Tìm nhân viên theo mã số.
Tìm một nhân viên theo tên.
In ra bảng lương của các nhân viên trong công ty theo thứ tự giảm dần.
Xóa một nhân viên.
Xử lý bài toán:
Khai báo thư viện
Khai báo struct nhân viên
Khai báo các hàm cần sử dụng
Hàm ngày tháng năm sinh
Xuất ngày tháng năm
Hàm nhập 1 nhân viên
Hàm xuất 1 nhân viên
Hàm danh sach nhân viên
Đưa vòng lặp vào và gọi lại hàm nhập 1 nhân viên
Hàm xuất danh sách nhân viên
Đưa vòng lặp vào và gọi lại hàm xuất 1 nhân viên
Hàm thêm nhân viên
Khi thêm vào thì trước tiên cần nhập sinh viên đó vào thì chỉ cần gọi lại hàm nhap 1 nhân viên
Và nhập vào vị trí cần thêm
Lưu ý cần phải có: & để lưu lại và khi thêm vào thì phải xuất ra danh sách ( trong hàm main)
Hàm tìm nhân viên theo tên
Tên nhân viên cần tìm
Duyệt danh sách, dùng hàm strcmp trong thư viện string.h để kiểm tra 2 tên có trùng nhau hay không
Nếu bằng 0 thì tìm thấy, return lại vị trí tìm được, dùng lệnh break để thoát khỏi vòng lặp
Ngược lại thì tìm không thấy nhân viên có tên đã nhập -1
Hàm tìm mã số nhân viên
Mã số nhân viên cần tìm
Duyệt danh sách, nếu mã nhân viên bằng mã số cần tìm thì return lại ví trí tìm được, dùng lệnh break để thoát khỏi vòng lặp
Ngược lại thì return -1
Hàm sắp xếp lương giảm dần
Duyệt từ vị trí i=0 đến vị trí n-1, duyệt từ vị trí j=i +1 đến n
Nếu lương của vị trí i < lương vị trí j thì
float t=ds.a[i].luong;
ds.a[i].luong=ds.a[j].luong;
ds.a[j].luong=t;
Hàm xóa 1 nhân viên
Mã số nhân viên muốn xóa
Gọi lại hàm tìm mã số nhân viên
Nếu hàm tìm mã số nhân viên =-1 thì không tìm thấy nhân viên cần xóa
Ngược lại thì duyệt danh sach từ vị trí tìm được mã số đến hết danh sách
i=i+1 khi đó n-1
Chương trình
Mình chia sẽ code này đê các bạn tham khảo các vấn đề tương tự. Tuy nhiên các bạn nên tự làm lại, đừng nên copy. Nếu gặp vấn đề gì khó khăn, hoặc thắc mắc gì, các bạn có thể đặt câu hỏi ở cuối bài. Mình sẽ giải đáp.
Chúc các bạn thành công!
By Lê Công Danh
Không có nhận xét nào:
Đăng nhận xét