c语言课程设计人事管理系统.doc

上传人:土8路 文档编号:10398684 上传时间:2021-05-14 格式:DOC 页数:37 大小:71.50KB
返回 下载 相关 举报
c语言课程设计人事管理系统.doc_第1页
第1页 / 共37页
c语言课程设计人事管理系统.doc_第2页
第2页 / 共37页
c语言课程设计人事管理系统.doc_第3页
第3页 / 共37页
c语言课程设计人事管理系统.doc_第4页
第4页 / 共37页
c语言课程设计人事管理系统.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

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

1、湘 南 学 院C语言课程设计 课程:人事管理系统 姓名: 学号: 系别:计算机科学与技术 专业:计算机科学与技术 级别: 时间:2012年6月5日 目 录1成员分工表2系统功能分析3函数简介4系统流程图5原代码6各成员总结成员分工表姓名 学号 任务1程序输/插入函数部分设计,程序总体检验,课程封面设计以及成员任务安排2程序查询部分设计3程序删除部分设计 4负责登录页面,成员表格的制作 5注册页面代码的编写6负责程序浏览部分一、 系统功能分析 人事管理系统的主要任务是对人事档案进行整理,使得能方便快捷地对人事档案进行查询、统计、更新,并且能按一定要求输出报表。通过该系统,使企业的人事管理工作系统

2、化、规范化、自动化,从而提高企业人事管理的效率。 本系统分为如下的几大模块:档案查询,输入新员工的信息,删除员工信息和浏览员工信息。其中的主要模块包括:1、 主界面模块该模块提供管理系统的主界面,是主系统的唯一入口,该界面提供用户登陆和新用户的注册。 2、 查询模块该模块提供查询符合某一条件的人事档案的界面,其中包括两种查询方式,一种是按姓名查找,另一种是按职工号查找。3、输插入模块 该模块主要功能是输入新员工的信息。4、删除模块 该模块主要是删除员工的信息。5、 浏览模块该模块提供全部人事档案的界面。6、 退出系统二、函数简介 该系统运用了三个结构体数组和10个函数,结构体数组包括:deng

3、lu数组、yuefen1数组和worker数组,denglu数组中有两个元素:用户名username10和密码key5;yuefen1数组中只有一个元素:月份,而worker数组中包含有二十个元素:职工号gonghao,姓名 xingming20,应发工资yfgz,实发工资 sf,电费df,税金sj,性别sex4,职位position10,部门 department10,工作时间wokestate20,联系电话tel13,身份证号shenfenzheng20,银行卡号kahao10,QQ号码qq10,年龄age,邮箱email20,政治面貌plotical10,籍贯jiguan40,婚否ifm

4、arry5,住址address40,实发工资sfgz。函数包括:1.登陆界面函数 denglujiemian;2.读取函数 duqu;3.浏览函数 liulan;4.查询函数 chaxun;5.删除函数 shanchu;6.输入和插入函数 luru;7.登陆函数 load;8.实发工资计算函数 shifagongzi;9.个人所得税计算函数 shuijin;10.注册函数 zhuce三 、单位人事管理系统流程图注册 登陆主界面查询删除输/插入单个信息员工信息退出系统四、原代码简介#include#include#define N 100void denglujiemian();void loa

5、d();void zhuce(void);struct dengluchar username10;char key5;struct yuefen1int yuefen;struct worker int gonghao; char xingming20; float yfgz; float sf; float df; float sj; char sex4; char position10; char department10; char wokestate20; char tel13,shenfenzheng20,kahao10,qq10; int age; char email20; c

6、har plotical10; char jiguan40; char ifmarry5; char address40; float sfgz; struct yuefen1 m12; ;int ygsm;struct worker aN;float shuijin(float m) float shui1,shui2; float tmp; shui1=0;shui2=0;if(m=1500) shui1=(m-1500)*0.1; shui2=30;else if(m=1000 & m1500) shui2=(m-1000)*0.05; tmp=shui1+shui2;return(tm

7、p);float shifagongzi(float a,float b,float c,float d) float e=a-b-c-d; return(e);void denglujiemian(void) /登陆的主界面函数int i;printf( 欢迎使用湘南公司人事管理系统);printf(n n);printf( . 登陆系统 n);printf( n);printf( . 注册新用户 n);printf( n);printf( . 退出系统 n);printf( n);printf( =请选择功能数字编号=n);scanf(%d,&i);switch(i)case 1:load

8、();break;case 2:zhuce();break;default:printf(输入错误n);denglujiemian();void load(void) /登陆函数char a10,b5;struct denglu head10;FILE *fp;int c=1,i;if(fp=fopen(D:user.txt,r)=NULL)printf(不能打开文档n);denglujiemian();for(i=0;i1;i+)/fread(&headi,sizeof(struct denglu),1,fp); fscanf(fp,%s %s,headi.username,headi.ke

9、y);while(c) printf(用户名:);scanf(%s,a);printf(密码:);scanf(%s,b); for(i=0;i10;i+) if(strcmp(a,headi.username)=0)&(strcmp(b,headi.key)=0) printf(登陆成功!n); break; if(i= 10 )printf(n警告:用户名不存在或密码输入错误,请重新输入!nn);c=1;else c=0;fclose(fp);void zhuce() /注册新用户struct denglu p;FILE *fp;printf(请输入用户名,密码n);scanf(%s%s,p

10、.username,p.key);if(fp=fopen(D:user.txt,a)=0) printf(无法打开文件!n); denglujiemian(); fwrite(&p,sizeof(struct denglu),1,fp);printf(注册成功!n);fclose(fp);void duqu() FILE *fp; if(fp=fopen(D:员工信息.txt,r)=NULL) printf(无法读取文件); ;return; while(!feof(fp) fread(&aygsm,sizeof(struct worker),1,fp); ygsm+; void chaxun

11、() int b; int i; int j; label_3: b=0; while(b!=1&b!=2) printf(1,选择姓名查询.n2,选择工号查询.n); scanf(%d,&b); if(b=1) char c20; printf(请输入您的姓名:n); scanf(%s,c); i=0; while(!(strcmp(ai.xingming,c)=0)&i=1&d=500) printf(请输入您的工号(三位数字),例如:001n); scanf(%d,&d); i=0; while(ai.gonghao!=d&iygsm) i+; if(i=ygsm) printf(您查找

12、的名字不存在,请正确输入您的名字或用工号查询n); return; printf(%-10d %-20s n,d,ai.xingming); for(j=0;ai.mj.yuefen!=NULL;j+) printf(月份:%5d,姓名:%s,工号:%d,性别:%s,应发工资:%10.2f,水费:%7.2f,电费:%7.2f,税金:%7.2f,实发工资:%10.2f.n,ai.mj.yuefen,ai.xingming,ai.gonghao,ai.sex,ai.yfgz,ai.sf,ai.df,ai.sj,ai.sfgz); printf(籍贯:%s,通讯地址:%s,部门:%s,政治面貌:%s

13、,职位:%s,年龄:%d,联系号码:%d,婚姻状况:%s,工作地:%s,邮箱:%s,身份证号:%s,卡号:%s,QQ:%s.n,ai.jiguan,ai.address,ai.department,ai.plotical,ai.position,ai.age,ai.tel,ai.ifmarry,ai.wokestate,ai.email,ai.shenfenzheng,ai.kahao,ai.qq); b=0; while(b!=1&b!=2) printf(1,继续查询.n2,返回主菜单.n); scanf(%d,&b); if(b=1) goto label_3; else ;return

14、; void liulan() struct worker x; int c; int i; int j; int k; for(i=0;iygsm;i+) c=ai.gonghao; k=i; for(j=i+1;jaj.gonghao) c=aj.gonghao; k=j; x=ai; ai=ak; ak=x; for(i=0;iygsm;i+) printf(%-10d %-20s n,ai.gonghao,ai.xingming); for(j=0;ai.mj.yuefen!=NULL;j+) printf(月份:%5d,姓名:%s,工号:%d,性别:%s,应发工资:%10.2f,水费

15、:%7.2f,电费:%7.2f,税金:%7.2f,实发工资:%10.2f.n,ai.mj.yuefen,ai.xingming,ai.gonghao,ai.sex,ai.yfgz,ai.sf,ai.df,ai.sj,ai.sfgz); printf(籍贯:%s,通讯地址:%s,部门:%s,政治面貌:%s,职位:%s,年龄:%d,联系号码:%d,婚姻状况:%s,工作地:%s,邮箱:%s,身份证号:%s,卡号:%s,QQ:%s.n,ai.jiguan,ai.address,ai.department,ai.plotical,ai.position,ai.age,ai.tel,ai.ifmarry,

16、ai.wokestate,ai.email,ai.shenfenzheng,ai.kahao,ai.qq); for(i=0;i5;i+) printf(n); void shanchu() FILE *fp; int b; int c; int i; int j; label_4: printf(请输入要删除信息的工号:n); scanf(%d,&b); for(i=0;iygsm;i+) if(ai.gonghao=b) j=i; for(i=j+1;iygsm;i+) ai-1=ai; ygsm-; fp=fopen(D:工资信息.txt,w); for(i=0;i=1&b=1&d=50

17、0) printf(请输入您要录入员工的工号(三位数字),例如:001n); scanf(%d,&d); for(i=0;iygsm&ai.gonghao!=d;i+); if(ai.gonghao!=d) c=0; while(c!=1&c!=2) printf(没有该工号记录.n1 新建n2 返回上一级n); scanf(%d,&c); if(c=2) goto label_1; if(c=1) ai.gonghao=d; ai.mb.yuefen=b+1; printf(请输入姓名:n); scanf(%s,ai.xingming); printf(请输入性别: n); scanf(%s

18、,&ai.sex); printf(请输入籍贯: n); scanf(%40s,&ai.jiguan); printf(请输入通讯地址: n); scanf(%40s,&ai.address); printf(请输入部门: n); scanf(%s,&ai.department); printf(请输入政治面貌: n); scanf(%10s,&ai.plotical); printf(请输入职位: n); scanf(%s,&ai.position); printf(请输入年龄: n); scanf(%d,&ai.age); printf(请输入联系号码: n); scanf(%s,ai.t

19、el); printf(请输入婚姻状况: n); scanf(%s,ai.ifmarry); printf(请输入工作地: n); scanf(%s,ai.wokestate); printf(请输入邮箱: n); scanf(%20s,ai.email); printf(请输入此人该月的应发工资: n); scanf(%f,&ai.yfgz); printf(请输入此人该月所用水费: n); scanf(%f,&ai.sf); printf(请输入此人该月所用电费: n); scanf(%f,&ai.df); printf(请输入此人的身份证号:n); scanf(%20s,ai.shenf

20、enzheng); printf(请输入此人的银行卡号:n); scanf(%s,ai.kahao); printf(请输入此人的QQ号码:n); scanf(%s,ai.qq); ai.sj=shuijin(ai.yfgz); ai.sfgz=shifagongzi(ai.yfgz,ai.sf,ai.df,ai.sj); ygsm+; c=0; while(c!=1 & c!=2) printf(1 继续n2 返回主菜单n); scanf(%d,&c); if(c=1) goto label_1; if(c=2) goto label_2; else if(ai.mb.yuefen=b+1)

21、 c=0; while(c!=1 & c!=2) printf(已有该月记录n1 覆盖原有记录n2 返回上级n); scanf(%d,&c); if(c=1) printf(请输入姓名:n); scanf(%s,ai.xingming); ai.mb.yuefen=b+1; printf(请输入性别: n); scanf(%s,&ai.sex); printf(请输入籍贯: n); scanf(%40s,&ai.jiguan); printf(请输入通讯地址: n); scanf(%40s,&ai.address); printf(请输入部门: n); scanf(&s,&ai.departm

22、ent); printf(请输入政治面貌: n); scanf(%10s,&ai.plotical); printf(请输入职位: n); scanf(%s,&ai.position); printf(请输入年龄: n); scanf(%d,&ai.age); printf(请输入联系号码: n); scanf(%s,ai.tel); printf(请输入婚姻状况: n); scanf(%s,ai.ifmarry); printf(请输入工作地: n); scanf(%s,ai.wokestate); printf(请输入邮箱: n); scanf(%20s,ai.email); printf

23、(请输入此人该月的应发工资:n); scanf(%d,&ai.yfgz); printf(请输入此人该月所用水费:n); scanf(%d,&ai.sf); printf(请输入此人该月所用电费: n); scanf(%d,&ai.df); printf(请输入此人的身份证号:n); scanf(%20s,ai.shenfenzheng); printf(请输入此人的银行卡号:n); scanf(%s,ai.kahao); printf(请输入此人的QQ号码:n); scanf(%s,ai.qq); ai.sj=shuijin(ai.yfgz); ai.sfgz=shifagongzi(ai.

24、yfgz,ai.sf,ai.df,ai.sj); while(c!=1 & c!=2) printf(1 继续n2 返回主菜单n); scanf(%d,&c); if(c=1) goto label_1; if(c=2) goto label_2; else goto label_1; if(ai.mb.yuefen=NULL) ai.mb.yuefen=b+1; printf(请输入姓名:n); scanf(%s,ai.xingming); ai.mb.yuefen=b+1; printf(请输入性别: n); scanf(%s,&ai.sex); printf(请输入籍贯: n); sca

25、nf(%40s,&ai.jiguan); printf(请输入通讯地址: n); scanf(%40s,&ai.address); printf(请输入部门: n); scanf(&s,&ai.department); printf(请输入政治面貌: n); scanf(%10s,&ai.plotical); printf(请输入职位: n); scanf(%s,&ai.position); printf(请输入年龄: n); scanf(%d,&ai.age); printf(请输入联系号码: n); scanf(%s,ai.tel); printf(请输入婚姻状况: n); scanf(%

26、s,ai.ifmarry); printf(请输入工作地: n); scanf(%s,ai.wokestate); printf(请输入邮箱: n); scanf(%20s,ai.email); printf(请输入此人该月的应发工资:n); scanf(%f,&ai.yfgz); printf(请输入此人该月所用水费:n); scanf(%f,&ai.sf); printf(请输入此人该月所用电费: n); scanf(%f,&ai.df); printf(请输入此人的身份证号:n); scanf(%20s,ai.shenfenzheng); printf(请输入此人的银行卡号:n); sc

27、anf(%s,ai.kahao); printf(请输入此人的QQ号码:/n); scanf(%s,ai.qq); ai.sj=shuijin(ai.yfgz); ai.sfgz=shifagongzi(ai.yfgz,ai.sf,ai.df,ai.sj); c=0; while(c!=1 & c!=2) printf(1 继续n2 返主主菜单n); scanf(%d,&c); if(c=1) goto label_1; if(c=2) goto label_2; c=0; while(c!=1 & c!=2) printf(1 继续n2返回主菜单n); scanf(%d,&c); if(c=

28、1) goto label_1; if(c=2) goto label_2; label_2: fp=fopen(D:员工信息.txt,r+); for(j=0;jygsm;j+); fwrite(&ai,sizeof(struct worker),1,fp); fclose(fp); void main()float shifagongzi(float a,float b,float c,float d); int a=0;denglujiemian(); duqu(); while(a!=5) printf(欢迎使用n); printf(请按菜单选项进行选择 n); printf(1.查询员工情况 n); printf(2.输/插入员工信息 n); printf(3.删除员工信息 n); printf(4.浏览员工信息 n); printf(5.退出人事管理系统 n); printf(_ _ _n); scanf(%d,&a); switch(a) case 1:chaxun();break;case 2:luru();break;case 3:shanchu();break;case 4:liulan();break;case 5:printf( 欢迎使用本公司管理系统!再见! );break;d

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1