职工信息管理C语言程序设计报告.doc
- 文档编号:2496263
- 上传时间:2022-10-30
- 格式:DOC
- 页数:38
- 大小:998.50KB
职工信息管理C语言程序设计报告.doc
《职工信息管理C语言程序设计报告.doc》由会员分享,可在线阅读,更多相关《职工信息管理C语言程序设计报告.doc(38页珍藏版)》请在冰豆网上搜索。
目录
一系统功能 2
1系统需求分析 2
2系统功能总体设计 2
3.输入输出功能 2
4.总体设计流程图 3
二概要设计 4
1抽象数据类型定义 4
2系统模块组成及其功能 4
三详细设计 5
1用C语言定义相关数据 5
2各模块的类C码算法 5
1职工信息显示函数 5
2职工信息的追加函数 6
3职工信息修改函数 6
4职工信息删除函数 8
5职工信息查询函数 10
6职工信息排序函数 10
7退出函数 10
3函数的调用关系图 10
四调试分析(包括流程图和截图) 11
1显示模块N-S图 11
2追加模块的流程图 12
3.查询模块的流程图 14
4.排序模块的流程图 15
5.修改模块的流程图 16
6删除模块流程图 18
7.各个模块的截图及说明 20
五总结 28
六参考文献 28
七程序原代码 29
一系统功能
1系统需求分析
这是一个对职工信息管理的系统,通过这个系统可以显示所有职工的信息并可以对职工信息进行追加、修改、删除、查询、排序等多种功能的操作.
2系统功能总体设计
程序的功能:
随着计算机科学的发展,现在我们不可能还是用手写的方式对职工的信息进行管理,这就需要设计一个系统运用计算机来实现对职工信息的管理.该系统用数组实现对职工信息数据的存储,且总体数据结构应用文件类型数据,文件类型为结构体数组,这就要建立数据库来存放职工的信息,通过指针文件来实现对数据库里信息的读和写,需要存储的职工信息包括职工号、职工姓名、性别、年龄、学历、工资、部门、职称等等,最后通过函数的调用来实现对职工信息的管理.
初始化
显示函数
追加函数
主
涵
数
main()
修改函数
删除函数
查询函数
排序函数
退出函数
3.输入输出功能
数据库中的数据全通过fread()函数来读取数据,并且通过fwrite函数将修改过后的数据放到一个新的文件里去,从而实现的系统的输入输出功能。
4.总体设计流程图
开始
主菜单
选择功能
显示模块
追加模块
修改模块
删除模块
查询模块
排序模块
退出模块
保存修改后的数据
结束
二概要设计
1抽象数据类型定义
Structstu;
{longintzgh;/*职工号*/
Charname[10];/*姓名*/
Charxb[4];/*性别*/
Intnl;/*年龄*/
Charxl[10];/*学历*/
Doublegz;/*工资*/
Charbm[15];/*部门*/
Charzc[10];/*职称*/
}s[40]
2系统模块组成及其功能
主函数voidmain()
显示函数voidDisp()
功能:
显示数据库中职工的所有信息。
追加函数voidAppe()
功能:
加入你想加入的职工的信息,可以追加多条,也可以追加多次。
修改函数voidModi()
功能:
修改你想修改的职工的信息,可以修改职工的某项信息,也可以修改多项信息,还可以多次修改其他职工的信息,你可以通过选择职工号
或者职工的姓名二种方式进行修改职工的信息,。
删除函数voidDele()
功能:
删除你想删除的职工的所有信息,可以多次删除,同样可以通过职工号或者职工的姓名二种方式进行删除,删除后会显示删除结果。
查询函数voidQuery()
功能:
可以通过该函数来查询你所需职工的所有信息并显示,同样你可以选择是按职工号、职工的姓名、工资或者部门来查询,当你查询的职工不存在时系统还会提示你,你所查询的职工不存在。
排序函数voidSore()
功能:
通过该函数完成按职工工资降序排列并显示。
退出函数
功能:
完成退出程序。
三详细设计
1用C语言定义相关数据
Structstu
{longintzgh;/*职工号*/
Charname[10];/*姓名*/
Charxb[4];/*性别*/
Intnl;/*年龄*/
Charxl[10];/*学历*/
Doublegz;/*工资*/
Charbm[15];/*部门*/
Charzc[10];/*职称*/
}s[40];
2各模块的类C码算法
1职工信息显示函数
voidDisp()/*显示模块*/
{
inti;定义循环变量
system("COLOR1f");调整显示界面颜色;
for(i=0;i printf("输出职工信息); } 2职工信息的追加函数 voidAppe()/*追加模块*/ {inti,p,t; voidWr_file(); printf("请输入你想添加的职工个数: "); scanf("%d",&i); for(p=0;p }printf("你还想要追加吗? 是请按1否请按2");scanf("%d",&t); if(t==1)Appe(); printf(“追加后的信息为: ”); 3职工信息修改函数 voidModi()/*修改模块*/ {intn,c,p,i,b=1,j=0,k=1; charfname[10]; intlongr; system("COLOR9f");(控制颜色) voidWr_file(); printf("请选择修改方式\n");printf("1: 职工号2: 姓名\n"); scanf("%d",&n); switch(n){输入工号或姓名} for(i=0;i {case1: for(b=1;b<2;) {printf("请输入职工号: ");scanf("%ld",&r); for(i=0;i if(s[i].zgh==r) {p=i;j=1;} switch(j) {case0: printf("无此人信息\n"); scanf("%d",&b);break; case1: for(;k<2;) {printf("请选择修改项目\n"); scanf("%d",&c); switch(c)(修改并保存) Wr_file(); printf("你还要修改此人其他项目吗\n");printf("1: yes2: no\n"); scanf("%d",&k); }if(k==1)continue;(若是k==1则继续修改此人的信息) printf("你还要修改其他职工的其他项目吗\n"); printf("1: yes2: no\n"); scanf("%d",&k);if(k==1)continue; }break; case2: for(;b<2;) {printf("请输入姓名: ");scanf("%s",fname); for(i=0;i if(strcmp(s[i].name,fname)==0)(判断是否找到这个人) {p=i;j=1;} {switch(j) case0: printf("无此人信息\n"); scanf("%d",&b);break; case1: for(;k<2;) {printf("请选择修改项目\n"); scanf("%d",&c); switch(c)(修改并保存) printf("你还要修改此人其项目吗\n"); printf("1: yes2: no\n"); scanf("%d",&k);if(k==1)continue; }break; } printf("你还要修改其他职工的其他项目吗? \n"); printf("1: yes2: no\n"); scanf("%d",&b); }break; }break;(修改完了输出) } } 4职工信息删除函数 voidDele()/*删除模块*/ {inta,b,c,d,x,p,i,j=0; charsname[10]; longintsgh; system("COLOR5f"); voidQuit();(退出函数) printf("请选择删除方式\n"); scanf("%d",&x); switch(x) {case1: for(c=1;c<2;) {printf("请输入删除工号\n");scanf("%ld",&sgh); for(i=0;i if(s[i].zgh==sgh) {b=i;j=1;} switch(j) {case0: printf("无此人\n");printf("还要删\n"); printf("1.yes2.no\n");选择是否还要删除 scanf("%d",&c);break; case1: printf("是否删除此人\n"); printf("1.yes2.no\n"); scanf("%d",&a); switch(a) {case1: for(p=(b+1);p {d=b+1;s[b]=s[d];b++;} N=N-1; Wr_file(); printf("还要删除吗\n"); printf("1.yes2.no\n");选择是否还要删除? scanf("%d",&c);break; case2: c=2;break; } } }break; case2: f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工 信息管理 语言程序设计 报告