C工资管理系统源程序.doc_第1页
C工资管理系统源程序.doc_第2页
C工资管理系统源程序.doc_第3页
C工资管理系统源程序.doc_第4页
C工资管理系统源程序.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include stdafx.h#include iostream#include string#include list#include cassertusing namespace std;/*编号、姓名、部门、应付工资、保险、税金、实付工资。其中实付工资由公式计算得到:实付工资=应付工资 - 保险- 税金 */struct employee string m_num;/编号 string m_name;/姓名 string m_dep;/部门 double m_salary;/应付工资 double m_insurance;/保险 double m_tax;/税金;/*(1)录入:输入职工数据,其中“实付工资”通过计算得到; (2)删除:删除指定的职工信息(输入姓名,若找到则删除该信息) (3) 修改:允许对已经录入的数据重新进行编辑、修改; (4) 显示:显示全体职工数据; (5)查询: a. 输入职工姓名,显示该职工的全部数据; b. 输入某部门值,显示该部门职工的数据、工资总额、平均工资。 (6) 退出程序。*/list emps;int _tmain(int argc, _TCHAR* argv) void print(const employee &e); void input(); void del(); void mod(); void show_all(); void show_name(); void show_dep(); cout简易职工薪水管理程序 by 做他n;/ delete this line cout版权没有 请随意复制或修改任何代码n;/delete this line coutchoose; assert(!cin.fail(); while (choose!=6) if (choose=1) input(); if (choose=2) del(); if (choose=3) mod(); if (choose=4) int choice=0; coutchoice; if (choice=1) show_name(); if (choice=2) show_dep(); if (choice=3) coutchoose; assert(!cin.fail(); continue; if (choose=5) show_all(); coutchoose; assert(!cin.fail(); return 0;void print(const employee &e) cout编号:e.m_numendl; cout姓名:e.m_nameendl; cout部门:e.m_dependl; cout保险:e.m_insuranceendl; cout税金:e.m_taxendl; cout应付工资:e.m_salaryendl; cout实付工资:e.m_salary-e.m_insurance-e.m_taxendl;void input() string num,name,dep; double salary,ins,tax; coutnum; coutname; coutdep; coutins; assert(!cin.fail(); couttax; assert(!cin.fail(); coutsalary; assert(!cin.fail(); employee temp; temp.m_dep=dep; temp.m_insurance=ins; temp.m_name=name; temp.m_num=num; temp.m_salary=salary; temp.m_tax=tax; emps.push_back(temp); cout员工录入操作完毕.n;void del() if (emps.size()=0) cout没有员工记录.n; return; string name; bool isfind=false; coutname; list:iterator iter; for (iter=emps.begin();iter!=emps.end();iter+) if (iter-m_name=name) isfind=true; emps.erase(iter); cout姓名为name的员工记录已删除.n; return; if (!isfind) cout没有找到姓名为name的员工.n; return; void mod() if (emps.size()=0) cout员工记录为空.n; return; bool isfind=false; string name; coutname; list:iterator iter; for (iter=emps.begin();iter!=emps.end();iter+) if (iter-m_name=name) isfind=true; cout姓名为name的员工记录已找到.n; break; if (isfind) string num,name,dep; double tax,ins,salary; print(*iter); coutendl; coutnum; coutname; coutdep; coutins; assert(!cin.fail(); couttax; assert(!cin.fail(); coutsalary; assert(!cin.fail(); iter-m_dep=dep; iter-m_insurance=ins; iter-m_name=name; iter-m_num=num; iter-m_salary=salary; iter-m_tax=tax; cout1 员工记录被成功修改.n; else cout没有找到姓名为name的员工记录.n; void show_all() if (emps.size()=0) cout员工记录为空.n; return; cout显示全体员工数据:n; cout-n; list:iterator iter; for(iter=emps.begin();iter!=emps.end();iter+) coutendl; print(*iter); coutendl; cout-n;void show_name() if (emps.size()=0) cout员工记录为空.n; return; bool isfind=false; string name; coutname; list:iterator iter; for(iter=emps.begin();iter!=emps.end();iter+) if (iter-m_name=name) isfind=true; cout姓名为name的员工记录已找到.n; print(*iter); break; if (!isfind) cout没有找到姓名为name的员工.n; return; void show_dep() if (emps.size()=0) cout员工记录为空.n; return; double isfind=0.00; double total_salary=0.00; string dep; coutdep; cout部门dep的员工信息:n; cout-nn; list:iterator iter; for(iter=emps.begin();iter!=emps.end();iter+) if (iter-m_dep=dep) isfind+; total_salary+=iter-m_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论