课程设计人事信息管理系统Word格式.docx

上传人:b****3 文档编号:16373260 上传时间:2022-11-23 格式:DOCX 页数:18 大小:47.71KB
下载 相关 举报
课程设计人事信息管理系统Word格式.docx_第1页
第1页 / 共18页
课程设计人事信息管理系统Word格式.docx_第2页
第2页 / 共18页
课程设计人事信息管理系统Word格式.docx_第3页
第3页 / 共18页
课程设计人事信息管理系统Word格式.docx_第4页
第4页 / 共18页
课程设计人事信息管理系统Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

课程设计人事信息管理系统Word格式.docx

《课程设计人事信息管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《课程设计人事信息管理系统Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

课程设计人事信息管理系统Word格式.docx

成员名

数据类型

含义

sno

int

编号

2

name

string

姓名

3

birthday

出生时间

4

Adate

参工时间

5

salary

double

工资

6

sex

性别

7

age

参工年龄

8

flag

bool

记录修改标志

9

sm[100]

Staff

记录数组

(二)主程序的流程

(三)各程序模块的功能

voidStaffClear(SList&

slist);

//清空职工记录

voidStaffInsert(SList&

//插入职工记录

voidStaffDelete(SList&

//删除职工记录

voidStaffFind(SList&

//查找某编号的职工记录

voidStaffView(SList&

//显示所有职工的记录

voidStaffInit(SList&

//初始化职工数据

voidStaffXG(SList&

//修改职工数据

voidStaffSave(SList&

//将数据保存到文件

intSearch(SList&

slist,intsno);

//查找编号为sno的职工,返回记录元素的下标

voidExit(SList&

//退出程序

三、程序实现思路

(1)设计菜单实现功能

(2)设计类与对象

structStaff

{

intsno;

//编号

intage;

intbirthday,Adate;

doublesalary;

stringsex;

stringname;

//姓名

};

structSList

intcount;

//职工人数

boolflag;

//记录修改标志,false-没改变,true-已改变

Staffsm[100];

//记录数组

(3)通过类的调用实现功能设计

case'

1'

:

StaffInsert(slist);

break;

case'

2'

StaffView(slist);

3'

StaffFind(slist);

4'

StaffXG(slist);

5'

StaffDelete(slist);

6'

StaffSave(slist);

7'

StaffClear(slist);

0'

Exit(slist);

default:

cout<

<

"

输入错误!

;

四、设计总结

经过了几周的摸索与探讨,终于在老师和同学的帮助下完成了这次的课程设计,又完成了一次挑战,从中学到了很多。

知道了只要坚持就会有收获,只要付出就会成功。

对我而言,这次课程设计并不是那么容易完成的,不过我还是努力的去做,遇到不懂的就问同学、查资料等等,终于有了这次的成果,虽然不是很完美,但却还是很欣慰的。

此次课程设计使我更好的理解了所学过的知识,进一步学习和了解了对程序的设计和编写,从中体会到了面向对象程序设计的便利。

懂得了在进行编写程序之前,要有明确的目标和整体的设计思想,对整个程序的框架结构的思考是十分重要和关键的。

另外还需注意细节,往往被我们所忽视的细节部分成了是否成功的关键。

从中我也发现了自己还有许多的不足之处,比如说书本上的知识

都不是很熟悉,也没有仔细的去看,很多细节部分也没注意,导致在编程过程中出现了许多的差错。

虽然这次编程中还有参考程序,使编程难度下降了很多,但我依然花费了不少时间,这让我感到很不满意。

同时也感到自己在这门课程上下的功夫还不足。

下定决心以后要好好学习,尽努力自己最大的把该门课程学好。

五、参考文献

1)谭浩强《C++程序设计》清华出版社2007,5

六、源代码

人事信息管理系统程序

staff.h

#ifndefSTAFF_H_INCLUDED

#defineSTAFF_H_INCLUDED

usingnamespacestd;

#endif//STAFF_H_INCLUDED

Menu.h

#ifndefMENU_H_INCLUDED

#defineMENU_H_INCLUDED

#include"

staff.h"

voidShowMenu();

voidShowTip();

voidDoMenu(charn,SList&

#endif//MENU_H_INCLUDED

Staff.cpp

#include<

fstream>

iostream>

iomanip>

#include"

slist)//初始化职工数据

ifstreaminfile("

data.txt"

);

slist.count=0;

//职工改变标志置false

if(!

infile)

cerr<

错误:

数据文件不能打开!

\n"

else

{

infile>

>

slist.count;

//读入职工人数

for(inti=0;

i<

i++)//读取职工数据

slist.sm[i].sno>

slist.sm[i].name>

slist.sm[i].sex>

slist.sm[i].salary>

slist.sm[i].birthday>

slist.sm[i].Adate>

slist.sm[i].age;

}

infile.close();

//关闭文件

}

slist)//清空职工记录

//职工人数清0

slist.flag=true;

//数据已修改

slist)//插入职工记录

intsno=0,n=-1,birthday=0,Adate=0;

doublesalary=0;

stringname,sex;

cin.sync();

//清空输入缓冲区

请输入编号:

cin>

sno;

请输入姓名:

name;

请输入性别:

sex;

请输入职工工资:

salary;

请输入出生年龄:

birthday;

请输入参工时间:

Adate;

if(sno<

0)

输入的编号有误,插入记录失败!

endl;

return;

//结束函数

10

n=Search(slist,sno);

//查找编号为sno的职工

if(n!

=-1)//已有该编号

该编号已存在,插入记录失败!

else//该编号不存在,执行数据插入操作

slist.sm[slist.count].sno=sno;

slist.sm[slist.count].name=name;

slist.sm[slist.count].sex=sex;

slist.sm[slist.count].salary=salary;

slist.sm[slist.count].birthday=birthday;

slist.sm[slist.count].Adate=Adate;

slist.sm[slist.count].age=Adate/10000-birthday/10000;

slist.count++;

成功插入一个职工信息!

slist,intsno)//查找编号为sno的职工,返回记录元素的下标

i++)

if(slist.sm[i].sno==sno)

returni;

return-1;

11

slist)//删除职工记录

intsno=-1,n=-1;

请输入要删除的职工的编号:

=-1)//找到该编号的记录,执行删除操作

for(inti=n;

slist.count-1;

slist.sm[i]=slist.sm[i+1];

slist.count--;

//职工人数减1

已成功删除该职工信息!

没有找到该职工的编号!

slist)//查找某编号的职工记录

if(slist.count==0)

没有职工记录!

12

请输入要查找的编号:

//找该编号的记录元素的下标

=-1)//找到,输出职工信息

setw(6)<

编号"

setw(12)<

姓名"

性别"

工资"

出生时间"

参工时间"

年龄"

slist.sm[n].sno<

slist.sm[n].name<

slist.sm[n].sex<

slist.sm[n].salary<

slist.sm[n].birthday<

slist.sm[n].Adate<

slist.sm[n].age<

没有找到编号为"

sno<

的职工记录!

slist)//显示所有职工的记录

Stafftemp;

if(slist.count!

=0)//职工数不为0则执行排序操作

i++)//冒泡排序

for(intj=i;

j<

j++)

if(slist.sm[j].sno>

slist.sm[j+1].sno)

13

temp=slist.sm[j];

slist.sm[j]=slist.sm[j+1];

slist.sm[j+1]=temp;

共有职工"

slist.count<

人"

slist.sm[i].sno<

slist.sm[i].name<

slist.sm[i].sex<

slist.sm[i].salary<

slist.sm[i].birthday<

slist.sm[i].Adate<

slist.sm[i].age<

slist)//将数据保存到文件

ofstreamoutfile("

//创建文件输出流

outfile)

outfile<

//写入职工人数

i++)//写入职工信息

"

14

slist.flag=false;

//数据修改标志置false

保存成功!

slist)

请输入你要修改的职工编号:

15

请输入参工年龄:

slist.sm[n].name=name;

slist.sm[n].sex=sex;

slist.sm[n].salary=salary;

slist.sm[n].birthday=birthday;

slist.sm[n].Adate=Adate;

slist.sm[n].age=Adate/10000-birthday/10000;

成功修改一个职工信息!

slist)//退出程序

charch='

Y'

if(slist.flag)//判断数据是否修改

数据已经改变,是否保存?

(y/n):

ch;

if(ch=='

y'

||ch=='

已安全退出,"

system("

pause"

//程序暂停,按任一键继续

16

exit(0);

Menu.cpp

menu.h"

voidShowMenu()

|------------------------------------------------|"

|职工信息管理系统|"

|1.数据录入|"

|2.数据浏览|"

|3.数据查询|"

|4.数据修改|"

|5.数据删除|"

|6.数据保存|"

|7.数据初始化|"

|0.安全地退出本系统|"

endl<

voidShowTip()

cout<

17

-------------------操作完成---------------------"

-----------------选择0-7继续-------------------"

请选择:

switch(n)

StaffD

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

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

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

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