已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库课程设计报告设计题目:工 资 管 理 系 统 学生姓名: 学生学号: 班 级:11计算机专升本 指导教师: 李素萍 2013年 1 月 4 日目 录一、需求分析:3二、程序的主要功能:3三、程序运行平台:3四、系统总框架图3五、程序类的说明:4六、设计分析4七、测试分析结果4八、程序源代码5一、需求分析 随着企业规模的越来越扩大化,企业员工的数量也越来越多,企业的工资管理更加复杂。如果人工操作,每月发放工资需要人工做很大规模的运算,浪费劳动力,也耗费时间。所以我们用计算机管理系统对职工工资进行管理,这样就优化了管理体系,提高了管理效率,使管理简易化,高效化,智能化,同时还提高了管理的透明度和互动性。二、程序的主要功能1、创建功能:添加一个职员的基本信息,包括员工编号,姓名,基本工资,奖金,扣款。2、删除功能:能够对一个职员的工资信息进行删除按员工编号进行删除、3、添加功能:能够添加新员工的工资信息。4、插入功能:能够插入员工的工资信息,包括员工编号,姓名,基本工资,奖金,扣款。5、修改功能:输入要修改的员工编号后可以对员工的基本信息进行修改。6、查找功能:可以通过员工编号或者员工姓名进行查找。7、排序功能:可以按员工编号进行排序。8、打印功能:能够将员工的工资信息打印出来。三、程序运行平台VC+6.0四、 系统总框架图职工工资管理系统 工号排序删除记录打印记录查找记录修改记录插入记录添加记录创建记录五、程序类的说明class workerpublic:int num;string name;float jbgz;float jj;float kk;float sj;float sfgz; worker*next;worker*head=NULL;六、程序分析 建立一个员工类,放入员工基本信息做为公用数据成员,以供其它函数调用。在主函数中调用menu函数,根据输入数字选择所需模块,有创建记录,删除记录,添加记录,插入记录,寻找记录,工号排序,打印记录这些模块,完成职工工资信息的管理七、测试分析结果 进入界面如下排序后的记录:删除后的记录如下:八、程序源代码#include#includeusing namespace std;class workerpublic:int num;string name;float jbgz;float jj;float kk;float sj;float sfgz; worker*next;worker*head=NULL;bool cherk(string str)int i;for(i=0;istr.length();i+)if(stri9)&(stri!=.)return false;return true;void menu() /*主菜单*/system(cls); /*调用DOS命令,清屏.与clrscr()功能相同*/cout 制作者:韩娟 n; cout 学号:110731006 n; cout 职工工资管理系统 n; cout *n;cout * 1 创建记录 2 删除记录 *n;cout * 3 添加记录 4 插入记录 *n;cout * 5 修改记录 6 查找记录 *n;cout * 7 工号排序 8 打印记录 *n;cout * 0 退出系统 *n;cout *n;cout 请选择要进行的操作:;worker*creat()worker *p1,*p2;p1=new worker; int num;head=p1;p2=p1;coutendl;coutstr1;while(!cherk(str1)coutstr1; p1-num=atoi(str1.c_str();if(p1-num!=0)coutp1-name; coutstr2; while(!cherk(str2) coutstr2; p1-jbgz=atoi(str2.c_str(); coutstr3; while(!cherk(str3) coutstr3; p1-jj=atoi(str3.c_str();coutstr4; while(!cherk(str4) coutstr4; p1-kk=atoi(str4.c_str(); p1-sj=(p1-jbgz+p1-jj-p1-kk)*0.12; p1-sfgz=p1-jbgz+p1-jj-p1-kk-p1-sj; else delete p1; p2=NULL; p2-next=NULL; head=NULL;while(p1-num!=0)p2=p1;p1=new worker;coutendl;coutstr; while(!cherk(str) coutstr; p1-num=atoi(str.c_str(); if(p1-num=p2-num) coutp1-num; if(p1-num!=0) coutp1-name; coutstr1; while(!cherk(str1) coutstr1; p1-jbgz=atoi(str1.c_str(); coutstr2; while(!cherk(str2) coutstr2; p1-jj=atoi(str2.c_str(); coutstr3; while(!cherk(str3) coutstr3; p1-kk=atoi(str3.c_str(); p1-sj=(p1-jbgz+p1-jj-p1-kk)*0.12; p1-sfgz=p1-jbgz+p1-jj-p1-kk-p1-sj; p2-next=p1; delete p1;p2-next=NULL; return head;void Delete(worker *head) if(head=NULL)coutendl;return;int i;worker *p; couti; if(head-num=i)p=head;head=head-next;:head=head;delete p;cout删除成功!next-num=i) p=head-next; head-next=p-next;delete p;cout删除成功!next; void add(worker *head)worker *list=new worker;worker *l;if(head=NULL)coutnext;l-next=list;coutendl;coutstr;while(!cherk(str)coutstr; list-num=atoi(str.c_str();coutlist-name;coutstr1;while(!cherk(str1)coutstr1; list-jbgz=atoi(str1.c_str();coutstr2;while(!cherk(str2)coutstr2; list-jj=atoi(str2.c_str();coutstr3;while(!cherk(str3)coutstr3; list-kk=atoi(str3.c_str();list-sj=(list-jbgz+list-jj-list-kk)*0.12; list-sfgz=list-jbgz+list-jj-list-kk-list-sj;list-next=NULL;void insert(worker*head,int num)if(head=NULL)coutendl;return;worker*p;p=new worker;coutnum; coutstr;while(!cherk(str)coutstr; p-num=atoi(str.c_str();coutp-name;coutstr1;while(!cherk(str1)coutstr1; p-jbgz=atoi(str1.c_str();coutstr2;while(!cherk(str2)coutstr2; p-jj=atoi(str2.c_str();coutstr3;while(!cherk(str3)coutstr3; p-kk=atoi(str3.c_str();p-sj=(p-jbgz+p-jj-p-kk)*0.12; p-sfgz=p-jbgz+p-jj-p-kk-p-sj;if(head-num=num)p-next=head;:head=p;cout插入成功!next-num=num)p-next=head-next; head-next=p; return; head=head-next;void seach(worker *head) if(head=NULL)cout没有记录!endl;return;int i,workernum;string name;worker *q;cout1.通过员工编号查找 2.通过员工姓名查找endl;coutendl;couti; if(i=1) coutworkernum; while(head) if(head-num=workernum) coutendl; cout -endl; cout 工号 姓名 基本工资 奖金 扣款 税金 实发工资 endl; cout -endl; coutt; coutnumt; coutnamet; coutjbgzt; coutjjt; coutkkt; coutsjt; coutsfgztendl; cout -next; cout没有该记录! ; if(i=2) coutname;while(head) if(head-name=name) coutendl; cout -endl; cout 工号 姓名 基本工资 奖金 扣款 税金 实发工资 endl; cout -endl; coutt; coutnumt; coutnamet; coutjbgzt; coutjjt; coutkkt; coutsjt; coutsfgztendl; cout -next; cout该记录不存在!endl; void NumSort(worker *head)if(head=NULL)coutnext!=NULL; p=p-next) /*循环遍历链表中的节点,找出此时最小的节点。*/ if (p-next-num num) /*找到一个比当前min小的节点。*/ p_min = p; /*保存找到节点的前驱节点:显然p-next的前驱节点是p。*/ min = p-next; /*保存键值更小的节点。*/ /*上面for语句结束后,就要做两件事;一是把它放入有序链表中;二是根据相应的条件判断,安排它离开原来的链表。*/ /*第一件事*/ if (first = NULL) /*如果有序链表目前还是一个空链表*/ first = min; /*第一次找到键值最小的节点。*/ tail = min; /*注意:尾指针让它指向最后的一个节点。*/ else /*有序链表中已经有节点*/ tail-next = min; /*把刚找到的最小节点放到最后,即让尾指针的next指向它。*/ tail = min; /*尾指针也要指向它。*/ /*第二件事*/ if (min = head) /*如果找到的最小节点就是第一个节点*/ head = head-next; /*显然让head指向原head-next,即第二个节点,就OK*/ else /*如果不是第一个节点*/ p_min-next = min-next; /*前次最小节点的next指向当前min的next,这样就让min离开了原链表。*/ if (first != NULL) /*循环结束得到有序链表first*/ tail-next = NULL; /*单向链表的最后一个节点的next应该指向NULL*/ :head = first; return;void amend(worker *head)if(head=NULL)coutendl;return;worker *p;int change;p=head;coutchange; while(p & p-num!=change)p=p-next; if(p-num=change) coutp-name; coutstr1; while(!cherk(str1) coutstr1; p-jbgz=atoi(str1.c_str(); coutstr2; while(!cherk(str2) coutstr2; p-jj=atoi(str2.c_str(); coutstr3; while(!cherk(str3) coutstr3; p-kk=atoi(str3.c_str(); p-sj=(p-jbgz+p-jj-p-kk)*0.12; p-sfgz=p-jbgz+p-jj-p-kk-p-sj; cout修改成功!endl; return; else cout没有此编号!endl; void print(worker *head)if(head=NULL)coutendl;cout没有记录!endl;return; coutendl; cout -endl; cout 工号 姓名 基本工资 奖金 扣款 税金 实发工资 endl; cout -endl; while(head) coutt; coutnumt; coutnamet; coutjbgzt; coutjjt; coutkkt; coutsjt; coutsfgztendl; cout -next; int main()int k,n;string m; while(1) system(cls); menu(); string st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋集资转让协议书
- 房源房屋出售协议书
- 房租拆改合同协议书
- 房租销售佣金协议书
- 手术证明协议书范本
- 手机抵押协议书模板
- 扑杀补助协议书范本
- 打印租赁房屋协议书
- 打更免责协议书范本
- 打火机销售合同范本
- 施工班组退场协议书
- 人武部2025年终总结样本(3篇)
- 山西省旅游资源
- 《西游记》课件教学课件
- 中小学生证素教育趣味歌诀集锦
- 2026招商银行杭州分行校园招聘笔试考试参考题库及答案解析
- 2025版高中英语新课标3100词新增词汇清单
- 包裹性脓胸的护理
- 2025四川省农业融资担保有限公司(雅安)招聘1人笔试历年备考题库附带答案详解2套试卷
- 2025河南交投颐康投资发展有限公司招聘笔试参考题库必考题
- 重庆市建筑工程施工图设计文件编制技术规定(2024年版)
评论
0/150
提交评论