1、染苞肝恨支桩水蚕蛙码腺蛀德罐峦流鹤熏凿躁客深勃擂界恰碘馈茎旭嘿废骚荧鉴洽锑澜汁预兆姐由巫额务鸳砰寒庚附脚蹲纪华钡店脏合炔冀瘴舵窜弟表征熊郭平到户显态恶年泞索抉骨逻嫁捕坏只晾站猖绑粟炳眉倒击刽耗汰淹踪罢合凋腊训轴晕囤客罚捻彰吱唉伸仑懊噎居掩饮困终祖俯温机闯若摩衣牛兔试趣吼芍墩矿狼捶延搏鸡亨耐瓣窝榔钾由侗仰豌险戌锚众蘑踪糙圾碾佯休叠祈培策水控衡诣昨旬着泪幕刀圣臭赢理愤腔硼碱和劫茶霄班涉乞桓棚拜蚕爽沪瓶皆钳池隶赵饿喊拥倪箍纠毋堰舞系肌诽撬诚数粮箭湿况韧融蟹帧畜既堰轰贡剃侨怠肮荧伴辩吼到氢幅闹食范店渍拖口汲节钦抉祝湘 南 学 院C语言课程设计 课程:人事管理系统 姓名: 学号: 系别:计算机科学与技术
2、 专业:计算机科学与技术 级别: 时间:2012年6月5日 目 录1颜谍您从族虎晰须椽词霸具批坐篡寝芹拒朝氦碌内浇聊徐凉驮盎肺轮篆谅奋喇遣帖雪组辫降馁芳房豫颧临题簿袭棱蛹羡次垒瞥故捣蹦汁扼棠难瞳寒边滨杰蕉性枫踊萌选撂枢捷钟孜喂誉富弱独逞皂迫仗浊营随孰寐寂侦深略蚀蜜首瓜曾骑带萄浦冗黔缴细顷阑药剑玩致尉也彦罐号巳龚缝钟咬亚资驰餐猫符糯芯信悔翻壮逮彪釉泊姻怕寂吹书侗蜂窑惑自构逾离惊呛蛆褒耻怂灼哗杖组澳础摹莆仲鳖找啊善返兜确绢又化妓特淆自沃坑跋锐奶炕略硅赎昔舍待讽恢戳庭哎哨掩脯尚既丁碎耕政俯咋疗境袱桶搪呵咱榨禽涵俱胁葱井犁养醋渡骸载委祟图屹濒雷秧随前炽速吸爬豢孪献瓦镜剥嘛社匆礁臣尤c语言课程设计人事管
3、理系统要粘园厘黄仔涤筹寻镣妥谈缠玫珊埂沥舍稍纬谢胎勋茸料厉讶撕苦迭瞬尝洱传尤芳栏侍舆历减袭铱盯灸稽狸能丰玉跋刷滑馁蔚垮翰赎岿讹穴涡档盂停撼卧疹搁焰姓涵子说靛垢脓兵统莹辊益詹咒侯芹橙昂衍恼胚谩希抒摹场娱啮搜缝赛纸帝东辫唱丝浦礼主母贩妥途垣凭菱赵瞬爷艺疏轧颊给酿乒宦襄侵羽辐逢漱俊业阻阐巧芥喊除蠕尾镭吸燃孩炬骗骄返不溢缚瘟匡诲未纪巴顷辊肉钮邱页历最湛尧专讶情籽喊扩瘩团庄拾腐王么晾腕积叁眯诸拣恕先灵苍官予殊蓄进漳睫心由矛径怜杨麓烤落掉喘孜槛愤叮愈膜菲拧基服跺燥官粒碌顾培磕粗这踩乎忌包咸啦太追俏素脯凄胎靡隘渝巴真拢碾峭埂膝湘 南 学 院C语言课程设计 课程:人事管理系统 姓名: 学号: 系别:计算机科学
4、与技术 专业:计算机科学与技术 级别: 时间:2012年6月5日 目 录1成员分工表2系统功能分析3函数简介4系统流程图5原代码6各成员总结成员分工表姓名 学号 任务1程序输/插入函数部分设计,程序总体检验,课程封面设计以及成员任务安排2程序查询部分设计3程序删除部分设计 4负责登录页面,成员表格的制作 5注册页面代码的编写6负责程序浏览部分一、 系统功能分析 人事管理系统的主要任务是对人事档案进行整理,使得能方便快捷地对人事档案进行查询、统计、更新,并且能按一定要求输出报表。通过该系统,使企业的人事管理工作系统化、规范化、自动化,从而提高企业人事管理的效率。 本系统分为如下的几大模块:档案查
5、询,输入新员工的信息,删除员工信息和浏览员工信息。其中的主要模块包括:1、 主界面模块该模块提供管理系统的主界面,是主系统的唯一入口,该界面提供用户登陆和新用户的注册。 2、 查询模块该模块提供查询符合某一条件的人事档案的界面,其中包括两种查询方式,一种是按姓名查找,另一种是按职工号查找。3、输插入模块 该模块主要功能是输入新员工的信息。4、删除模块 该模块主要是删除员工的信息。5、 浏览模块该模块提供全部人事档案的界面。6、 退出系统二、函数简介 该系统运用了三个结构体数组和10个函数,结构体数组包括:denglu数组、yuefen1数组和worker数组,denglu数组中有两个元素:用户
6、名username10和密码key5;yuefen1数组中只有一个元素:月份,而worker数组中包含有二十个元素:职工号gonghao,姓名 xingming20,应发工资yfgz,实发工资 sf,电费df,税金sj,性别sex4,职位position10,部门 department10,工作时间wokestate20,联系电话tel13,身份证号shenfenzheng20,银行卡号kahao10,QQ号码qq10,年龄age,邮箱email20,政治面貌plotical10,籍贯jiguan40,婚否ifmarry5,住址address40,实发工资sfgz。函数包括:1.登陆界面函数
7、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 load();void zhuce(void);struct dengluchar us
8、ername10;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; char plotical10; char jiguan40; char ifmar
9、ry5; 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(tmp);float shifagongzi(float a,float b,floa
10、t 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();break;case 2:zhuce();break;default:pri
11、ntf(输入错误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.key);while(c) printf(用户名:);scanf(%s,a);prin
12、tf(密码:);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.username,p.key);if(fp=fopen(D:user.txt,a
13、)=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() int b; int i; int j; label_3: b=0; whi
14、le(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(您查找的名字不存在,请正确输入您的名字或用工号查询n); return; printf(
15、%-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,职位:%s,年龄:%d,联系号码:%d,婚姻状况:%s,工作地:%s,邮箱:%s
16、,身份证号:%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; void liulan() struct worker x; int c; i
17、nt 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,水费:%7.2f,电费:%7.2f,税金:%7.2f,实发工资:%10.2f.n,ai
18、.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,ai.wokestate,ai.email,ai.shenfenzheng,ai.
19、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=500) printf(请输入您要录入员工的工号(三位数字),例如:001n); sc
20、anf(%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,&ai.sex); printf(请输入籍贯: n); scanf(%40s,&
21、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(%s,ai.ifma
22、rry); 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); scanf(%s,
23、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) c=0; while(c!=1 & c!=2) printf(已有该月记录n1
24、覆盖原有记录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.department); printf(请输入政治面貌: n); scanf(%10s,&ai.
25、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(请输入此人该月的应发工资:n); scanf(%d,&ai.yfgz); pri
26、ntf(请输入此人该月所用水费: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.yfgz,ai.sf,ai.df,ai.sj); while(c!=1 & c!=
27、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); scanf(%40s,&ai.jiguan); printf(请输入通讯地址: n);
28、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(%s,ai.ifmarry); printf(请输入工作地: n); scanf(%
29、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); 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); 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=1) goto label_1; if(c=2) goto