Ngôn ngữ lập trình C là một ngôn ngữ mạnh, được các nhà tin học chuyên nghiệp cũng như các nhà lập trình nghiệp dư sử dụng để lập trình hệ thống, lập trình ứng dụng… Vì vậy nhu cầu học C là một nhu cầu tất yếu, nhất là các kỹ sư, các sinh viên của nhiều chuyên ngành khoa học và kỹ thuật khác nhau. Để giúp sinh viên hiểu rõ về ngôn ngữ này và nâng cao thêm kỹ năng lập trình của mình Khoa Công Nghệ Tin Học của Viện Đại Học Mở Hà Nội đã đưa ra các đề tài và giao cho sinh viên thực hiện trong kỳ thi tốt nhiệp. Em là Mai Anh Thắng được giao thực hiện đề tài Xây dựng chương trình Quản Lý Nhân Sự. Chương trình Quản Lý Nhân Sự là một trong những đề tài khá phổ biến với sự hướng dẫn nhiệt tình của GS.TS. Phạm Văn Ất, em đã hoàn thành chương trình này sau một tháng. Chương trình sau khi hoàn thành có những chức năng cơ bản sau:
Lời nói đầu Ngôn ngữ lập trình C là một ngôn ngữ mạnh, được các nhà tin học chuyên nghiệp cũng như các nhà lập trình nghiệp dư sử dụng để lập trình hệ thống, lập trình ứng dụng… Vì vậy nhu cầu học C là một nhu cầu tất yếu, nhất là các kỹ sư, các sinh viên của nhiều chuyên ngành khoa học và kỹ thuật khác nhau. Để giúp sinh viên hiểu rõ về ngôn ngữ này và nâng cao thêm kỹ năng lập trình của mình Khoa Công Nghệ Tin Học của Viện Đại Học Mở Hà Nội đã đưa ra các đề tài và giao cho sinh viên thực hiện trong kỳ thi tốt nhiệp. Em là Mai Anh Thắng được giao thực hiện đề tài Xây dựng chương trình Quản Lý Nhân Sự. Chương trình Quản Lý Nhân Sự là một trong những đề tài khá phổ biến với sự hướng dẫn nhiệt tình của GS.TS. Phạm Văn Ất, em đã hoàn thành chương trình này sau một tháng. Chương trình sau khi hoàn thành có những chức năng cơ bản sau: - Nhập mới Nhân Sự, ghi vào file. - Xem, sửa , xóa Nhân sự. - Sắp xếp. - Thống kê. 1 PHẦN I: NỘI DUNG BÀI TOÁN Nội dung chương trình: Xây dựng chương trình quản lý nhân sự gồm các chức năng: 1. Tạo mới một danh sách nhân sự. Dữ liệu mỗi nhân sự gồm: + Họ tên + Năm Sinh + Đơn vị + Năm lên lương + Học vị + Mức lương Chức năng tạo mới cho phép: Nhập mới một danh sách nhân sự. Trong khi nhâp có thể dùng các phím Page Down để xem và sửa dữ liệu của người trước, dùng phím Page Up để xem và sửa dữ liệu của người sau. Có thể xóa một người đang xem, có thể chèn vào trước một người đang xem, có thể bổ sung vào cuối danh sách đang soạn thảo, có thể ghi lên tệp. 2 2. Chức năng đọc dữ liệu nhân sự từ tệp. Sau khi đọc, người sử dụng có thể thực hiện các thao tác như chức năng tạo mới. 3. Chức năng khai thác gồm các chức năng con: 3.1. Sắp xếp danh sách nhân sự hoặc theo năm sinh, hoặc theo năm lên lương, hoặc theo mức lương(tùy theo sự lựa chọn của người sử dụng). Sau khi sắp xếp có thể dùng phím Page UP Page Down để xem kết quả. Kết quả có thể ghi hoặc không ghi lên tệp(theo sự lựa chọn của người sử dụng) 3.2. Thống kê danh sách những người đủ thời hạn lên lương theo từng đơn vị. Cho hiện bản thống kê lên màn hình, sau đó có thể in ra máy nếu muốn. 3.3. Thống kê những người trong vòng 2 năm tới sẽ về hưu theo từng đơn vị. Kết quả thống kê có thể hiện lên màn hình và in (như mục 3.2)/ Ngôn ngữ thực hiện: turbo C PHẦN II: THIẾT KẾ CHỨC NĂNG 3 Sau khi nghiên kỹ đề tài, em đã vạch ra được một phương hướng thiết kế chương trình như sau: Một số giao diện của chương trình: Quản lý nhân sự Thêm, Sửa ,Xóa, Nhân Sự Sắp xếp Thống Kê Ghi FileIn ra máy 4 5 PHẦN III: THIẾT KẾ DỮ LIỆU Dữ liệu của chương trình: Chương trình có sử dụng các loại dữ liệu là : - Cấu trúc. - Tệp tin nhị phân. - Danh sách liên kết. Dữ liệu về nhân sự: struct NhanSu { char sHoTen[25],sDonVi[25],sHocVi[15]; int iNamSinh,iNamLenLuong; unsigned long iMucLuong; struct NhanSu *next; //con trỏ chứa địa chỉ của phần tử Nhân sự sau. struct NhanSu *prev; //con trỏ chứa địa chỉ của phần tử Nhân sự trước. } ; FILE *f1; f1 = fopen("data","a+b"); 6 Dữ liệu sẽ được lưu vào tệp tin nhị phân có tên là “Data”. Tệp tin có thể được sinh ra khi chạy chương trình lần đầu tiên. Chương trình có 2 cách nhập dữ liêu: - Nhập đến đâu ghi vào tệp luôn. - Nhập vào danh sách liên kết rồi thao tác trên danh sách liên kết, sau đó ghi vào tệp. Chương trình có sử dụng các thuật toán như: sắp xếp, thao tác với danh sách liên kết cấu trúc các bản ghi. PHẦN IV: THIẾT KẾ MODULE CHƯƠNG TRÌNH Các thư viện cần dùng trong chương trình là: #include <stdio.h> #include <dos.h> 7 #include <conio.h> #include <alloc.h> #include <string.h> #include <stdlib.h> Chương trình được tổ chức thành các hàm: void Menu(); //Thủ tục gọi Menu của chương trình void NhapMoi(); //Thủ tục thực hiện việc nhập mới Nhân Sự void DSNhanSu(); //Thủ tục liệt kê danh sách các Nhan Sự void Sua(); //Thủ tục sửa thông tin Nhân Sự void Sapxep(); //Thủ tục sắp xếp danh sách Nhân Sự theo các trường void ThongKe(); //Thủ tục Thống kê Nhân Sự void main() //Hàm chính của chương trình { int iChon = 0; struct NhanSu objNhanSu; FILE *f1; while(iChon!=8) { clrscr(); Menu(); scanf("%d",&iChon); switch(iChon) { case 1: NhapMoi2(); break; case 2: Sua(); break; case 3: DocDuLieu();break; case 4: DSNhanSu(); break; case 5: Sapxep(); break; case 6: ThongKe(); break; default: break; 8 } } } PHẦN IV: CÀI ĐẶT VÀ HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH Chương trình gồm file QLNS.C được dịch thành 1 file QLNS.exe duy nhất. Sau khi chạy thì chương trình sẽ tạo ra một file tên là “Data” sẽ chứa dữ liệu về thông tin của Nhân sự. Sử dụng chương trình Chạy file QLNS.exe, giao diện đầu tiên là: Chọn 1: để nhập Danh sách Nhân Sự: 9 Sau khi nhập có thể dùng phím Page Up và Page Down để xem thông tin của Người trước và Người sau. Từ Menu Chọn 2 để sửa thông tin Nhân Sự Chọn 3 để đọc dữ liệu từ file từ đó có thể làm các thao tác như mục 1. Chọn 4 để liệt kê danh sách nhân sự. Chọn 5 để sắp xếp danh sách Nhân sự theo các trường. Chọn 6 để Thống kê. 10 . giao thực hiện đề tài Xây dựng chương trình Quản Lý Nhân Sự. Chương trình Quản Lý Nhân Sự là một trong những đề tài khá phổ biến với sự hướng dẫn nhiệt tình. Xem, sửa , xóa Nhân sự. - Sắp xếp. - Thống kê. 1 PHẦN I: NỘI DUNG BÀI TOÁN Nội dung chương trình: Xây dựng chương trình quản lý nhân sự gồm các chức năng: