收藏 分享(赏)

职员管理系统.doc

上传人:weiwoduzun 文档编号:2325251 上传时间:2018-09-10 格式:DOC 页数:24 大小:602.71KB
下载 相关 举报
职员管理系统.doc_第1页
第1页 / 共24页
职员管理系统.doc_第2页
第2页 / 共24页
职员管理系统.doc_第3页
第3页 / 共24页
职员管理系统.doc_第4页
第4页 / 共24页
职员管理系统.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、 程序设计训练 (一)职员管理系统 报告一:程序设计目的和要求目的:1通过程序设计,提高对信息管理系统的分析能力,达到理论与实际应用相结合。2. 能够根据实际应用,初步实现系统功能模块及算法的设计。3. 利用程序,实现系统的功能,进而提升到与现实相结合并在生活中利用和推广。4. 掌握程序设计的基本思想和其原理。要求:1. 使用 C 语言,源程序要有适当的注释,使程序容易阅读。2. 程序中要使用结构和链表等数据结构。3. 使用文件保存数据。 二:程序设计任务内容职员管理系统给企业提供了一个对职员的管理平台,企业可以对其职员的姓名、年龄、身份证号、部门、职位、住址以及工资进行增加、删除、修改等管理

2、操作。且其职员的各项信息保存在文件中,便于存储以及以后的使用等。职员管理系统功能如下:1. 程序载入 :由主函数调用,在每次操作前新建链表,预载入保存的职工信息记录。2用户选择界面:系统提供六种选择供用户选择。3. 新建记录: 由主函数调用,新建职工记录。4. 查询职员信息:由主函数调用,查询职工记录。5. 修改职员信息: 由主函数调用,先查询指定职工记录,再修改。6. 删除职员信息: 由主函数调用,先查询指定职工记录,再删除。7. 显示职员信息: 由主函数调用,显示所有职工记录。8. 打印职工报表:由主函数调用,打印记录报表9. 保存职员信息:由新建记录模块、修改模块、删除模块调用,保存数据

3、到文件。三:程序详细设计说明1. 主要设计思想:主函数无限循环;操作之前先开辟内存,建立动态链表,文件中如果有数据则导入内存,每条记录存入一个链表节点;数据的录入、修改、插入、删除、查询等均是对内存中的链表进行操作。(2)函数模块:载入模块、新建记录模块、查询模块、修改模块、删除模块、显示模块、保存数据模块、打印模块。2. 系统模块结构流程图主要分为两个模块:用户选择模块、职员管理模块3.系统流程描述:用户选择模块职员管理模块职员管理系统4. 界面(1)用户选择界面为用户提供了七种选择。(2)职员管理模块1新建职工记录:声明: void newRec();由主函数调用,在每次操作前新建链表,预

4、载入保存的职工信息记录。2. 查询职工记录:声明: void searchRec();3. 修改职工记录: 声明: void modifyRec();4. 删除职工记录: 声明: void deleteRec();5. 显示模块: 声明: void displayRec();6. 打印报表模块:声明 void printRec();7. 保存数据模块:声明: void saveRec();五 软件使用说明1. 在使用该软件系统时,可以看到用户界面简单,系统为用户提供六种选择 ,而且每一种选择相对简单实用。2. 用户选择每一种对应的系统提供的选择,之后便可按照系统的指示执行程序,直到程序的结束。

5、3. 程序中职员信息储存在“data”中,最后程序结束后,职员的信息被保存在“printRec.txt”文件中。六 程序设计心得与体会经过十几天的不懈奋斗,总算把职员管理系统完成。在老师告诉我们要做程序设计时,心里有些害怕,毕竟从来也没有接触这些东西。而且对实习内容也一无所知,担心题目会很难,害怕不能按时完成任务。在老师上训练课的时候经老师的讲解开始接触实习内容,看老师的操作过程,感觉程序设计也不是那么难。回来看过一遍实习参考题目,感觉和老师讲的差不多,决定按照老师的步骤和方法来做。之后心里一点也不敢懈怠,仔细看了一遍题目,先构思了一下思路,接着上网查了一下程序流程,以遍有一个准备知道自己将要

6、干什么。当时心里很矛盾,自己对文件的操作不太熟,不想用它,但当时时间较充足可以复习一下,不过也有点担心,害怕自己难以完成。最后压力再次袭来。经过考虑,把文件考虑在内,给自己一个挑战,也可以让自己有提升的空间。在编写程序的过程中出现了很多问题,自己凭借提示仔细查找错误所在,尽力解决问题,同时也多查课本和询问别人。经过一步一步,一个一个模块,终于在6月30日完成了。同时自己验证了一遍各部分的功能,都对。那一刻,心里别提有多高兴了。通过这次程序设计,自己在学习方面,有很多收获。程序设计训练 (一)职员管理系统 报告附录 1:参考文献1.李丽娟,C/C+ 语言程序设计教程,人民邮电出版社。2. 廖雷,

7、C 语言程序设计基础实验教程,高等教学出版社。3. 谭浩强,C 语言设计,北京:清华大学出版社。附录2:程序清单#include/*I/O 函数*/#include/*字符串函数*/#include/*动态存储分配函数*/#include /*标准函数库*/#include/*屏幕操作函数*/#define NULL 0 /*宏定义*/#define LEN sizeof(struct worker)/*宏定义 */struct worker /*数据结构链表*/char id19;char name9;char sex3;int age;char department7;char posit

8、ion7;char telephone13;float pay;struct worker *next;void newRec();/*新建职工记录*/void searchRec();/*查询职工记录*/void modifyRec();/*修改职工记录*/void deleteRec();/*删除职工记录*/void displayRec();/*显示所有职工信息*/void loadRec();/*导入文件到内存*/void saveRec();/*保存所有记录*/void printRec();/*输出报表*/int menu_select();/*主菜单 */struct worke

9、r * head,* p1,* p2,* p3;/*定义结构体指针head 为头指针p1 为输入数据缓存空间指针p2 为尾指针*/void main() /*主函数 */for(;)loadRec();switch(menu_select()case 1: system(“cls“); newRec();break;case 2: system(“cls“); searchRec();break;case 3: system(“cls“); modifyRec();break;case 4: system(“cls“); deleteRec();break;case 5: system(“cl

10、s“); displayRec();break;case 6: system(“cls“); printRec();break;case 0: exit(0);int menu_select()/*主菜单*/ char *menu=“tt*菜单 *n“,“ttt1.新建职工记录“,“ttt2.查询职工记录“,“ttt3.修改职工记录“,“ttt4.删除职工记录“,“ttt5.显示所有信息“,“ttt6.打印职工报表“,“ttt0.退出(任何情况下按 Ctrl+C 退出程序 )“;int c,i;for(i=0;i6);return c;void loadRec()/*导入文件到内存*/FILE

11、 * fp;p2=p3=(struct worker *)malloc(LEN);/*开辟一个新单元 */p3-next =NULL;head=p1=(struct worker *)malloc(LEN);/*开辟一个新单元 */p1-next =NULL;if(fp=fopen(“data“,“rb“)!=NULL) fp=fopen(“data“,“rb“);p2-next =p1;dofread(p1,LEN,1,fp);p2-next =p1;p2=p1;p1=(struct worker * )malloc(LEN);/*开辟一个新单元*/while(p2-next!=NULL);

12、fclose(fp);return;void newRec()/*新建职工记录 */printf(“nnttt 请正确输入职工基本信息:“);printf(“nttt 请输入身份证号码:“);scanf(“%s“, p1-id);printf(“ttt 请输入姓名:“);scanf(“%s“,p1-name );printf(“ttt 请输入性别:“);scanf(“%s“,p1-sex );printf(“ttt 请输入年龄:“);scanf(“%d“,printf(“ttt 请输入部门:“);scanf(“%s“,p1-department );printf(“ttt 请输入职位:“);s

13、canf(“%s“,p1-position );printf(“ttt 请输入电话号码:“);scanf(“%s“,p1-telephone );printf(“ttt 请输入工资:“);scanf(“%f“,saveRec();/*保存数据 */printf(“ntt 按任意键返回n“);getch();system(“cls“); /*清屏*/void saveRec()/*保存所有记录*/FILE *fp;p1=head;fp=fopen(“data“,“wb“);dofwrite(p1,LEN,1,fp);p1=p1-next ;while(p1!=NULL);fclose(fp);v

14、oid searchRec()/*查询职工记录*/char id19;p1=head;printf(“nntt 请输入职工身份证以便查证:“);scanf(“%s“,id);while(strcmp(p1-id,id )!=NULL)if(p1-next =NULL)printf(“nnttt 找不到该职工信息!n“);gotoback;else p1=p1-next ;printf(“ttt 信息如下:nttt 身份证号码:“);printf(“%sn“,p1-id );printf(“ttt 姓名:“);printf(“%sn“,p1-name);printf(“ttt 性别“);prin

15、tf(“%sn“,p1-sex);printf(“ttt 年龄:“);printf(“%dn“,p1-age);printf(“ttt 电话号码:“);printf(“%sn“,p1-telephone);printf(“ttt 手机号码:“);printf(“ttt 部门:“);printf(“%sn“,p1-department );printf(“ttt 职位:“);printf(“%sn“,p1-position );printf(“ttt 工资:“);printf(“%.0fn“,p1-pay );printf(“nttt 按任意键返回n“);getch();system(“cls“

16、); /*清屏*/back:return;void modifyRec()/*修改职工记录*/char id19;p1=head;printf(“nnttt 请输入职工身份证以便查证:“);scanf(“%s“,id);while(strcmp(p1-id,id )!=NULL)if(p1-next =NULL)printf(“nnttt 找不到该职工信息!n“);gotoback;else p1=p1-next ;printf(“ttt 信息如下:nttt 身份证号码:“);printf(“%sn“,p1-id );printf(“ttt 姓名:“);printf(“%sn“,p1-name

17、);printf(“ttt 性别“);printf(“%sn“,p1-sex);printf(“ttt 年龄:“);printf(“%dn“,p1-age);printf(“ttt 电话号码:“);printf(“%sn“,p1-telephone);printf(“ttt 部门:“);printf(“%sn“,p1-department );printf(“ttt 职位:“);printf(“%sn“,p1-position );printf(“ttt 工资:“);printf(“%.0fn“,p1-pay );printf(“请正确输入职工基本信息:“);printf(“nttt 请输入身

18、份证号码:“);scanf(“%s“, p1-id);printf(“ttt 请输入姓名:“);scanf(“%s“,p1-name );printf(“ttt 请输入性别:“);scanf(“%s“,p1-sex );printf(“ttt 请输入年龄:“);scanf(“%d“,printf(“ttt 请输入部门:“);scanf(“%s“,p1-department );printf(“ttt 请输入职位:“);scanf(“%s“,p1-position );printf(“ttt 请输入电话号码:“);scanf(“%s“,p1-telephone );printf(“ttt 请输入

19、工资:“);scanf(“%f“,saveRec();printf(“ttt 修改成功!n“);printf(“nttt 按任意键返回n“);getch();system(“cls“); /*清屏*/back:return;void deleteRec()/*删除职工记录*/struct worker * p0;char id19;p0=p1=head;printf(“nnttt 请输入要删除职工的身份证号码:“);scanf(“%s“,id);if(strcmp(id,p1-id )=NULL)head=head-next ;elsep1=p1-next ;while(strcmp(p1-i

20、d,id )!=NULL)if(p1-next =NULL)printf(“nnttt 找不到该职工信息!n“);gotoback;else p0=p1; p1=p1-next ;p0-next =p1-next ;saveRec();printf(“ttt 删除记录成功!n“);printf(“nttt 按任意键返回n“);getch();system(“cls“); /*清屏*/back:return;void displayRec()/*显示所有职工信息*/if(p3-next =NULL)printf(“nnttt 无记录!n“);goto back;elsep1=head;dopri

21、ntf(“ttt 信息如下:nttt 身份证号码:“);printf(“%sn“,p1-id );printf(“ttt 姓名:“);printf(“%sn“,p1-name);printf(“ttt 性别“);printf(“%sn“,p1-sex);printf(“ttt 年龄:“);printf(“%dn“,p1-age);printf(“ttt 电话号码:“);printf(“%sn“,p1-telephone);printf(“ttt 部门:“);printf(“%sn“,p1-department );printf(“ttt 职务:“);printf(“%sn“,p1-positi

22、on );printf(“ttt 工资:“);printf(“%.0fn“,p1-pay );printf(“ttt_nn“);p1=p1-next ;while(p1!=NULL);printf(“nttt 按任意键返回n“);getch();system(“cls“); /*清屏*/back:return;void printRec()/*输出职工报表*/FILE * fp;fp=fopen(“printRec.txt“,“w“);if(p3-next =NULL)printf(“nnttt 无记录!n“);goto back;elsefprintf(fp,“ %s “,“身份证号码 “)

23、;fprintf(fp,“%s “,“姓名“);fprintf(fp,“%s “,“性别“);fprintf(fp,“%s “,“年龄“);fprintf(fp,“%s “,“电话号码“);fprintf(fp,“%s “,“部门“);fprintf(fp,“%s “,“职位“);fprintf(fp,“%s “,“工资“);p1=head;dofprintf(fp,“ %s |“,p1-id );fprintf(fp,“%s |“,p1-name);fprintf(fp,“%s |“,p1-sex);fprintf(fp,“%d |“,p1-age);fprintf(fp,“%s |“,p1-telephone);fprintf(fp,“%s |“,p1-department );fprintf(fp,“%s |“,p1-position );fprintf(fp,“%.0f |“,p1-pay );p1=p1-next ;while(p1!=NULL);printf(“nnttt 打印成功!n“);printf(“nttt 按任意键返回n“);getch();system(“cls“); /*清屏*/back:return;

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

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报