文档介绍::..C语言课程设计实验总结一、需求分析:1•需求概述设计一个职工信息管理系统,使Z能提供以下功能:(1) 职工信息录入功能(2) 职工信息浏览功能(3) 职工信息删除功能(4) 职工信息修改功能(5) (1) 职工信息包括:职工号、姓名、性别、出生年月、学历职务、工资、住址、电话,并且职工号要求不重复。(2) 录入的职工信息要求用文件形式保存,并对其进行浏览、查询、修改、删除等基本操作。(3) 对职工的信息分别按职工号、性别、姓名、工资四种方式进行查询,并返回所有符合条件的职工信息。(4) 对职工信息的修改应该逐个进行,一个职工的信息修改不应影响其他职工的信息。(5) 所设计的系统应以菜单的方式工作,应为用户提供清晰的使用提示,依据用户的选择进行各种处理,并要求在此过程中能够尽可能的兼容用户使用过程中的异常情况。二、,如下图所示:其中:(1)菜单选择模块完成用户的选择,此模块也是职工信息管理系统的入口,用户所要进行的所有操作需要在此模块屮选择,并调用相对应的模块实现相应的功能。(2)信息输入模块完成信息的录入功能,输入的信息包括:职工号、姓名、性别、出生年月、学历职务、工资、住址、电话。(3)信息浏览模块完成对所有的职工的信息的显示。(4)信息查询模块分四种查询方式:按职工号查询、按性别查询、按姓名查询、按职务查询。并口输出相对应口符合要求的职工信息。(5)信息修改模块完成的是职工信息的修改功能。(6)信息删除模块完成的是职工信息的删除功能。2•数据结构本系统中的主要数据结构为职工的信息,其中包含:职工号、姓名、性别、出生年月、学历职务、工资、住址、电话等,其中的出生年月用结构体表示,其中又包含:出生的年份、出生的月份、出生的口期。,依据用户的选择进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统流程图如下图所示::开始:\/三、(1)职工信息:structZg{charnum[20];〃职工号charname[15];//姓名charsex;〃性别structBirthdaybirthday;〃击牛年月charxueli[10];//学历charposition[15J;〃职务intwage;〃工资charaddress[20];住址charphone[12];〃电话}zg[N];(2)出生年月structBirthday〃出生年月intyear;intmonth;intday;};,各个功能模块的处流程如下:(1) 菜单模块清屏;绘制菜单界面;信息提示,提示用户选择相应的序号;判断选择序号是否正确;返回变量的值;(2) 信息录入模块定义相关变量;判断文件能否打开;提示需要输入职工个数;for(循环条件){提示输入信息;将信息写进文件;}提示是否退出该菜单;关闭文件;(3) 浏览信息模块定义相关变量;判断文件能否打开;输出所有职工信息;关闭文件;(4) 信息查询模块定义相关变量;判断文件能否打开;do{清屏;输出查询菜单;提示用户选择相应的序号;switch(变量){判断查询方式;}提示是否退出该菜单;}while(循环条件);(5) 按职工号查询模块定义相关变量;判断文件能否打开;do{信息提示;for(;循环条件;){判断是否符合条件;若符合计数器加1;输出符合的职工信息;}判断计数器是否为0;若为0,输出相关信息;提示是否退出该菜单;}while(循环条件);(6) 按性别查询模块定义相关变量;判断文件能否打开;do{信息提示;for(;循环条件;){判断是否符合条件;若符合计数器加1;输出符合的职工信息;}判断计数器是否为0;若为0,输出相关信息;提示是否退出该菜单;}while(循环条件);(7) 按姓名查询模块定义相关变量;判断文件能否打开;do{信息提示;for(;循环条件;)判断是否符合条件;若符合计数器加1;输出符合的职工信息;判断计数器是否为0;若为0,输出相关信息;提示是否退出该菜单;}while(循环条件);(8) 按职务查询模块定义相关变量;判断文件能否打开;do{信息提示;for(;循环条件;){判断是否符合条件;若符合计数器加1;输出符合的职工信息;}判断计数器是否为0;若为0,输出和关信息;提示是否退出该菜单;}while(循环条件);(9) 信息删除模块定义相关变量判断能否打开文件提示信息;for•(循环条件)判断是否是要删除的职工;若是则记标志变量为1;若不是则将其写入临时