c语言课程设计人事部门,C语言课程设计人事管理系统

《C语言课程设计人事管理系统》由会员分享,可在线阅读,更多相关《C语言课程设计人事管理系统(36页珍藏版)》请在人人文库网上搜索。

1、C语言课程设计人事管理系统 题目要求:人事管理管理系统要求某高校主要人员有:在职人员(行政人员、教师、一般员工)、退休人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。其中,人员编号唯一,不能重复。(1) 添加删除功能:能根据学院人事的变动情况,添加删除记录;(2) 查询功能:能根据编号和姓名进行查询;(3) 编辑功能(高级):根据查询对相应的记录进行修改,并存储;(4) 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数(硕士学位以上或者副教授以上),统计要求同时显示被。

2、统计者的信息;(5) 排序功能:按照年龄、来院时间进行排序;(6) 保存功能:能对输入的数据进行相应的存储;一、 需求分析:根据题目要求,职工信息是存放在文件中的,所以应该提供相应的文件的输入输出的功能,在程序中应该有添加删除,查询,编辑,统计,排序,保存等程序实现相应的操作,另外菜单式的选择方式选择程序的功能也是必须需的。另外程序中要求存储的模块,采用的方式均为将原文件中的所有数据读入内存,在内存中处理之后以覆盖的方式写入文件存贮,这样的方法在一定程度上提高了对数据处理的灵活性,较容易理解,但存在处理中遇到以外情况而丢失数据的风险,另外当文件中的数据量很大时,这种方法也存在一定的难度,在本程。

3、序中将N定为100,基本上能满足要求;二、 总体设计:根据以上需求分析,将程序分成以下几个模块:1、 新建数据文件(build new data);2、 添加记录(add data);3、 删除记录(delete data);4、 按工号搜索(search by number);5、 按姓名搜索(search by name);6、 浏览全部数据(browse all);7、 修改数据(modify the data);8、 排序功能(order the volume);9、 统计功能(data a volume);系统功能模块图如下:三、 详细设计;1、 主函数:1需求分析:为使系统执行完每。

4、部分功能后能够方便的回到系统主界面,main()函数设计的较简单,只包含一个menu()函数,其余的全部功能都通过menu()函数调用来实现,并通过menu()函数的递归调用实现返回主界面的功能。main()函数定义如下:main() menu();而menu()定义如下:2流程图:menu() int n,w1;doprintf(nttttMENUn);printf(tt0tbuild new datann);printf(tt1tdelete datann);printf(tt2tadd datann);printf(tt3tsearch by numbernn);printf(tt4ts。

5、earch by namenn);printf(tt5tbrowse allnn);printf(tt6tmodify the datann);printf(tt7torder the volumenn);printf(tt8tdata a volumenn);printf(tt9texitnn);printf(tplease choice and enter a number bb);scanf(%d,&n);if(n8)w1=1;getchar();else w1=0;while(w1=1);switch(n)case 0:build();break; /*调用新建数据文件函数*/case。

6、 1:del();break; /*调用删除数据函数*/case 2:add();break; /*调用添加数据函数*/case 3:snum();break; /*调用按工号搜索函数*/case 4:sname();break; /*调用按姓名搜索函数*/case 5:browse();break; /*调用浏览数据函数*/case 6:modify();break; /*调用修改数据函数*/case 7:order();break; /*调用排序函数函数*/case 8:data();break; /*调用统计函数*/case 9:exit(0); /*退出*/default:printf。

7、(input error! please input a number between 0 and 8);menu();2、各功能模块设计:(1)、新建数据文件模块:、数据结构;看各个数据信息,编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别,均为字符串类型,在文件中以文本形式存放,每条记录对应一个人员的信息,可以方便信息的管理;而数据读进内存中时,可以以结构体的形式,每一个结构体包含了一个人员的全部信息,多的人员的信息组成了一个结构体数组。定义如下:struct workerchar num11;char name10;char sex2;char age。

8、3;char zhiwu15;char zhicheng15;char zhengzhi15;char xueli15;char renzhisj8;char laiyansj8;char leibie15;wkN,s;其中N是宏定义形式定义的字符,临时定义为100,wkN,为存放人员信息的结构体数组,而S为临时的结构体,用来保存信息处理过程中的临时数据。2、流程图如下:3、程序:build() int i,m,k,p;FILE *fp;if(fp=fopen(worker00.txt,w)=NULL)printf(can not build filen);printf_back();prin。

9、tf(how many workers do you want to input(0-%d)?:,N);scanf(%d,&m);k=m;for(i=0;inntt1tNO.ntt2tnamentt3tsexntt4tagentt5tzhiwuntt6tzhichengntt7tzhengzhimianmaontt8txuelintt9trenzhishijianntt10tlaiyuanshijianntt11trenyuanleibiennttt bb);scanf(%d,&c);if(c11|c11|cstruct workerchar num11;char name10;char se。

10、x2;char age3;char zhiwu15;char zhicheng15;char zhengzhi15;char xueli15;char renzhisj8;char laiyansj8;char leibie15;wkN,s,h;menu() /*菜单函数*/int n,w1;doprintf(nttttMENUn);printf(tt0tbuild new datann);printf(tt1tdelete datann);printf(tt2tadd datann);printf(tt3tsearch by numbernn);printf(tt4tsearch by na。

11、menn);printf(tt5tbrowse allnn);printf(tt6tmodify the datann);printf(tt7torder the volumenn);printf(tt8tdata a volumenn);printf(tt9texitnn);printf(tplease choice and enter a number bb);scanf(%d,&n);if(n8)w1=1;getchar();else w1=0;while(w1=1);switch(n)case 0:build();break;case 1:del();break;case 2:add(。

12、);break;case 3:snum();break;case 4:sname();break;case 5:browse();break;case 6:modify();break;case 7:order();break;case 8:data();break;case 9:exit(0);default:printf(input error! please input a number between 0 and 8);menu();build() /*新建文件*/int i,m,k,p;FILE *fp;if(fp=fopen(worker00.txt,w)=NULL)printf(。

13、can not build filen);printf_back();printf(how many workers do you want to input(0-%d)?:,N);scanf(%d,&m);k=m;for(i=0;i9)printf(Input error!Only be made up of (0-9).Please input again!nn);w1=1;break;if(w1!=1)for(k=0;kn;k+)if(k!=i&strcmp(wkk.num,wki.num)=0)printf(this record is exit.please input again!。

14、nn);w1=1;break;while(w1=1);printf_back() /*函数printf_back*/int w;printf(nntsuccessful.nn);printf(What do you want to do ?nntt1tBrowse all nownntt2tbacknntt bb);scanf(%d,&w);if(w=1)browse();else menu();browse() /*浏览函数*/int i,j,n;n=load();printf_face();for(i=0;i=n;i+)for(i=0;i=n;i+)if(i!=0)&(i%10=0)pri。

15、ntf(nnRemember the No.which need modify.npress any key to continue.);getch();puts(nn);printf(tThere are %d record.n,n+1);printf(press any key to continue.);getch();menu();printf_face() /*显示数据结构*/printf(numbertnametsextagetzhiwutzhichengtzhengzhitxuelitrenzhisjtlayuanshijiantleibien);printf_one(int I。

16、) /*显示一个记录*/printf(%st%st%1st%st%st%st%st%st%st%st%sn,wki.num,wki.name,wki.sex,wki.age,wki.zhiwu,wki.zhicheng,wki.zhengzhi,wki.xueli,wki.renzhisj,wki.laiyansj,wki.leibie);save(int n /*保存函数*/FILE *fp;int i;if(fp=fopen(worker00.txt,w+)=NULL)printf(nttcannot open filen);return NULL;for(i=0;in;i+);if(wki.num!=0)if(fprintf(fp,%st%st%1st%st%st%st%st%st%st%st%sn,wki.num,wki.name,wki.sex,wki.age,wki.zhiwu,wki. zhicheng,wki.zhengzhi,wki.xueli,wki.renzhisj,wki.laiyansj,wki.leibie)!=1)printf(nfile write errorn);fclose(fp);modify() /*编辑修改函数*/int i,n,k,p,w0=1,w1,w2=0;FILE *fp;n=lo。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值