《职工工资管理系统课程设计报告》由会员分享,可在线阅读,更多相关《职工工资管理系统课程设计报告(40页珍藏版)》请在金锄头文库上搜索。
1、编号:时间:2021年X月X日书山有路勤为径,学海无涯苦作舟页码:第-I-页共37页一、需求分析2二、概要设计2三、详细设计5四、调试分析18五、用户手册19六、测试数据19七、附录23第-#-页共37页编号:时间:2021年x月X日书山有路勤为径,学海无涯苦作舟 页码:第2 .页共37页一、需求分析职工工资管理系统功能设计要求(1)输入记录:将每一个职工的姓名、ID号以及基本工资、职务工资、岗位津贴、 医疗保险、公积金的数据作为一个记录。该软件能建立一个新的数据文件或给 已建立好的数据文件增加记录。(2)显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各 项工资和平均工资。(
2、3)修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录 内容进行显示。(4)查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录 内容进行显示。(5)删除记录:可删除数据文件中的任一记录。(6)统计:(A)计算各项工资平均工资及总工资,(B)统计符合指定条件(如职工 工资前三项之和在3000元以上、30002000元、20007000元)以内的工资职工 人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及 平均工资(包括各项总的平均工资)。(7)保存数据文件功能。例如:职工工资信息表ID号姓名基本工资职务工资津贴医疗保险-公积金-总工资01张望
3、1286794198109135203402李明118562813594114174003王小民895438986473129404张效章1350868210116150216205彭山7453988461681098各项平均工资 1092.2 625.2 145 88.8 108(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输 入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)二、概要设计第#页共37页编号:时间:2021年x月X日书山有路勤为径,学海无涯苦作舟页码:第.# .页共37页1、程序总体功能框架:主菜单输入功能查找功能退出程序按姓名查找修改工
4、号修改姓名按姓名删除修建本工资I交蛆只务工资按工号查找修改津贴修改医疗保按工号删除修改公枳金2、一些数据结构的介绍:struct worker定义职工的结构体int num;char name20;int int int int intjibengongzi; zhiwugongzi;jintie;yiliaobaoxian; gongjijin;职工工号职工姓名职工的基本工资 职工的职务工资 职工的津贴职工的医疗保险 职工的公积金int qiansan;int sum;职工前三项工资(基本工资、职务工资、津贴)之和 职工的总工资第页共37页编号:时间:2021年X月X日 书山有路勤为径,学海
5、无涯苦作舟 页码:第#.页共37页第页共37页worker100;建立最多为100,、名为worker的结构体3、定义主要的函数:void menu();void Input ();void Modify();void Search();void Add();void Delete ();void Show();void Exit();4、几个主要函数介绍:清屏函数:system(%ls);将前面操作的屏幕清楚,但不会清除数据菜单函数:menu();显示主菜单,便于选择输入函数:Input。;用于输入数据修改函数:Modify ();用于修改数据查找函数:Search();用于查找信息添加函数
6、:Add();用于增加信息删除函数:Delete();用于删除信息显示函数:Show();用于显示信息退出函数:ExitO;用于退出该系统选择函数:select();用于选择显示信息或返回到菜单保存信息的函数:save (): 用于保存信息。保存人数的函数:P0; 用于保存已保存数据的人数5、本程序模块结构主函数模块 int main()system(HclsH);menu();)执行主函数后,执行菜单函数。菜单函数模块void nienu()int n;system(clsH);printf(MnnnH);printf(tt*n),printf(Mtt*nn);printf(Mtt* If
7、you were the first to enter the system *nH);printf(Htt*please select Input!*nn);printf(ntt*nn);printf(ntt*1Input*nn);printf(Htt*2Modifyprintf(Mtt*3Search*nn);printf(ntt*4Add*nn);printf(tt*5Deleteprintf(Htt*6Show*nn);printf(tt*7Exitprintf(Htt*nn);printf(Httnn);printf(MiinH);printf(ttlnput your choose
8、(l-7):H);scanf(%d&n);if(n=l &n=l&n=O&p= 100) 输入职工的信息printf(unnH);printf(uPlease input data:nM);printf(AnM);fl();for(i=0:ip;i+)(input(i);workerfi.suin=workeri.jibengongzi+workeri.zhiwugongzi+workeriJintie-workeri.yiliaobaoxian-workeri.gongjijin; 计算职工的总工资workeri.qiansan=workeri.jibengongzi+workeri.zhiwugongzi+workeri.jintie; 职工前三项工资(基本工资、职务工资、津贴)之和)elseInputO; 如果输入的职工人数超过100,返回输入函数重新输入save(p);保存输入的职工信息selectO;选择显示信息或返回到菜单void ModifyO 修改函数 (int ij=-Ld.kXn;char m20;FILE *fp;定义一个文件指针system(uclsH); 清屏 n=P();printf(HnnM);printf(HChoose the way you want