c语言课程设计人事管理系统毕业设计_第1页
c语言课程设计人事管理系统毕业设计_第2页
c语言课程设计人事管理系统毕业设计_第3页
c语言课程设计人事管理系统毕业设计_第4页
c语言课程设计人事管理系统毕业设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. . . . C语言课程设计目 录1成员分工表2系统功能分析3函数简介4系统流程图5原代码6各成员总结成员分工表 学号 任务1程序输/插入函数部分设计,程序总体检验,课程封面设计以与成员任务安排2程序查询部分设计3程序删除部分设计 4负责登录页面,成员表格的制作 5注册页面代码的编写6负责程序浏览部分一、 系统功能分析人事管理系统的主要任务是对人事档案进行整理,使得能方便快捷地对人事档案进行查询、统计、更新,并且能按一定要求输出报表。通过该系统,使企业的人事管理工作系统化、规化、自动化,从而提高企业人事管理的效率。本系统分为如下的几大模块:档案查询,输入新员工的信息,删除员工信息和浏览员工信

2、息。其中的主要模块包括:1、 主界面模块该模块提供管理系统的主界面,是主系统的唯一入口,该界面提供用户登陆和新用户的注册。 2、 查询模块该模块提供查询符合某一条件的人事档案的界面,其中包括两种查询方式,一种是按查找,另一种是按职工号查找。3、输插入模块 该模块主要功能是输入新员工的信息。4、删除模块 该模块主要是删除员工的信息。5、 浏览模块该模块提供全部人事档案的界面。6、 退出系统二、函数简介 该系统运用了三个结构体数组和10个函数,结构体数组包括:denglu数组、yuefen1数组和worker数组,denglu数组中有两个元素:用户名username10和密码key5;yuefen

3、1数组中只有一个元素:月份,而worker数组中包含有二十个元素:职工号gonghao, xingming20,应发工资yfgz,实发工资 sf,电费df,税金sj,性别sex4,职位position10,部门 department10,工作时间wokestate20,联系tel13,号shenfenzheng20,银行卡号kahao10, 10,年龄age,email20,政治面貌plotical10,籍贯jiguan40,婚否ifmarry5,住址address40,实发工资sfgz。函数包括:1.登陆界面函数 denglujiemian;2.读取函数 duqu;3.浏览函数 liulan

4、;4.查询函数 chaxun;5.删除函数 shanchu;6.输入和插入函数 luru;7.登陆函数 load;8.实发工资计算函数 shifagongzi;9.个人所得税计算函数 shuijin;10.注册函数 zhuce三 、单位人事管理系统流程图注册 登陆主界面查询删除输/插入单个信息员工信息退出系统四、原代码简介#include<stdio.h>#include<string.h>#define N 100void denglujiemian();void load();void zhuce(void);struct dengluchar username10

5、;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, 10; int age; char email20; char plotical10; char jiguan40; char ifmarry5; char

6、 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 && m<1500) shui2=(m-1000)*0.05; tmp=shui1+shui2;return(tmp);float shifagongzi(float a,fl

7、oat 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("

8、 n");printf(" =请选择功能数字编号=n");scanf("%d",&i);switch(i)case 1:load();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

9、)printf("不能打开文档n");denglujiemian();for(i=0;i<1;i+)/fread(&headi,sizeof(struct denglu),1,fp); fscanf(fp,"%s %s",headi.username,headi.key);while(c) printf("用户名:");scanf("%s",a);printf("密码:");scanf("%s",b); for(i=0;i<10;i+) if(strcmp

10、(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.username,p.key);if(fp=fopen(&

11、quot;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) fr

12、ead(&aygsm,sizeof(struct worker),1,fp); ygsm+; void chaxun() 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,

13、c)=0)&&i<ygsm) i+; if(i=ygsm) printf("您查找的名字不存在,请正确输入您的名字或用工号查询n"); return; printf("%-10d %-20s n",ai.gonghao,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.xin

14、gming,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, :%sn",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. ); b

15、=0; while(b!=1&&b!=2) printf("1,继续查询.n2,返回主菜单.n"); scanf("%d",&b); if(b=1) goto label_3; else ;return; else int d=0; while(!(d>=1&&d<=500) printf("请输入您的工号(三位数字),例如:001n"); scanf("%d",&d); i=0; while(ai.gonghao!=d&&i<ygs

16、m) i+; if(i=ygsm) printf("您查找的名字不存在,请正确输入您的名字或用工号查询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,

17、ai.sf,ai.df,ai.sj,ai.sfgz); printf("籍贯:%s,通讯地址:%s,部门:%s,政治面貌:%s,职位:%s,年龄:%d,联系:%d,婚姻状况:%s,工作地:%s,:%s,号:%s,卡号:%s, :%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. ); b=0; while(b!=1&&b!=2) p

18、rintf("1,继续查询.n2,返回主菜单.n"); scanf("%d",&b); if(b=1) goto label_3; else ;return; void liulan() struct worker x; int c; int i; int j; int k; for(i=0;i<ygsm;i+) c=ai.gonghao; k=i; for(j=i+1;j<ygsm;j+) if(c>aj.gonghao) c=aj.gonghao; k=j; x=ai; ai=ak; ak=x; for(i=0;i<y

19、gsm;i+) printf("%-10d %-20s n",ai.gonghao,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,部门

20、:%s,政治面貌:%s,职位:%s,年龄:%d,联系:%d,婚姻状况:%s,工作地:%s,:%s,号:%s,卡号:%s, :%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. ); for(i=0;i<5;i+) printf("n"); void shanchu() FILE *fp; int b; int c; int i; i

21、nt j; label_4: printf("请输入要删除信息的工号:n"); scanf("%d",&b); for(i=0;i<ygsm;i+) if(ai.gonghao=b) j=i; for(i=j+1;i<ygsm;i+) ai-1=ai; ygsm-; fp=fopen("D:工资信息.txt","w"); for(i=0;i<ygsm;i+) fwrite(&ai,sizeof(struct worker),1,fp); fclose(fp); c=0; while

22、(c!=1&&c!=2) printf("1.继续删除n2 返回主菜单n"); scanf("%d",&c); if(c=1) goto label_4; else return; void luru() FILE *fp; int k; int i; int j; int b; int c; int d; if(fp=fopen("D:员工信息.txt","w")=NULL) printf("无法找到目标文件n"); return; label_1: b=0; whil

23、e(!(b>=1&&b<=12) printf("请您输入您要建立的月份n"); scanf("%d",&b); b=b-1; d=0; while(!(d>=1&&d<=500) printf("请输入您要录入员工的工号(三位数字),例如:001n"); scanf("%d",&d); for(i=0;i<ygsm&&ai.gonghao!=d;i+); if(ai.gonghao!=d) c=0; while(c!=1

24、&&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",&ai.sex); printf("请输入籍贯: n

25、"); scanf("%40s",&ai.jiguan); printf("请输入通讯地址: n"); scanf("%40s",&ai.address); printf("请输入部门: n"); scanf("%s",&ai.department); printf("请输入政治面貌: n"); scanf("%10s",&ai.plotical); printf("请输入职位: n"); sc

26、anf("%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); prin

27、tf("请输入: 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")

28、; scanf("%20s",ai.shenfenzheng); printf("请输入此人的银行卡号:n"); scanf("%s",ai.kahao); printf("请输入此人的 :n"); scanf("%s",ai. ); 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

29、返回主菜单n"); scanf("%d",&c); if(c=1) goto label_1; if(c=2) goto label_2; else if(ai.mb.yuefen=b+1) 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.y

30、uefen=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.department); print

31、f("请输入政治面貌: 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"); scan

32、f("%s",ai.ifmarry); printf("请输入工作地: n"); scanf("%s",ai.wokestate); printf("请输入: n"); scanf("%20s",ai.email); printf("请输入此人该月的应发工资:n"); scanf("%d",&ai.yfgz); printf("请输入此人该月所用水费:n"); scanf("%d",&ai.sf);

33、printf("请输入此人该月所用电费: n"); scanf("%d",&ai.df); printf("请输入此人的号:n"); scanf("%20s",ai.shenfenzheng); printf("请输入此人的银行卡号:n"); scanf("%s",ai.kahao); printf("请输入此人的 :n"); scanf("%s",ai. ); ai.sj=shuijin(ai.yfgz); ai.sfgz=s

34、hifagongzi(ai.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.

35、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.department); p

36、rintf("请输入政治面貌: 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");

37、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); pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论