Xây dựng chương trình Quản lý nhân sự - Pdf 14

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ó

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");
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
5
Các thư viện cần dùng trong chương trình là:
#include <stdio.h>
#include <dos.h>
#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ự

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ự:
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ự.
7
Chọn 5 để sắp xếp danh sách Nhân sự theo các trường.
Chọn 6 để Thống kê.
8
PHẦN V: KẾT LUẬN
Đây là chương trình được em thực hiện sau 1 tháng, chương trình đã đáp ứng được
các chức năng cơ bản của 1 chương trình Quản lý nhân sự. Áp dụng những kiến thức đã
học, em đã xây dựng chương trình này, tuy nhiên chương trình vẫn còn một số hạn chế, và
sai sót. Chương trình được viết thành các thủ tục tuy nhiên còn nhiều phần bị lặp lại do
chưa tối ưu được cấu trúc của chương trình. Phương hướng của sắp tới của em là tối ưu
hóa chương trình,phát triển chương trình hoàn hảo hơn.
Chương trình được hoàn thành với sự giúp đỡ nhiệt tình của GS.TS.Phạm Văn Ất.
Cũng nhân dịp này em xin cảm ơn tới thầy hướng dẫn của mình và các bạn đã giúp đỡ em
hoàn thành chương trình.
.
9
PHỤ LỤC
Mã nguồn của chương trình
void Menu()//Menu chinh' cua chuong trinh
{

first = NULL;
last = NULL;
f1 = fopen("data","a+b");
if(f1==NULL)
{
printf("\nI/O Error");
exit(1);
}
i = 0;
clrscr();
n = 0;
do
10
{ printf("\n\t\t\tNhap moi Nhan Su");
NStmp = (struct NhanSu *)malloc(sizeof(struct NhanSu));
fflush(stdin);
printf("\n\n\t Nhap thong tin nguoi thu %d:\n\n",i + 1);
fflush(stdin);
printf("\t%-10s","Ho va Ten:");gets(NStmp->sHoTen);
printf("\t%-10s","Nam Sinh:");
scanf("%d",&NStmp->iNamSinh);
fflush(stdin);
printf("\t%-10s","Don Vi:");
gets(NStmp->sDonVi);
printf("\t%-10s","Nam len luong:");
scanf("%d",&NStmp->iNamLenLuong);
fflush(stdin);
printf("\t%-10s","Hoc Vi:");gets(NStmp->sHocVi);
printf("\t%-10s","Muc Luong:");
scanf("%lu",&NStmp->iMucLuong);

switch(c1)
{
case 73:if(NStmp2!=NULL)
{
clrscr();
tg1 = NStmp2;
NStmp2 = NStmp2->prev;
if(NStmp2==NULL)NStmp2 = tg1;
printf("\n\t\tHo va Ten:%s",NStmp2-
>sHoTen);
printf("\n\t\tNam Sinh:%d",NStmp2-
>iNamSinh);
printf("\n\t\tDon Vi:%s",NStmp2-
>sDonVi);
printf("\n\t\tNam Len Luong:
%d",NStmp2->iNamLenLuong);
printf("\n\t\tHoc Vi:%s",NStmp2-
>sHocVi);
printf("\n\t\tMuc Luong:
%lu",NStmp2->iMucLuong);
printf("\n\n\t\tSua thong tin(bam phim
's')");
printf("\n\n\t\tChen 1 ban ghi vao sau
ban ghi nay(bam phim 'c')");
printf("\n\n\t\tXoa ban ghi nay(bam
phim 'x')");
printf("\n\n\t\tTro lai Menu
chinh(bam phim 't')");
}
;break;

printf("\n\t%-10s","Ho va
Ten:");gets(NStmp2->sHoTen);
printf("\t%-10s","Nam
Sinh:");
scanf("%d",&NStmp2-
>iNamSinh);
fflush(stdin);
printf("\t%-10s","Don Vi:");
gets(NStmp2->sDonVi);
printf("\t%-10s","Nam len
luong:");
scanf("%d",&NStmp2-
>iNamLenLuong);
fflush(stdin);
printf("\t%-10s","Hoc
Vi:");gets(NStmp2->sHocVi);
printf("\t%-10s","Muc
Luong:");
scanf("%lu",&NStmp2-
>iMucLuong);
printf("Da sua xong ! Bam Pg
up Pg Dn de xem tiep");
break;
case 99:
Q = calloc(1,sizeof(struct
NhanSu));
fflush(stdin);
13


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status