《职工工资管理系统设计》实验报告
精品文档---下载后可任意编辑 内蒙古工业大学信息工程学院 实 验 报 告 课程名称: c语言 实验名称: 实验类型: 验证性□ 综合性√ 设计性□ 实验室名称: 电西8楼 班级: 计12-2 学号:202420242442 姓名: 孙亚赛 组别: 同组人: 勾涛 付启恒 成绩: 实验日期: 2024-3-3 47 精品文档---下载后可任意编辑 目录 1 题目与要求3 2 功能设计5 5 2.2 模块流程图7 3 程序代码设计8 4 C程序设计总结22 5 结束语23 6 源程序23 1 题目与要求 程序设计的目的和要求 1.目的: 1)复习、巩固程序设计的基础知识,进一步加深对程序设计语言的理解和掌握;熟练使用函数、结构体、文件、数组、循环与选择、链表和指针等知识点,熟练应用C语言综合知识。 2)为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力; 3)培育学生在项目开发中团队合作精神、创新意识及能力。 2.要求: 1)对系统进行功能模块分析、控制模块分析正确,符合题目要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; 2)系统设计要有用、编程简练、功能全面、界面美观、操作使用便捷、程序运行稳定; 3)说明书、流程图要清楚; 4)记录设计情况(备查,也为编写设计说明书作好准备); 5)要求采纳模块化程序设计方法,及锯齿型书写格式,要求上机调试通过,能正确运行; 6)设计上交内容:设计报告一份(按格式书写);源程序一份(电子版,能编译成可执行文件并能正常运行。每个班由班长负责收集并上交)。 题目:职工工资管理系统 1)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清楚美观。 2)、输入功能:职工信息的录入(包括从文件中导入职工信息数据),可以一次完成若干条记录的输入。 3)、浏览功能:完成对全部职工信息的显示。 4)、查找功能: ①完成按姓名查询职工的相关信息,并显示。 ②完成按ID号查询职工的相关信息,并显示。 5)、删除功能:通过输入ID号完成对职工的信息进行删除。 6)、添加功能:完成添加新职工的信息。 7)、修改功能:通过输入ID号完成对职工的信息进行修改。 8)、计算功能:计算职工的各项工资,并得出实发工资。[个人收入所得税按现行税率计算] 9)、统计功能:统计并输出符合指定条件的职工人数及其占总人数和百分比。[如实发工资在5000元以上。 10)、保存功能:可以将职工信息数据保存至指定的文件中。 11)、退出职工工资管理系统。 职工信息应至少包括以下数据:ID号、姓名、基础工资、职务工资、住房公积金、个人收入所得税,水电费、实发工资。 1.1:我实现的题目中的问题: 主菜单页面制作; 职工数据输入; 职工全部数据浏览; 按姓名、学号查找职工数据; 通过ID号对职工数据进行删除; 通过ID号对职工数据修改; 职工数据统计(将自己题目做完后完成了其它功能)。 本系统涉及的知识点:结构体、数组、循环、选择、函数调用、分支、指针、全局变量、文件读取、保存 实现的题目功能: 主菜单页面制作; 职工数据输入; 职工全部数据浏览; 按姓名、学号查找职工数据; 通过ID号对职工数据进行删除; 通过ID号对职工数据修改; 职工数据统计; 2 功能设计 2.1.1进入主函数后执行newu函数,利用switch语句设计如图1所示的主菜单 请输入要执行的功能对应选项(1-10) 1. 录入职工信息 2. 浏览职工信息 3. 添加职工信息 4. 查询职工信息 5. 删除职工信息 6. 修改职工信息 7. 员工实发工资 8. 职工工资排序 9. 职工工资统计 10. 返回菜单 2.1.2选择1后录入职工信息,执行函数利用循环录入职工各项信息,输入完毕后将所有数据存入文件。 2.1.3输入2后浏览职工信息,执行view函数,读取文件,利用循环将职工各项信息显示 2.1.4输入3后添加职工信息,执行tianjia函数,读取文件,输入添加人数,然后调用1函数,利用全局变量D自动将新添加的职工信息补充到已存职工信息后面(利用循环),保存至文件 2.1.5输入4后查找职工信息(利用switch语句,通过ID号和姓名查找),利用charge函数,读取存入到文件中的职工信息,选取相应的使用通过ID号(charge1函数)和姓名查找(charge2)的函数对职工信息查找 2.1.6输入5后通过ID号删除职工信息,调用delete函数,读取文件,利用循环将与输入ID号相同的文件中的职工信息删除。 2.1.7输入6后通过输入ID号修改员工信息,调用xiugai函数,读取文件通过循环将所需各项信息修改 2.1.8输入7后统计员工工资,调取gongzhi函数,将员工实发工资输出,其中实发工资在输入函数函数中利用选择和循环计算得出 2.1.9输入8后进行职工工资函数,调取tongji函数,读取文件,利用循环将职工工资比较,进行排序 2.1.10输入9后进行职工工资统计,调取tongji函数,将职工工资分为5000以上、3000-4000、2000-3000、2000以下四个档次,其中对数据的统计在输入函数函数中实现。 2.1.11输入10为返回函数,即调用newu函数返回主菜单 2.1.12输入11为写入对使用此系统的意见: 2.2 模块流程图 职工工资信息管理系统 主菜单newu() 输入模块() 添加模块1() 浏览模块view() 排序模块paixu() 按姓名查询 charge2() 查询模块 charge() 按员工ID号查询 charge1() 按实发工资排序 paixu() 删除模块 delete() 修改模块 员工工资统计 3 程序代码设计 struct Worker { int num; //ID号码 char name[20]; //姓名 int salary1; //基础工资 int salary2; //职务工资 int salary3; //住房公积金 int salary4; //社保金