c语言程序设计企业员工管理系统Word格式.docx

上传人:b****5 文档编号:20029225 上传时间:2023-01-16 格式:DOCX 页数:25 大小:190.88KB
下载 相关 举报
c语言程序设计企业员工管理系统Word格式.docx_第1页
第1页 / 共25页
c语言程序设计企业员工管理系统Word格式.docx_第2页
第2页 / 共25页
c语言程序设计企业员工管理系统Word格式.docx_第3页
第3页 / 共25页
c语言程序设计企业员工管理系统Word格式.docx_第4页
第4页 / 共25页
c语言程序设计企业员工管理系统Word格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

c语言程序设计企业员工管理系统Word格式.docx

《c语言程序设计企业员工管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《c语言程序设计企业员工管理系统Word格式.docx(25页珍藏版)》请在冰豆网上搜索。

c语言程序设计企业员工管理系统Word格式.docx

修改模块:

找到该员工并,选择所要修改的选项。

排序模块:

本程序只对员工年龄进行从小到大排序。

查询模块:

此模块分为按姓名,年龄,工作查询。

姓名查询模块:

输入要查找的姓名,找到就输出其信息。

找不到则输出无此人。

年龄查询模块:

输入要查找的年龄,找到就输出其信息。

工作查询模块:

输入要查找的工作,找到就输出其信息。

统计模块:

此模块分为,统计年龄,性别和工作。

统计年龄:

输入要统计的年龄,查找并输出,若无此年龄则输出暂无此年龄员工。

统计性别:

输入要统计的性别,查找并输出,若无此性别则输出暂无此性别员工。

统计工作:

输入要统计的工作,查找并输出,若无此工作则输出暂无此工作员工。

保存模块:

将现有信息保存于文件中,以防丢失。

系统模块图

 

五、详细设计及运行结果

流程图,函数之间相互调用的图示,程序设计及编码,运行结果。

主函数:

i=1i=6i=2i=3i=4i=5i=0

输出模块:

更新模块:

否i=3

i=1i=2i=0

统计模块:

i=1i=3i=2i=0i=1i=2i=3i=0

否否

是是

六、调试情况,设计技巧及体会

1、对自己设计进行评价,指出合理和不足之处,提出改进的方案。

自我评价:

本人自我觉得此系统还不错,程序简洁明了,功能齐全,而且充分从用户的角度进行编排,易于执行。

经本人多次调试终于出现0个错误与警告,而且从未有过死循环,用户一旦输错,立即会有提示,此程序相当的健壮。

因本人定义了全局变量,使操作更加简单易行,使用了结构体数组,避开链表那样的复杂操作。

但不足之处便是没有链表那样节省内存。

如有机会下次可能会用链表。

2、在设计过程中的感受。

在把字符一个个敲上屏幕时,坐在那一动不动相当的枯燥,一想到过会儿就能看到自己亲自编的程序,就只能忍吧。

当看到模块一个个运行后与预料中的完全一样时,郁闷的心情立马被一种成就感替代。

就想赶紧编完看看自己的杰作。

然而也会遇到自己解决不了的问题,就只能去求老师了。

这次最大的感受就是当你竭尽全力的干一件事时,就没有能挡住你的困难。

七、参考文献

C语言课本。

八、附录:

源代码

#include<

stdio.h>

string.h>

#defineMAX100

charfilename[20];

/*文件名*/

FILE*fp;

intn;

/*当前该厂人数*/

structdate/*时间结构体*/

{intyear;

intmouth;

intday;

};

structperson/*员工信息结构体*/

{charname[10];

/*姓名*/

intage;

/*年龄*/

charjob[10];

/*工作*/

charsex[10];

/*性别*/

charaddress[20];

/*地址*/

charphone[10];

/*电话*/

structdatein_time;

/*入厂时间*/

}t,worker[MAX];

/*录入模块*/

voidinput()

{inti;

clrscr();

printf("

\n\n请输入文件名\n"

);

scanf("

%s"

filename);

开始输入员工的信息\n"

\n请输入现有员工人数\n"

%d"

&

n);

if((fp=fopen(filename,"

w"

))==NULL)

{printf("

不能建立!

\n"

exit();

}

for(i=0;

i<

n;

i++)

第%d个人的信息:

i+1);

姓名\n"

worker[i].name);

年龄\n"

worker[i].age);

工作\n"

worker[i].job);

性别\n"

worker[i].sex);

地址\n"

worker[i].address);

电话\n"

worker[i].phone);

入厂年\n"

worker[i].in_time.year);

入厂月\n"

worker[i].in_time.mouth);

入厂日\n"

worker[i].in_time.day);

录入完毕,按任意键返回主菜单\n"

getch();

fprintf(fp,"

%s%d%s%s%s%s%d-%d-%d\n"

worker[i].name,worker[i].age,worker[i].job,worker[i].sex,worker[i].address,worker[i].phone,worker[i].in_time.year,worker[i].in_time.mouth,worker[i].in_time.day);

fclose(fp);

}

/*输出模块*/

voidoutput()

{inti;

r"

暂时未有任何信息,请按任意键返回主菜单进行信息录入\n"

该厂的员工信息:

姓名\t年龄\t工作\t性别\t地址\t电话\t入厂时间\n"

{fscanf(fp,"

%s%d%s%s%s%s%d-%d-%d"

worker[i].name,&

worker[i].age,worker[i].job,worker[i].sex,worker[i].address,worker[i].phone,&

worker[i].in_time.year,&

worker[i].in_time.mouth,&

%s\t%d\t%s\t%s\t%s\t%s\t%d-%d-%d\n"

输出完毕,按任意键返回主菜单\n"

/*保存模块*/

voidsave()

))==NULL)/*打开文件*/

\n不能打开该文件!

"

/*读取信息*/

voidread_message()

输入文件名\n"

fscanf(fp,"

/*修改模块*/

voidmodify()

{inti,flag,choice;

charch,namekey[10];

flag=0;

开始修改\n"

do

{

请输入要修改的员工姓名\n"

namekey);

{if(strcmp(worker[i].name,namekey)==0)

是否修改此人(y/n)\n"

getchar();

/*接收回车*/

ch=getchar();

if(ch=='

y'

****您要修改那一项?

***\n\n"

***1,姓名***\n\n"

***2,年龄***\n\n"

***3,工作***\n\n"

***4,性别***\n\n"

***5,地址***\n\n"

***6,电话***\n\n"

***7,入厂年***\n\n"

***8,入厂月***\n\n"

***9,入厂日***\n\n"

请选择(1-9)\n"

choice);

switch(choice)

{case1:

输入修改后的姓名\n"

break;

case2:

输入修改后的年龄\n"

case3:

输入修改后的工作\n"

case4:

输入修改后的性别\n"

case5:

输入修改后的地址\n"

case6:

输入修改后的电话\n"

case7:

输入修改后的入厂年\n"

case8:

输入修改后的入厂月\n"

case9:

输入修改后的入厂日\n"

修改后的信息\n"

elsebreak;

else

if(i==n)printf("

此人不存在\n"

\n是否继续输入(y/n)\n"

继续\n"

flag=1;

elseflag=0;

}while(flag==1);

printf("

修改完毕,按任意键返回主菜单\n"

);

getch();

/*添加模块*/

voidadd()

{inti,flag=0;

charch;

\n开始添加新员工\n"

*----------------------------------*\n\n"

do

{i=n;

\n请输入添加职工的信息(姓名,年龄,工作,性别,地址,电话,入厂时间)\n"

&

性别\n"

%s"

n++;

\n添加成功!

是否继续输入(y/n)\n"

添加完毕,按任意键返回主菜单\n"

/*删除模块*/

voiddel()

{inti,flag;

开始删除\n"

请输入要删除员工的名字\n"

if(strcmp(worker[i].name,namekey)==0)/*查找此人*/

是否删除此人(y/n)\n"

{for(;

worker[i]=worker[i+1];

n--;

if(i==n)

操作完毕,按任意键返回主菜单\n"

/*更新模块*/

voidrenew()

{clrscr();

\n\n\n****更新员工信息****\n\n"

按1,添加员工信息\n\n"

按2,删除员工信息\n\n"

按3,修改员工信息\n\n"

按0,返回主菜单\n"

请选择(0-3)\n"

i);

switch(i)

add();

del();

modify();

case0:

}while(i!

=0);

save();

/*按姓名查找*/

voidname_cha()

{inti,j;

charnamekey[10];

j=0;

输入要查询的员工姓名\n"

---------员工信息------\n"

elsej++;

if(j==n)

按任意键返回主菜单\n"

/*按年龄查找*/

voidage_cha()

intagekey;

输入要查询员工的年龄\n"

agekey);

if(worker[i].age==agekey)

-------员工信息------\n"

worker[i].name,worker[i].age,worker[i].job,worker[i].sex,work

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1