09黄石理工c课程设计职工工资管理系统内容摘要:
//添加职工的成绩的函数 epployee *Information::insert( epployee *head) //插入新结点定义一个指向 struct epployee 的结构体指针函数 *insert()用来添加职工信息 . { //system(cls)。 cout\t请输入新增职工成绩信息 \nendl。 p1=(epployee *)malloc(LEN)。 //使 p1 指向插入的新结点 cout 编号 :。 cinp1id。 while((p1id)0||(p1id)100000) { cout 对不起,您的输入错误 !请重新输入 (0100000):。 cinp1id。 //将输入的编号存放到 p1 所指结构 体的数组 id 中 } cout 姓名 :。 cinp1name。 //将输入的姓名存放到结构体名为 p1 的数组 name 中 cout 性别 :。 cinp1sex。 cout 基本工资 :。 第 21 页 共 34 页 cinp1paid[0]。 while((p1paid[0])0||(p1paid[0])100000) { cout 对不起,您的输入错误 !请重新输入 (0100000):。 cinp1paid[0]。 //将输入的基本工资存放到 p1 所指结构体的数组 paid 中 } cout 加班工资 :。 cinp1paid[1]。 while((p1paid[1])0||(p1paid[1])100000) { cout 对不起,您的输入错误 !请重新输入 (0100000):。 cinp1paid[1]。 //将输入的加班工资存放到 p1 所指结构体的数组 paid 中 } cout 其他奖金 :。 cinp1paid[2]。 while((p1paid[2])0||(p1paid[2])100000) { cout 对不起,您的输入错误 !请重新输入 (0100000):。 cinp1paid[2]。 //将输入的其他奖金存放到 p1 所指结构体的数组 paid 中 } p1total=p1paid[0]+p1paid[1]+p1paid[2]。 //计算总分 p2=head。 //将头指针赋给 p2 if(head==NULL) //若没调用次函数以前的头指针 head 为空 { head=p1。 p1next=NULL。 } //则将 p1 赋给头指针 head 并将 p1 所指结构体成员指针 next 赋空值 else { while((p1idp2id)amp。 amp。 (p2next!=NULL)) { p3=p2。 //p3 指向原 p2 指向的结点 p2=p2next。 } //p2 后移一个结点 if(p1id=p2id) 第 22 页 共 34 页 { if(head==p2) { p1next=head。 head=p1。 } //插入到第一个结点之前 else { p3next=p1。 p1next=p2。 } //插入到 p3 所指结点之后 } else { p2next=p1。 p1next=NULL。 } //插入到尾结点之后 } n++。 //将职工人数加 1 cout\t你输入的职工信息已经成功插入 endl。 return (head)。 } //删除职工信息 epployee *Information::cancel(epployee *head,long id) //定义一个指向 struct epployee 的结构体指针函数 *delete()用来删除考生信息 . { system(cls)。 if(head==NULL) //若调用次函数以前的头指针 head 为空 { return(head)。 } else { 第 23 页 共 34 页 p1=head。 //否则将头指针赋给 p1 while(id!=p1idamp。 amp。 p1next!=NULL) //寻找要删除的结点当 p1 所指的职工编号不是输入的职工编号并且 p1 所指的 next 指针不为空 { p2=p1。 p1=p1next。 } //p2 指向原 p1 指向的结点 p1 后移一个结点 if(id==p1id) //如果输入的职工编号是 p1 所指的职工编号 //结点找到后删除 { if(p1==head) head=p1next。 //如果 head 指针和 p1 指针相等则将下一个结点赋给指针 head else p2next=p1next。 //否则将 p1所指结点赋给 p2所指结点将要删除的职工信息跳过去 cout 删除编号为 id的职工 \n。 n。 //将职工人数减 1 } return(head)。 //将头指针返回 } } /**************************修改职工数据 **************************/ epployee *Information::modify(epployee *head,long id) { //system(cls)。 cout\t请输入须修改的职工工资信息 \nendl。 p1=(epployee *)malloc(LEN)。 //使 p1 指向输入的结点 p1=head。 //否则将头指针赋给 p1 while(id!=p1idamp。 amp。 p1next!=NULL) //寻找结点当 p1 所指的职工编号不是输入的职工编号并且 p1 所指的 next 指针不为空 { p1=p1next。 //p2 指向原 p1 指向的结点 p1 后移一个结点 第 24 页 共 34 页 } if(id==p1id) //如果要查找的职工编号是 p1 所指的职工编号 { cout你需要修改的职工信息如下 :\n。 cout\n。 cout|编 号 | |姓 名 | |性别 | |基本工资 | |加班工资 | |其他奖金 | |总额 |\n。 cout\n。 coutsetw(6)p1id setw(10)p1name setw(10)p1sex setw(10)p1paid[0] setw(15)p1paid[1] setw(12)p1paid[2] setw(12)p1totalendl。 cout\n。 cout 编号 :。 cinp1id。 while((p1id)0||(p1id)100000) { cout 对不起,您的输入错误 !请重新输入 (0100000):。 cinp1id。 //将输入的编号存放到 p1 所指结构体的数组 id 中 } cout 姓名 :。 cinp1name。 //将输入的姓名存放到结构体名为 p1 的数组 name 中 cout 性别 :。 cinp1sex。 cout 基本工资 :。 cinp1paid[0]。 while((p1paid[0])0||(p1paid[0])100000) { cout 对不起,您的输入错误 !请重新输入 (0100000):。 cinp1paid[0]。 //将输入的基本工资存放到 p1 所指结构体的数组 paid 中 } 第 25 页 共 34 页 cout 加班工资 :。 cinp1paid[1]。 while((p1paid[1])0||(p1paid[1])100000) { cout 对不起,您的输入错误 !请重新输入 (0100000):。 cinp1paid[1]。 //将输入的加班工资存放到 p1 所指结构体的数组 paid 中 } cout 其他奖金 :。 cinp1paid[2]。 while((p1paid[2])0||(p1paid[2])100000) { cout 对不起,您的输入错误 !请重新输入 (0100000):。 cinp1paid[2]。 //将输入 的其他奖金存放到 p1 所指结构体的数组 paid 中 } p1total=p1paid[0]+p1paid[1]+p1paid[2]。 //计算总分 } else cout 需要修改的信息中没有编号为 id的职工 .\n\n。 //没有想要修改的结点信息 getchar()。 return(head)。 } //查找职工信息 epployee *Information::find(epployee *head,long id) //定义一个指向 struct epployee 的结构体指针函数 *find()用来查找职工信息 . { //system(cls)。 if(head==NULL) //若调用次函数以前的头指针 head 为空 { cout 这是一个空表 ,请先输入职工信息 !\n。 return(head)。 } else 第 26 页 共 34 页 { p1=head。 //否则将头指针赋给 p1 while(id!=p1idamp。 amp。 p1next!=NULL) //寻找结点当 p1 所指的职工编号不是输入的职工编号并且 p1 所指的 next 指针不为空 { p1=p1next。 //p2 指向原 p1 指向的结点 p1 后移一个结点 } if(id==p1id) //如果要查找的职工编号是 p1 所指的职工编号 { cout\n。 cout|编 号 | |姓 名 | |性别 | |基本工资 | |加班工资 | |其他奖金 | |总额 |\n。 cout\n。 coutsetw(6)p1id setw(10)p1name setw(10)p1sex setw(10)p1paid[0] setw(14)p1paid[1] setw(12)p1paid[2] setw(12)p1totalendl。 cout\n。 } else cout信息中没有编号为 id的职工 .\n。 //结点没找到 return(head)。 } } //定义 sort()函数将职工的工资总额从大到小排列并输出 void Information::sort(epployee *head) { //system(cls)。 int i,k,m=0,j。 第 27 页 共 34 页 epployee *p[N]。 //定义一 个指向 struct epployee 的结构体指针数组。09黄石理工c课程设计职工工资管理系统
相关推荐
................................................... 3 执行 ................................................................................................................................ 3 变更 ........
本运营部 目 标 分 解 目 标 分 项 目 标 细 化 执 行 达 到 的 指 标 1. 收购企业 1. 收购乳山化工厂; 2. 其他企业的收购。 1. 今年成功地收购企业 12 家。 2. 2. 合资建厂 1. 采取股份制,同行业内的其他企业联合办厂; 2. 投资建厂。 1. 同其他企业合资建厂 12 家 2. 在省内 或省外投资建 厂 12 家。 二、 企划部 目 标 分 解 目标分项 目
受力钢筋(梁、板、柱、剪力墙、基础)的强度等级及用量比例 估算 ; 2) 钢结构:钢材强度等级及用量比例 估算。 4 高耐久性建筑结构材料的运用 1) 混凝土结构:采用高耐久性能的高性能混凝土的应用部位及用量比例估算 ; 2) 钢结构:采用耐候结构钢及耐候性防腐涂料的应用部位及用量比例 估算。 5 预拌混凝 土、预拌砂浆的运用 ; 6 工厂化生产的预制整体装配式混凝土构件及预制 装配 率 估算
11 二、填空题(本大题共 15小题,每小题 2分,共 30分) 请在每小题的空格中填上正确答案。 错填、不填均无分。 11.同时扔 3 枚均匀硬币,则至多有一枚硬币 正面向上的概率为 ________. 12.设随机事件 A 与 B 互不相容,且 P(A)=, P(A∪ B)=,则 P(B)= ________. 13.设事件 A 与 B 相互独立,且 P(A∪ B)=, P(A)=,则
现象,不应用线材或其它材料代替开口销子; c)金具上所使用的闭口销的直径必须与孔径配合,且弹力适度; d)与电杆、导线金属连接处,不应有卡压现象。 同杆架设的多回路线路,横担间的最小垂直距离见表 4。 中压绝缘线路与 35kV线路同杆架设时,两线路导线之间垂直距离不应小于。 表 4 同杆架设多回路线路横担间的最小垂直距离 m 架 设 方 式 直 线 杆 分支或转角杆 中压与中压 中压与低压
控制功能: 系统能够根据电网调度部门指令,控制场站内 有功功率和无功功率的输出。 即能够接收并自动执行调度部门远方发送的有功 /电压或无功指令信号,根据场站内发电设备和无功设备的并网状态,合理分配出各发电设备和无功设备的有功目标值和无功目标值。 就地功能:系统软件界面支持场站 运行人员输入 控制点 有功 /无功 目标值 、控制点 计划曲线。 具有投入 /退出 AVC和 AGC控制模块的 功能