程序设计课程设计报告.docx

上传人:b****6 文档编号:2999024 上传时间:2022-11-17 格式:DOCX 页数:18 大小:279.30KB
下载 相关 举报
程序设计课程设计报告.docx_第1页
第1页 / 共18页
程序设计课程设计报告.docx_第2页
第2页 / 共18页
程序设计课程设计报告.docx_第3页
第3页 / 共18页
程序设计课程设计报告.docx_第4页
第4页 / 共18页
程序设计课程设计报告.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

程序设计课程设计报告.docx

《程序设计课程设计报告.docx》由会员分享,可在线阅读,更多相关《程序设计课程设计报告.docx(18页珍藏版)》请在冰豆网上搜索。

程序设计课程设计报告.docx

程序设计课程设计报告

 

程序设计课程设计报告

 

设计题目:

人事管理信息系统

姓名:

唐家维

学号:

200810312098

班级:

信息083

同组人员:

顾婵媛(72)

 

报告日期:

年月日

目录

1引言1

1.1选题背景1

1.2需求分析1

1.3开发环境2

2.功能设计2

2.1功能结构图2

2.2模块设计3

3.数据结构设计3

4.详细设计5

4.1程序结构图5

4.2各模块功能7

5.调试分析18

6.小结19

参考文献19

1引言

1.1选题背景

管理信息系统在强调管理,强调信息的现代社会中已变得越来越普及。

它涉及了管理科学、信息技术和计算机技术。

人事信息的管理是企事业单位的必要管理内容。

企业的规模越大,所要管理的人员越多,人事管理就越复杂。

随着信息技术的发展,传统的人事信息管理模式已经落伍,人们需要从繁琐的手工操作中解放出来。

由于人事信息比较复杂,手工操作可能导致错误较多、工作效率不高。

因此应用计算机技术实现人事信息的管理是可行而必要的工作,利用人事管理信息系统既能够提高工作效率,又可以提高工作水平。

……

1.2需求分析

本人事管理信息系统将用户分为两大类-管理者和普通员工,普通员工可以查看、修改自己的信息并完成考勤和请假的操作。

管理者除了这些基本的功能还能对数据库进行统计和账户管理。

人事管理信息系统应该实现以下主要功能:

1.建立和维护

员工基本信息、考勤信息、调动信息的增、删、修改;

2.查询

(1)根据编号或姓名查询员工基本信息

(2)根据员工的编号以及时间(年、月)查询考勤信息

(3)根据员工的编号查询调动信息。

3.统计

(1)统计某个职工的出勤情况信息;

(2)按某年某月某日统计查询某部门的迟到人数;

1.3开发环境

操作系统:

WindowsXP;

开发语言:

C++;

IDE:

VC6.0。

2.功能设计

2.1功能结构图

根据系统的功能分析,系统针的功能结构图如图1所示:

图1系统的功能结构图

 

2.2模块设计

1.基本信息管理

输入:

员工的编号、姓名、性别、进入本单位时间

输出:

员工基本信息文件

修改:

修改员工信息的各项字段

处理:

将员工的基本信息添加到员工基本信息文件中。

2.基本考勤信息管理

输入:

添加员工上下班及请假的时间。

输出:

员工基本考勤信息查询结果视图。

处理:

将考勤时间记录到数据库中。

3.基本员工账户信息管理

输入:

员工ID、登录密码、管理权限、上次登录时间

4、数据库管理

将内存中的信息备份到磁盘中或将磁盘中的信息写入内存

3.数据结构设计

根据系统的需求分析,员工基本信息、考勤信息、调动信息、账户信息应该分别保存各自的类体中,每个类的具体数据及结构有:

 

数据结构概况:

1、员工基本信息类

编号:

intId

姓名:

CStringName

性别:

CStringSex

进入本单位时间:

time_t_In

所在部门:

CStringOri_Depart

2、员工考勤信息类

上下班时间:

time_t_In

time_t_Out

迟到次数:

intLate_Num

早退次数:

intEarly_Num

请假天数:

intLeave_Num

假期开始时间:

vectorLeave_Date

3、 员工调动信息类

原部门:

CStringOri_Depart

新部门:

CStringNew_Depart

调入时间:

time_t_In

4、员工账户类

员工ID:

intId

登录密码:

CStringPassword

管理权限:

boolType

上次登录时间:

time_tPre

4.详细设计

4.1程序结构

1、本人负责了欢迎模块、用户具体操作界面(参数修改模块、考勤信息显示模块、考勤请假操作模块、统计信息显示模块)、退出模块。

下面主要介绍这几个模块的详细设计。

数据结构:

(1)classStaff_Manage//总数据库

数据成员:

vectoremp//员工链表

成员函数:

intStaff_Search();//搜索员工

voidStaff_Emp_Register();//员工注册

Emp&Get_Emp();//返回员工链表

intGet_Emp_Num();//返回员工总数

(2)classEmp//单个员工信息

数据成员:

Emp_Infoemp_Info;//基本信息

Emp_CheckInemp_CheckIn;//考勤信息

Accountaccount;//账户信息

成员函数:

Emp_Info&Get_Emp_Info();//返回基本信息

Emp_CheckIn&Get_Emp_CheckIn();//返回考勤信息

Account&Get_Account();//返回账户信息

(3)classEmp_Info//员工基本信息类

数据成员:

intId;

CStringName;

CStringSex;

vectordepart_Change;

成员函数:

boolEmp_Info_Change();//员工信息修改

voidEmp_Info_Depart_Change();//员工部门调动

intGet_Id();//返回

CString&Get_Name();

CString&Get_Sex();

CString&Get_ComeDay();

int&Get_Change_Times();

Depart_Change*Get_Depart_Change();//返回部门调动信息

voidPush_Depart_Change();//为链表增加节点

(4)classEmp_CheckIn//签到请假等操作

数据成员:

vectorcheck_In_Out;//签到信息链表

intLate_Num;//迟到次数

intEarly_Num;//早退次数

intLeave_Num;//请假次数

vectorLeave_Date;//迟到时间

成员函数:

boolCheckIn();//上班签到

boolCheckOut();//上班签到

boolLeave();//请假

Check_In_Out*Get_Check_In_Out();

voidPush_Check_In_Out();//增加签到信息链表节点

int&Get_Late_Num();

int&Get_Early_Num();

int&Get_Leave_Num();

time_t*Get_Leave_Date();

voidPush_Leave_Date();//增加请假时间链表节点

int&Get_Emp_CheckIn_j();

intGet_Check_In_Out_Num();

intGet_Leave_Date_Num();

(5)classAccount//账户类

数据成员:

intId;

CStringPassword;

boolType;//权限

time_tPre;//上次登录时间

成员函数:

boolRenew_Password();//修改密码

voidRenew_Id();//修改ID

boolCheck();//密码验证

int&Get_Id();

bool&Get_Type();

CString&Get_Password();

time_t&Get_pre();

4.2各模块功能

2、欢迎模块

欢迎界面实现了信息从磁盘到内存的转换

关键步骤及其解释:

(1)pf=fopen("d:

//Staff_Manage.txt","at+");

在D盘上打开或新建一个文本文档

(2)char*readuntill(FILE*pf,charp)

从文件指针pf向后顺序抽取字符知道遇到字符p并返回该字符串

(3)charnextchar(FILE*pf,intp)

返回文件指针pf后第p个字符

(4)Staff_Emp_Register(Id,Name,Sex,ComeDay,"00",0);

将文件上的信息作为链表的一个节点保存

2、注册模块

该模块完成新增员工信息的收集

关键步骤及其解释:

(1)UpdateData(TURE);

将编辑框内的数据赋值给相关联变量

(2)if(m_ID==0)

MessageBox("ID不得为0!

");

elseif(m_R==-1)

MessageBox("请选择您的权限!

");

elseif(m_Sex==-1)

MessageBox("请选择您的性别!

");

elseif(m_Name=="")

MessageBox("请输入您的姓名!

");

elseif(m_PassWord=="")

MessageBox("请输入您的密码!

");

elseif(m_Depart=="")

MessageBox("请输入您的部门!

");

检测到数据未填写完整并给予警告

(3)m_ID=0;

m_Name=_T("");

m_PassWord=_T("");

//m_Comeday=_T("");

m_Depart=_T("");

m_R=-1;

m_Sex=-1;

UpdateData(FALSE);

如果注册通过则清除编辑框上信息,防止信息泄露

(4)elseif((Dlgs->Staff_Search(m_ID)!

=10000))

MessageBox("该账号已被注册!

");

防止注册两个相同的ID

3、登录模块

登录模块完成ID权限的识别和密码校验

关键步骤及其解释:

(1)if(Dlgs->Staff_Search(m_ID)==10000)

MessageBox("没有此ID");

检验输入的ID是否存在

(2)Staff_Emp_Check()

检验口令是否匹配

(3)Right0_Dlg.ID=My_ID;

Right0_Dlg.DoModal();

将ID号赋值给对话框下的变量,并弹出对话框

4、用户具体操作界面

*由于管理者用户界面是普通员工用户界面的超集,所以这里只介绍管理者用户界面。

*管理者用户界面分为以下六大模块,并一一介绍

(1)参数修改模块

(2)考勤信息显示模块

(3)考勤请假操作模块

(4)基本信息显示模块

(5)统计信息显示模块

(6)账号注销模块

(1)参数修改模块

主要完成对更新后的信息的保存

关键步骤及其解释:

(1)SetDlgItemTex

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1