职工工资管理系统
2
第 1 章 课程设计题目及要求
1. 课程设计题目
职工工资管理系统
职工工资管理系统功能设计要求 : (1)输入记录:将每一个职工的姓名、ID 号以及基本工资、职务工资、岗位 津贴、医疗保险、公积金的数据作为一个记录。该软件能建立一个新的数据文件 或给已建立好的数据文件增加记录。 (2)显示记录:根据用户提供的信息或者根据姓名显示一个或几个职工的 各项工资和平均工资。 (3)修改记录:可以对数据文件中的职工 ID 或者名字进行修改。 (4)查找记录:可以对数据文件的数据(职工的 ID 号或者名字)进行查找。 (5)删除记录:可删除数据文件中的所有职工信息或者职工的 ID 号进行删 除。 (6)统计: a:计算各项工资平均工资及总工资 b: 统计符合指定条件(职工工资前三项之和在 2000 元以上的职工人数及占总 职工人数的百分比)。 (7)保存数据至文件。
《高级语言程序设计》
课 程 设 计 报 告 书
题 专 学
目: 职工工资管理系统 业: 计算机科学与技术 号: 151006412
学生姓名: 邝帅强 指导教师: 邵晓艳 完成日期: 2016-6-12
1
目录
第一章 课程设计的题目及要求 1.1 课程设计题目·······································································3 1.2 课程设计功能介绍····················································`············3 第二章 系统概要设计 2.1 系统控制流程图····································································5 2.2 数据的组织描述······························································5 第三章 系统关键代码 3.1 算法流程图··········································································6 3.2 源代码·················································································7 第四章 程序调试 4.1 创建文件·············································································20 4.2 主菜单················································································20 4.3 输入记录·············································································20 4.4 显示记录·············································································21 4.5 修改记录·············································································22 4.6 查找记录·············································································21 4.7 删除记录·············································································23 4.8 统计数据·············································································23 第五章 课程设计总结 5.1 开发中遇到的困难及解决方法···········································25 5.2 系统的功能和不足··························································25 5.3 收获与感受···································································25
3
用户再循环输入每个职工的各项信息,直至把所需要输入的职工输完。最后按任 意键返回主菜单。 (2)显示记录:显示用户所输入的全部职工信息和平均工资。 (3)修改记录:用户看可以对输入的职工任意信息选择性修改。 (4)查找记录:查找有两种查找方式: a 按照职工的 ID 号进行查找 b 按照职工名字进行查找。 然后程序再根据用户选择的查找方式运行,再显示出查找到的结果。 (5)删除记录:删除有两种删除方式: a 删除所有职工信息 b 删除职工 ID 号。 选择删除方式后删除数据后,数据不可以恢复。 (6)统计:有两种统计形式: a 计算各项工资平均工资及总工资 b 统计职工工资前三项之和在 2000 元以上的职工人数及占总职工人数 的百分比。 (7)保存记录:可以对输入的职工信息进行保存。信息会保存在一个 txt 文件(txt 文件自动建立)。
例如:职工工资信息表 ID 号 姓名 01 02 03 04 05 张望 李明 王小民 张效章 彭山 基本工资 职务工资 津贴 医疗保险 1286 1185 895 1350 745 794 628 438 868 398 625.2 198 135 98 210 84 145 109 94 64 116 61 88.8 公积金 4 2162 1098
7
void menu() { system("cls"); //清空屏幕 int x; printf(" 职工工资管理系统\n"); printf("*********************************************\n"); printf("1 输入记录\t2 显示记录\n"); printf("3 修改记录\t4 查找记录\n"); printf("5 删除记录\t6 统计\n"); printf("7 保存数据\t0 退出系统\n"); printf("*********************************************\n"); printf("请输入你的选项(0-7):"); scanf("%d",&x); switch(x) { case 0:printf("谢谢使用职工工资管理系统!\n"); exit(1); break; case 1:system("cls"); input(); break; case 2:display(); break; case 3: system("cls"); xiugai(); break; case 4: system("cls"); search(); break; case 5:remove(); break; case 6:count(); break; case 7:savefile(); break; default:printf("错误!请重新输入\n"); getch(); //任意键返回 break; } } int loadfile() {
... 各项平均工资 1092.2
2. 课程设计功能介绍
在主函数中用一个 while 循环,循环里的语句是主菜单函数,while 中的判断 条件为 1,可以一直循环。在菜单程序里运用 switch 语句,利用 switch 的调用, 用户可以根据自己的需要来选择相对应的功能。 调用的每一个子函数都能实现实 现相对应的功能。每一项功能如下: (1)输入记录:从主菜单进入输入项后,用户先输入需要输入的职工人数,然后
4
第二章 系统概要设计
1.系统控制流程图
建立 txt 文件
主菜单
输 入 职 工 信 息
显 示 职 工 信 息
修 改 职 工 信 息
查 找 职 工 信 息
删 除 职 工 信 息
统 计 数 据
保 存 数 据
退 出
2.数据的组织描述 程序运用了一个结构体,用来包含职工的 ID、姓名、基本工资、职务工资、 津贴、医疗保险、公积金数据。没有运用宏定义。在程序的最前面定义了一个整 型变量 k 和指针变量 fp。k 用来计算输入的职工个数和一些函数返回值,fp 用来 指向程序建立的文件 employee.txt。 3.模块之间的参数设计 程序一共调用了 15 个子函数,其中有 14 个为 void 类型,一个为 int 类型。 全部子函数如下:void menu()程序的主菜单、void input()用户用来输入数据、int loadfile()程序自动创建 employee.txt 文件用来储存用户输入的数据、 void savefile() 保存用户输入的数据、void display()显示用户输入的数据、void xiugai()用户可以 自己已经输入的修改一些数据、void search()查找职工信息、void search_idh()按 ID 查找职工信息、void search_mingzi()按职工名字查找、void remove()删除职工 数据、void remove_all()删除所有职工数据、void remove_idh() 按 ID 号删除职工 数据 、 void count() 统计 职工数据、 void count_ava() 统计职工平均工资、 void count_point()统计职工工资前三项之和在 2000 元以上的人数及所占比例。 每一个 子函数最后都有一条语句可以按任意键退出,然后返回主函数,再继续调用显示 主菜单选择其他功能。