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

下载本文档

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

文档简介

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

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

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

4、此工作员工。保存模块:将现有信息保存丁文件中,以防丢失。系统模块图五、详细设计及运行结果流程图,函数之间相互调用的图示,程序设计及编码,运行结果。主函数:输出信息六、调试情况,设计技巧及体会1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。自我评价:本人自我觉得此系统还不错,程序简洁明了,功能齐全,而且充分从用户的角度进行编排,易丁执行。经本人多次调试终丁出现0个错误与警告而且从未有过死循环,用户一旦输错,立即会有提示,此程序相当的健壮。因本人定义了全局变量,使操作更加简单易行,使用了结构体数组,避开链表那样的复杂操作。但不足之处便是没有链表那样节省内存。如有机会下次可能会用链表。2

5、、在设计过程中的感受。在把字符一个个敲上屏幕时,坐在那一动不动相当的枯燥,一想到过会儿就能看到自己亲自编的程序,就只能忍吧。当看到模块一个个运行后与预料中的完全一样时,郁闷的心情立马被一种成就感替代。就想赶紧编完看看自己的杰作。然而也会遇到自己解决不了的问题,就只能去求老师了。这次最大的感受就是当你竭尽全力的干一件事时,就没有能挡住你的困难。七、参考文献C语言课本。八、附录:源代码#include<stdio.h>#include<string.h>#defineMAX100charfilename20;FILE*fp;intn;/*structdate/*intyea

6、r;intmouth;intday;structperson/*charname10;/*intage;/*charjob10;/*charsex10;/*charaddress20;/*charphone10;/*structdatein_time;/*t,workerMAX;/*文件名*/当前该厂人数*/时间结构体*/员工信息结构体*/姓名*/年龄*/工作*/性另U*/地址*/电话*/入厂时间*/*录入模块*/voidinput()(inti;clrscr();printf("nn请输入文件名n");scanf("%s",filename);prin

7、tf(-开始输入员工的信息n");printf("n请输入现有员工人数n");scanf("%d",&n);if(fp=fopen(filename,"w")=NULL)(printf("不能建立!n");exit();for(i=0;i<n;i+)(printf("第外人的信息:n",i+1);printf("姓名n");scanf("%s",);printf("年龄n");scanf(

8、"%d",&workeri.age);printf("工作n");scanf("%s",workeri.job);printf("性另叭n");scanf("%s",workeri.sex);printf("地址n");scanf("%s",workeri.address);printf("电话n");scanf("%s",workeri.phone);printf("入厂年n");sca

9、nf("%d",&workeri.in_time.year);printf("入厂月n");scanf("%d",&workeri.in_time.mouth);printf("入厂日n");scanf("%d",&workeri.in_time.day);_printf("录入完毕,按任意键返回主菜单n");getch();for(i=0;i<n;i+)fprintf(fp,"%s%d%s%s%s%s%d-%d-%dn",w

10、,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);fclose(fp);/*输出模块*/voidoutput()(inti;if(fp=fopen(filename,"r")=NULL)(printf(-暂时未有任何信息,请按任意键返回主菜单进行信息录入n");getch();exit();clrscr();printf("

11、该厂的员工信息:n");printf("姓名t年龄t工作t性另叭t地址t电话t入厂时间n");for(i=0;i<n;i+)(fscanf(fp,"%s%d%s%s%s%s%d-%d-%d",,&workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,&workeri.in_time.year,&workeri.in_time.mouth,&workeri.in_time.day);printf("

12、%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);fclose(fp);printf("输出完毕,按任意键返回主菜单n");getch();/*保存模块*/voidsave()(inti;if(fp=fopen(filename,"w")=NULL)/*打

13、开文件*/(printf("n不能打开该文件!");exit();for(i=0;i<n;i+)fprintf(fp,"%s%d%s%s%s%s%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);fclose(fp);/*读取信息*/voidread_message()(inti;printf(&

14、quot;输入文件名n");scanf("%s",filename);printf("n请输入现有员工人数n");scanf("%d",&n);if(fp=fopen(filename,"r")=NULL)(printf(-暂时未有任何信息,请按任意键返回主菜单进行信息录入n");getch();for(i=0;i<n;i+)fscanf(fp,"%s%d%s%s%s%s%d-%d-%d",,&workeri.age,worker

15、i.job,workeri.sex,workeri.address,workeri.phone,&workeri.in_time.year,&workeri.in_time.mouth,&workeri.in_time.day);fclose(fp);/*修改模块*/voidmodify()(inti,flag,choice;charch,namekey10;flag=0;clrscr();printf("开始修改n");do(printf(-请输入要修改的员工姓名n");scanf("%s",namekey);for(

16、i=0;i<n;i+)(if(strcmp(,namekey)=0)(printf("是否修改此人(y/n)n");printf("姓名t年龄t工作t性另叭t地址t电话t入厂时间n");printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,wor

17、keri.in_time.day);getchar();/*接收回车*/ch=getchar();if(ch='y')(printf("*您要修改那一项?*nn");printf("*1姓名*nn");printf("*2年龄*nn");printf("*3工作*nn");printf("*4性另U*nn”);printf("*5,地址*nn");printf("*6,电话*nn");printf("*7入厂年*nn");prin

18、tf("*&入厂月*nn");printf("*9,入厂日*nn");printf("请选择(1-9)n");scanf("%d",&choice);switch(choice)case1:printf("输入修改后的姓名n");scanf("%s",);break;case2:printf("输入修改后的年龄n");scanf("%d",&workeri.age);break;case3

19、:printf("输入修改后的工作n");scanf("%s",workeri.job);break;case4:printf("输入修改后的性别n");scanf("%s",workeri.sex);break;case5:printf("输入修改后的地址n");scanf("%s",workeri.address);break;case6:printf("输入修改后的电话n");scanf("%s",workeri.phone);b

20、reak;case7:printf("输入修改后的入厂年n");scanf("%d",&workeri.in_time.year);break;case8:printf("输入修改后的入厂月n");scanf("%d",&workeri.in_time.mouth);break;case9:printf("输入修改后的入厂日n");scanf("%d",&workeri.in_time.day);break;_printf("修改后的信息n&

21、quot;);printf("姓名t年龄t工作t性另叭t地址t电话t入厂时间n");printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);elsebreak;elseif(i=n)printf("此人不存在n");printf(&qu

22、ot;n是否继续输入(y/n)n");getchar();/*接收回车*/ch=getchar();if(ch='y')printf("继续n");flag=1;elseflag=0;while(flag=1);printf("修改完毕,按任意键返回主菜单n");getch();/*添加模块*/voidadd()(inti,flag=0;charch;clrscr();printf("n开始添加新员工n");printf("*nn");do(i=n;printf("n请输入添加职

23、工的彳息(姓名,年龄,工作,性别,地址,电话,入厂时间)n");printf("姓名n");scanf("%s",);printf("年龄n");scanf("%d",&workeri.age);printf("工作n");scanf("%s”,workeri.job);printf("性别n");scanf("%s",workeri.sex);printf("地址n");scanf(

24、"%s",workeri.address);printf("电话n");scanf("%s",workeri.phone);printf("入厂年n");scanf("%d”,&workeri.in_time.year);printf("入厂月n");scanf("%d",&workeri.in_time.mouth);printf("入厂日n");scanf("%d",&workeri.in_time

25、.day);n+;printf("n添加成功!是否继续输入(y/n)n");getchar();/*接收回车*/ch=getchar();if(ch='y')(printf("继续n");flag=1;elseflag=0;while(flag=1);printf("添加完毕,按任意键返回主菜单n");getch();/*删除模块*/voiddel()(inti,flag;charch,namekey10;flag=0;clrscr();printf("开始删除n");do(printf("

26、;请输入要删除员工的名字n");scanf("%s”,namekey);for(i=0;i<n;i+)if(strcmp(,namekey)=0)/*查找此人*/(printf("是否删除此人(y/n)n");printf("姓名t年龄t工作t性另叭t地址t电话t入厂时间n");printf("%st%dt%st%st%st%st%d-%d-%dn”,,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.

27、phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);getchar();/*接收回车*/ch=getchar();if(ch='y')(for(;i<n;i+)workeri=workeri+1;n-;elsebreak;elseif(i=n)printf("此人不存在n");printf("n是否继续输入(y/n)n");getchar();/*接收回车*/ch=getchar();if(ch='y')(printf("

28、;继续n");flag=1;elseflag=0;while(flag=1);printf("操作完毕,按任意键返回主菜单n");getch();/*更新模块*/voidrenew()(inti;do(clrscr();printf("nnn*更新员工信息*nn");printf(-按1,添加员工信息nn");printf(-按2,删除员工信息nn");printf(-按3,修改员工信息nn");printf(-按0,返回主菜单n");printf("请选择(0-3)n");scanf

29、("%d",&i);switch(i)(case1:add();break;case2:del();break;case3:modify();break;case0:break;while(i!=0);save();/*按姓名查找*/voidname_cha()(inti,j;charnamekey10;j=0;clrscr();printf("输入要查询的员工姓名n");scanf("%s",namekey);for(i=0;i<n;i+)if(strcmp(,namekey)=0)/*查找此人

30、*/(printf(-员工信息-n");printf("姓名t年龄t工作t性另叭t地址t电话t入厂时间n");printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);elsej+;if(j=n)printf("此人不存在n")

31、;printf("按任意键返回主菜单n");getch();/*按年龄查找*/voidage_cha()(inti,j;intagekey;j=0;clrscr();printf("输入要查询员工的年龄n");scanf("%d",&agekey);for(i=0;i<n;i+)if(workeri.age=agekey)printf(-员工信息-n");printf("姓名t年龄t工作t性别t地址t电话t入厂时间n");printf("%st%dt%st%st%st%st%d-%

32、d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);_elsej+;if(j=n)printf("此人不存在n");printf("按任意键返回主菜单n");getch();/*按工作查找*/voidjob_cha()inti,j;charjobkey10;j=0;clrscr();printf(&q

33、uot;输入要查询的员工职务n");scanf("%s",jobkey);for(i=0;i<n;i+)if(strcmp(workeri.job,jobkey)=0)printf(-员工信息-n");printf("姓名t年龄t工作t性别t地址t电话t入厂时间n");printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,worker

34、i.in_time.year,workeri.in_time.mouth,workeri.in_time.day);elsej+;if(j=n)printf("此人不存在n");printf("按任意键返回主菜单n");getch();/*查询模块*/voidinquire()inti;do(clrscr();printf("nnn*查询员工信息*nn");printf("*1按姓名查询*nn");printf("*2按年龄查询*nn");printf("*3,按工作查询*nn&quo

35、t;);printf("*0,返回主菜单n");printf("请选择(0-3)n");scanf("%d",&i);switch(i)(case1:name_cha();break;case2:age_cha();break;case3:job_cha();break;case0:break;while(i!=0);/*排列模块*/voidline()(inti,j;clrscr();printf(-按年龄排序nn");for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(worke

36、ri.age>workerj.age)(t=workeri;workeri=workerj;workerj=t;printf("姓名t年龄t工作t性另叭t地址t电话t入厂时间n");for(i=0;i<n;i+)printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.i

37、n_time.day);printf("按任意键返回主菜单n");getch();/*按年龄统计*/voidcount_age()(inti,j;intagekey;j=0;clrscr();printf(-输入要统计员工的年龄n");scanf("%d",&agekey);for(i=0;i<n;i+)if(workeri.age=agekey)printf(-员工信息-n");printf("姓名t年龄t工作t性别t地址t电话t入厂时间n");printf("%st%dt%st%st%s

38、t%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);elsej+;if(j=n)printf(-暂无该年龄段员工n");printf("按任意键返回主菜单n");getch();/*按职务统计*/voidcount_job()inti,j;charjobkey10;j=0;clrscr();pr

39、intf("输入要统计的员工职务n");scanf("%s",jobkey);for(i=0;i<n;i+)if(strcmp(workeri.job,jobkey)=0)printf(-员工信息-n");printf("姓名t年龄t工作t性别t地址t电话t入厂时间n");printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone

40、,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);_elsej+;if(j=n)printf("暂无该职务或该职务暂时无人n");printf("按任意键返回主菜单n");getch();/*按性别统计*/voidcount_sex()inti,j;charsexkey10;j=0;clrscr();printf("输入要统计的员工性别n");scanf("%s",sexkey);for(i=0;i<n;i+)if(strcmp(

41、workeri.sex,sexkey)=0)printf(-员工信息-n");printf("姓名t年龄t工作t性别t地址t电话t入厂时间n");printf("%st%dt%st%st%st%st%d-%d-%dn",,workeri.age,workeri.job,workeri.sex,workeri.address,workeri.phone,workeri.in_time.year,workeri.in_time.mouth,workeri.in_time.day);elsej+;if(j=n)printf("暂无该性别员工n");printf("按任意键返回主菜单n");getch();/*统计模块*/voidcount()inti;do统

温馨提示

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

评论

0/150

提交评论