2022年职工工资信息管理系统实验报告 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年职工工资信息管理系统实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年职工工资信息管理系统实验报告 .pdf(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 安徽科技学院计算机科学与技术专业数据结构课程设计实验报告学院: 理学院班级: 计算机 102 班组长: 裴桂林学号:1881100215 成员:汤芸 1881100217 张静 1881100227 汪娟 1881100220 裴桂林 1881100215 开课学期: 2011年2012 年实验日期: 2011 年 12 月 14 日-2011 年 12 月 28 日指导教师 : 庄锁法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 30 页 - - - - - -
2、- - - 2 实验名称职工工资信息管理系统实验场所力行楼六楼实验室四1概要设计:一:这是一个用链表的方法来设计一个职工工资信息的管理程序,该程序应该具有下列功能:(1)添加功能: 添加一个职工的基本信息,包括工资卡号、身份证号、姓名、基本工资、职务工资、各种补助、应发工资、水电费、公积金、税金、实发工资等(2)删除功能: 能够对一个职工的信息进行删除,例如按姓名进行删除、(3)显示功能: 显示所有职工的主要信息包括工资卡号、身份证号、姓名、基本工资、职务工资、各种补助、应发工资、水电费、公积金、税金、实发工资等(4)查找功能: 根据你键入的职工姓名,显示其详细信息;(5)修改功能: 根据你键
3、入的职工姓名,对该职工工资信息进行修改;(6)排序功能: 对职工的信息按照实发工资进行排序。二:系统功能模块图如下所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 30 页 - - - - - - - - - 3 2. 详细设计一: 头文件及结构体#include #include #include typedef struct Staff char no7; /工资卡号char ide19;/身份证号char name10;/姓名char sex4;/性别int a
4、ge;/ 出生年份double jsal; /基本工资double zhsal; /职务工资double buzhu; /补助double ysal;/应发工资double fare;/水电费double gjj;/公积金double tax;/税金double shsal;/实发工资 Worker; typedef struct Linker Worker workperson; struct Linker *next; Link; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
5、3 页,共 30 页 - - - - - - - - - 4 二:声明函数void Menu(); /菜单void Add(); /添加void Del(); /删除void Show();/浏览void Search();/查找void Update();/修改void Sort();/排序void ExitManger();/ 退出三:主函数的编写void main() system(color 4d); Link *List = NULL; int n, flag; char a; Menu(); do printf(请选择你需要操作的步骤(1-7):n); scanf(%d, &n);
6、 if (n = 1 & n = 7) flag = 1; break; else flag = 0; printf( 您输入有误,请重新选择!); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 30 页 - - - - - - - - - 5 while (flag = 0); while (flag = 1) switch (n) / 下面通过 switch 来实现多条件的选择case 1:printf( 添加职工信息n); printf(n); Add(List)
7、; break; case 2:printf( 显示职工信息n); printf(n); Show(List); break; case 3:printf( 按姓名查询职工信息n); printf(n); Search(List); break; case 4:printf( 删除职工信息n); printf(n); Del(List); break; case 5:printf( 按实发工资排序n); printf(n); Sort(List); break; case 6:printf( 修改职工信息n); printf(n); Update(List); break; case 7:Ex
8、itManger();break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 30 页 - - - - - - - - - 6 default:break; if (n = 7) /直接退出 flag = 0; break; getchar(); printf(n); printf( 是否继续使用该管理系统(y or n):n ); scanf(%c, &a); if (a = y) flag = 1; system(cls); /清屏Menu(); /*调用菜单函
9、数 */ printf( 请选择你需要操作的步骤(1-7):n); scanf(%d, &n); else flag = 0; break; 四:对各个函数的定义1: 主菜单函数void Menu() system(color 4d); printf( 计算机科学与技术学系 n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 30 页 - - - - - - - - - 7 printf(n); printf( 102 班 裴桂林 张静 汤芸 汪娟 n); print
10、f(n); printf( *职工工资信息管理系统*n); printf( 1.添加职工信息 n); printf( 2.显示职工信息 n); printf( 3.查询职工信息 n); printf( 4.删除职工信息 n); printf( 5.排序职工信息 n); printf( 6.修改职工信息 n); printf( 7.退出 n); printf( *谢谢使用 *n); printf(n); printf(n); 2:添加函数在添加的过程中,性别应为男或女,工资卡号规定为6 位,年份应为4 位 , 身份证号应为18位,对与不符合要求的输入,可以通过比较,通过do while这个循环来
11、进行重新输入。Add 函数中调用 search3 函数int search3(Link *L, char str); /返回 1 表示有重复, 0 表示没有void Add(Link *&L) /头插法 int right; Worker e; Link *newworker; printf( 请输入该职工的信息n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 30 页 - - - - - - - - - 8 do printf( 输入工资卡号 (6 位):n);
12、scanf(%s, &e.no); if (strlen(e.no) != 6) printf( 输入错误 ,请重新输入 !n); right = 1; else if (search3(L, e.no) printf( 亲!你输入的卡号已存在,请重新输入吧 !); right = 1; else right = 0; while (right = 1); do printf( 输入身份证号 (18 位):n); scanf(%s, &e.ide); if (strlen(e.ide) != 18) printf( 输入错误 ,请重新输入 !n); right = 1; else if (se
13、arch3(L, e.ide) printf( 亲!你输入的身份证号已存在,请重新输入吧 !); right = 1; else right = 0; while (right = 1); printf( 输入姓名 :n); scanf(%s, &e.name); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 30 页 - - - - - - - - - 9 do printf( 输入性别 :n); scanf(%s, &e.sex); if (strcmp(e.sex
14、, 男) != 0 & strcmp(e.sex, 女) != 0) printf( 输入错误 ,请重新输入 !n); right = 1; else right = 0; while (right = 1); printf( 输入出生年份 :n); scanf(%d, &e.age); printf( 输入基本工资 :n); scanf(%lf, &e.jsal); printf( 输入职务工资 :n); scanf(%lf, &e.zhsal); do printf( 输入补助 :n); scanf(%lf, &e.buzhu); if (e.buzhu 0) printf( 输入错误 ,
15、请重新输入 !n); right = 1; else right = 0; while (right = 1); printf( 输入水电费 :n); scanf(%lf, &e.fare); printf( 输入公积金 :n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 30 页 - - - - - - - - - 10 scanf(%lf, &e.gjj); printf( 信息输入完毕 n); e.ysal = e.jsal + e.zhsal + e.buz
16、hu; if (e.ysal workperson = e; newworker-next = L; L = newworker; int search3(Link *L, char str) Link *p = L; while (p != NULL) if (strcmp(p-workperson.no, str) = 0| strcmp(p-workperson.ide, str) = 0) return 1; p = p-next; return 0; 3.删除函数按姓名查到职工信息删除,Del 函数调用 del1;void del1(Linker *&L, char person)
17、Linker *p = L, *q; /q指向 p 的前面一个人名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 30 页 - - - - - - - - - 11 while (p != NULL) if (strcmp(p-workperson.name, person) = 0) break; q = p; p = p-next; q-next = p-next; free(p); printf( 删除完毕 !n); void Del(Linker *&L) /按姓
18、名进行删除 char person10; char ch; int flag = 0; while (flag = 0) printf( 请输入你要删除的姓名:); scanf(%s, person); del1(L, person); printf( 你还想继续删除吗?y or n n); getchar(); scanf(%c, &ch); if (ch = y) del1(L, person); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 30 页 - - -
19、 - - - - - - 12 else flag = 1; break; 4.显示函数显示职工所有信息;void Show(Link *L) Link *p = L; int k = 1; while (p != NULL) printf( 第%d 个职工的信息如下:n, k+); printf( 工资卡号 : %sn, p-workperson.no); printf( 身份证号 : %sn, p-workperson.ide); printf( 姓名: %sn, p-workperson.name); printf( 性别: %sn, p-workperson.sex); printf(
20、 年龄: %dn, p-workperson.age); printf( 基本工资 : %.1lfn, p-workperson.jsal); printf( 职务工资 : %.1lfn, p-workperson.zhsal); printf( 补助: %.1lfn, p-workperson.buzhu); printf( 应发工资 : %.1lfn, p-workperson.ysal); printf( 水电费 : %.1lfn, p-workperson.fare); printf( 公积金 : %.1lfn, p-workperson.gjj); 名师资料总结 - - -精品资料欢
21、迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 30 页 - - - - - - - - - 13 printf( 税金: %.1lfn, p-workperson.tax); printf( 实发工资 : %.1lfn, p-workperson.shsal); printf(n); p = p-next; 5.查找函数按姓名查找职工信息,Search 函数中调用search1;int search1(Link *L, char person) Link *p = L; int flag = 0; i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年职工工资信息管理系统实验报告 2022 职工工资 信息 管理 系统 实验 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内