c语言程序设计__企业员工管理系统_第1页
c语言程序设计__企业员工管理系统_第2页
c语言程序设计__企业员工管理系统_第3页
c语言程序设计__企业员工管理系统_第4页
c语言程序设计__企业员工管理系统_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、一、课程设计目的通过本课程设计,强化上机动手能力,使学生在理论和实践的基础上进 一步巩固C语言程序设计课程学习的内容,掌握工程软件设计的基本方法。学会 将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。为后续各门计 算机课程的学习打下坚实基础。为毕业设计和以后工作打下必要基础。二、课程设计内容针对某企业的员工,对其信息进行系统的管理。三、需求分析 对所开发系统功能、性能的描述,想要实现的目标。此系统可对该厂员工进 行信息的录入,修改,删除,添加,查询,排序,统计,打印等功能。用户可通过提示 选择进入某一功能界面,然后进行对员工的信息管理。每一功能模块都充分为用户考 虑,编排详细。

2、使用户可以方便快捷的了解员 工信息,及时有效的对员工进行信息的管 理。四、概要设计1.系统结构图(功能模块图)对系统进行分析,给出系统结构图;分析: 此系统,为方便客户输入,以及使程序清晰化,因而本人采用模块法,将每一功能模块化, 使程序中各函数间调用更加明了。以下为系统模 块图。2.功能模块说明对各个模块进行功能的描述。录入模块:输入该厂现有员工信息并 保存与文件中,方便日后进行排序,更新,统计,打印等操作。输出模块:将所有员工信息,或所需员工信息输出于屏幕上,用于打印或查询员工 信息。更新模块:此模块又分为删除,添加,修改三个模块。删除模块:对已退休或离开 该厂的员工进行删除操作。添加模块

3、:添加新入厂的员工信息并保存 起来。修改模块:找到该员工并,选择所要修改的选项。排序模块:本程序只对员工年龄进行从小到大排序。查询模块:此模块分为按姓 名,年龄,工作查询。姓名查询模块:输入要查找的姓名,找到就输出其信息。找不到则输出无此 人。年龄查询模块:输入要查找的年龄,找到就输出其信息。找不到则输出无此 人。工作查询模块:输入要查找的工作,找到就输出其信息。找不到则输出无此 人。统计模块:此模块分为,统计年龄,性别和工作。统计年龄:输入要统计的年龄, 查找并输出,若无此年龄则输出暂无此年龄员工。统计性别:输入要统计的性别,查找并输出,若无此性别则输出暂无此性别员工。统计工作:输入要统计的

4、工作,查找并输出,若无此工作则输出暂无此工作 员工。 保存模块:将现有信息保存于文件中,以防丢失。系统模块图1 /17厂王氏企业员工信息管理系统五、详细设计及运行结果2/17流程图,函数之间相互调用的图示,程序设计及编码,运行结果 主函 数:i=6y录输入出模模块块i=2更新模块开始判断i ti输入i排查 询 模 块统计模块退 出 系 统输出模块:录入模块:(开始保存模块打开文件打开文件结束否是输入员工信息3/17关闭文件(开始)1厂打开文件1ri=0是关闭文件结束输出员I 信息输出员I 信息查询模块:统计模块:开始4/输入j /返冋主界面六、调试情况,设计技巧及体会1、对自己设计进行评价,指

5、出合理和不足之处,提出改进的方案。自我评价:本人自我觉得此系统还不错,程序简洁明了,功能齐全,而且充分从用户的角度 进行编排,易于执行。经本人多次调试终于出现0个错误与警告 而且从未有过死循环,用户 一旦输错,立即会有提示,此程序相当的健壮。因本人定义了全局变量,使操作更加简单易行,使用了结构体数组,避开链表那样的复杂操 作。但不足之处便是没有链表那样节省内存。如有机会下次可能会用链表。2、在设计过程中的感受。在把字符一个个敲上屏幕时,坐在那一动不动相当的枯燥,一想到过会儿就能看到自己亲自 编的程序,就只能忍吧。当看到模块一个个运行后与预料中的完全一样时,郁闷的心情立 马被一种成就感替代。就想

6、赶紧编完看看自己的杰作。然而也会遇到自己解决不了的问题, 就只能去求老师了。这次最大的感受就是当你竭尽全力的干一件事时,就没有能挡住你的困难七、参考文献C语言课本。八、附录:源代码#include #include#define MAX 100char filename20;/*文件名 */FILE *fp;int n;struct dateint year;int mouth;int day;;struct personchar name10;int age;char job10;char sex10;char address20;char phone10;/*当前该厂人数*/广时间结构体V

7、/*员工信息结构体*/广姓名*/广年龄*7广工作*/广性别/广地址7/*电话*/struct date in_time;广入厂时间 */t,workerMAX;广录入模块Vvoid input()int i;clrscr();printf(Hnn 请输入文件名 nH); scanf(n%sH,filename); printf(” 开始输入员工的信息 nH); printf(An请输入现有员工人数rT);scanf(M%dH,&n); if(fp=fopen(filename,Hwn)=NULL) printf(” 不能建立! nn); exit();for(i=0;ivn;i+) print

8、f(*第d 个人的信息:nu,i+1); printf(n 姓名 nn);scanf(n%);printf(” 年龄 n“);scanf(%d,&workeri.age);printf(” 工作 nH);scanf (” s”,workeri.job);printf(” 性别 nn);scanf (” s”,workeri.sex);printf(” 地址 nH);scanf(%sworkeri.address);printf(” 电话 rT);scanf(”s”,workeri.ph one);printf(” 入厂年 nH);scanf(%d,&workeri

9、.in_tiineyear);printf(” 入厂月 nH);scanf(”d”,&workeriin_time. mouth);printf(” 入厂日 nn);scanf(n%d&workeri.in_time.day);printf(”录入完毕,按任意键返回主菜单nn);getch();for(i=0;ivn;i+)fprintf(fp,%s %d %s %s %s %s %d-%d-%dn,3,workeri.age)w orkeri.job,workeri.sex,workeri,address,workeri.phone,workeri.in_time.y

10、ear,worker i.in_time.mouth5workeri.in_time.day);fclose(fp);广输出模块*/void output()inti; if(fp=fopen(filename/rn)=NULL) printf(n暂时未有任何信息,请按任意键返回主菜单进行信息录入nn);getch();exit();)clrscr();printf(”该厂的员工信息:nH);printf(”姓名t年龄t工作t性别t地址t电话t入厂时间rT); for(i=0;in;i+)fscanf(fp,”s %d %s %s %s %s %d-%d-%dn,,&w

11、orkeri.age5workeri.j ob,workeri.sex,workeri.address,workeri.ph one,&workeri.in_time.year,&workeri.i n _time.mouth,&workeri.in_time.day);printf(%st%dt%st%st%st%st%d-%d-%dnn,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.p hone,workeri.in_time.year,workeri.in_time.mouth,worke

12、ri.in_time.day); fclose(fp);printf(”输出完毕,按任意键返回主菜单rT);getch();广保存模块*/void save()inti;if(fp=fopen(filename,nwn)=NULL)广打开文件 7 printf(An不能打开该文件! ”);exit();for(i=0;ivn;i+)fprintf(fp,n%s %d %s %s %s %s %d-%d-%,workeri.age,w orkeri.job,workeri.sex,workeri,address,workeri.phone,workeri.in_tim

13、e.year,worker i.in_time.mouth5workeri.in_time.day);fclose(fp);)厂读取信息*/void read_message()int i;printf(”输入文件名nn);scanf(” s,filename); printf(An请输入现有员工人数nn);scanf(”d”,&n); if(fp=fopen(filename,Hr,)=NULL) printf(H暂时未有任何信息,请按任意键返回主菜单进行信息录入nn);getch();for(i=0;i/* 按姓名查找 */ void name_cha() int i,j; charnam

14、ekey10; j=0; clrscr(); printf(” 输入要查询的员工姓名 nH); scanf(n%sn,namekey); for(i=0;iwhile(i!=0);广排列模块*/void line()int i,j;clrscr();printf(” 按年龄排序nnH);for(i=0;iworkerj.age) t=workeri; workeri=workerj; workerj=t;printf(,姓名t年龄t工作t性别t地址t电话t入厂时间n“); for(i=0;in;i+) printf(,%st%dt%st%st%st%st%d-%d-%dn,workeri.na

15、me,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.p hon e,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);printtf*按任意键返回主乗单Tn); getch();广按年龄统计*/void count_age()int ij; int agekey;j=0;clrscr();printf(”输入要统计员工的年龄nn);scanf(%dn,&agekey);for(i=0;ivn;i+)if(workeri.age=agekey)p

16、rintf(” 员工信息nH);printf(”姓名t年龄t工作t性别t地址t电话t入厂时间rT);printf(” st%dt%st%st%st%st%ddd ,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.p hone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);) else j+;if(j=n)printf (”暂无该年龄段员工rT);printf(按任意键返回主菜单nn); getch();广按职务统计*

17、/void countjob()int ij; char jobkey10;j=0; clrscr();printf(” 输入要统计的员工职务 nM); scanf(H%sHJobkey);for(i=0;in;i+) if(strcmp(workeri.job,jobkey)=0) printf(员工信息 nH); printf(”姓名t年龄t工作t性别t地址t电话t入厂时间F); printf(n%st%dt%st%st%st%st%d-%d-%,workeri.age,workeri.job,workeri.sex,workeri.address,worker

18、i.p hone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);)else j+;if(j=n)printf(n暂无该职务或该职务暂时无人n“);printf(”按任意键返回主菜单nH); getch();广按性别统计7 void count_sex()int i,j; char sexkey10; j=0;clrscr();printf(n输入要统计的员工性别nH);scanf(%sM,sexkey);for(i=0;i n;i+) if(strcmp(workeri.sex,sexkey)=0) printf

19、(H员工信息nM);printf(“姓名t年龄t工作t性别t地址t电话t入厂时间rT); printf(n%st%dt%st%st%st%st%d-%d-%,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.p hon e,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);else j+;if(j=n)printf暂无该性别员工n“); printf(n按任意键返回主菜单nM); getch();)厂统计模块*/ voi

20、dcount()int i;do clrscr(); printf(nnn * 统计员工信息 *nnn); printf(” 按 1,统计某年龄职工 nnn); printf(”按2,统计某职务员工nnn);printf(”按3,统计某性别职工nnn);printff1按0,返回主菜单nnn);printf(” 请选择(0-3):nn); scanf(n%dH,&i);switch(i) case 1: count_age(); break; case 2: countjob(); break; case 3: count_sex(); break; case 0: break;while(i!=0);广主函数7main()int choice; read_message();doclrscr();printf(nn *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*0,!); printf(n #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#nH);printfC*nn);*nn);*nn);*nn);*nn);

温馨提示

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

评论

0/150

提交评论