求c++程序设计 工资管理系统

[设计内容]系统存储以下信息:1)某单位每月工资数据:工号、姓名、基本工资、津贴、奖金、应发工资、所得税、实发工资等;[系统功能]1)系统初始化初始化工资文件;2)添加增... [设计内容]
系统存储以下信息:
1) 某单位每月工资数据:工号、姓名、基本工资、津贴、奖金、应发工资、所得税、实发工资等;
[系统功能]
1)系统初始化 初始化工资文件;
2)添加 增加新员工工资数据;
3)删除 删除某位员工工资数据;
4)修改 依据工号修改某位员工工资数据;
5)查询 根据工号查询某位员工工资数据或某个部门、或全体员工工资数据;
6) 输出 工资数据保存在文件中。
[系统设计要求]
1)根据题目要求,对问题进行需求调查和分析,识别类和对象,合理建立职工工资数据类等;
2)合理设计程序结构,系统各项功能要求在函数中实现。在主函数中设计菜单,通过菜单调用个函数;
3) 合理设计数据结构,考虑到员工人数的不确定性,可以使用链表来存放员工数据;
4)设计过程中必须考虑程序的健壮性,在关键的地方必须要有异常处理。
展开
 我来答
itas109
推荐于2016-10-11 · TA获得超过163个赞
知道答主
回答量:164
采纳率:100%
帮助的人:83.6万
展开全部
这是我们的一道练习题,跟你的差不多,自己改一下吧

编写简单的小型公司员工信息管理系统,要求具有以下功能:

(1)员工信息:编号、姓名、工龄、工资。(设计employee类:数据成员)

(2)设置和提取编号;设置和提取姓名;设置和提取工龄;设置和提取工资。(设计employee类:构造函数,析构函数,其他成员函数)

(3)根据编号查询员工信息。

(4)修改员工信息。

(5)删除员工信息。

(6)使用多文件结构组织代码。

1.主文件:

#include<iostream>

#include<vector>

#include<string>

#include"employee.h"

using namespace std;

int main()

{

vector<employee> e;

employee a;

int chioce;

for(;;)

{

//系统菜单

cout<<"1、员工信息输入"<<endl;

cout<<"2、员工信息查询"<<endl;

cout<<"3、员工信息修改"<<endl;

cout<<"4、员工信息删除"<<endl;

cout<<"5、退出程序"<<endl;

cout<<"请选择编号(1-4):"<<endl;

cin>>chioce;

switch(chioce)

{

case 1:

a.eInput();

break;

case 2:

a.eGetData();

break;

case 3:

a.eEraser();

break;

case 4:

a.eChange();

break;

case 5:

return 1;

break;

default:

cout<<"输入错误!"<<endl;

}

}

return 0;

system("pause");

}

2.employee.h头文件:

#ifndef EMPLOYEE_H

#define EMPLOYEE_H

#include<vector>

#include<string>

using namespace std;

class employee

{

public:

int numI;

string nameI;

int yearOfServiceI;

double salaryI;

employee(){};

~employee(){};

void eInput();

void eGetData();

void eEraser();

void eChange();

private:

int n,num;

double salary;

vector<employee> e;

vector<int>::size_type j,m,q;

vector<employee>::iterator p;

};

#endif

3.employee.cpp文件:

#include<iostream>

#include<vector>

#include<string>

#include"employee.h"

using namespace std;

//员工信息输入

void employee::eInput()

{

employee e1;

cout<<"请输入员工的"<<endl;

cout<<"编号:";

cin>>e1.numI ;

cout<<"姓名:";

cin>> e1.nameI;

cout<<"工龄:";

cin>> e1.yearOfServiceI;

cout<<"工资:" ;

cin>> e1.salaryI;

cout<<endl;

e.push_back(e1);

}

//员工信息查询

void employee::eGetData()

{

if(0==e.size())

{

cout<<"当前不能执行该操作!请重新选择"<<endl;

cout<<endl;

return;

}

int i=0;

cout<<"请输入员工编号:"<<endl;

cin>>i;

cout<<endl;

for(j=0;j!=e.size();++j)

{

if(i==e.at(j).numI)

{

cout<<"你查询的信息为:"<<endl;

cout<<"编号为"<<e.at(j).numI<<"的员工"<<endl;

cout<<"姓名为:"<<e.at(j).nameI<<endl;

cout<<"工龄为:"<<e.at(j).yearOfServiceI<<endl;

cout<<"工资为:"<<e.at(j).salaryI<<endl;

cout<<endl;

}

}

system("pause");

}

//员工信息修改

void employee::eChange()

{

if(0==e.size())

{

cout<<"当前不能执行该操作!请重新选择"<<endl;

cout<<endl;

return;

}

int a=0;

employee e2;

cout<<"请输入要修改的员工编号:"<<endl;

cin>>a;

cout<<"请输入员工的"<<endl;

cout<<"编号:";

cin>>e2.numI ;

cout<<"姓名:";

cin>> e2.nameI;

cout<<"工龄:";

cin>> e2.yearOfServiceI;

cout<<"工资:" ;

cin>> e2.salaryI;

cout<<endl;

for(q=0;q!=e.size();++q)

{

if(a==e.at(q).numI)

{

e.at(q)=e2;

break;

}

}

system("pause");

}

//员工信息删除

void employee::eEraser()

{

if(0==e.size())

{

cout<<"当前不能执行该操作!请重新选择"<<endl;

cout<<endl;

return;

}

cout<<"请输入要删除的员工的编号:"<<endl;

cin>>num;

p=e.begin();

for(m=0;m!=e.size();++m)

{

if(num==e.at(m).numI)

{

e.erase(p+m);

cout<<"已删除员工"<<num<<"的信息"<<endl;

break;

}

}

system("pause");

}//员工信息删除

void employee::eEraser()

{

if(0==e.size())

{

cout<<"当前不能执行该操作!请重新选择"<<endl;

cout<<endl;

return;

}

cout<<"请输入要删除的员工的编号:"<<endl;

cin>>num;

p=e.begin();

for(m=0;m!=e.size();++m)

{

if(num==e.at(m).numI)

{

e.erase(p+m);

cout<<"已删除员工"<<num<<"的信息"<<endl;

break;

}

}

system("pause");

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2010-06-06 · 超过23用户采纳过TA的回答
知道答主
回答量:338
采纳率:0%
帮助的人:117万
展开全部
这应该是要出钱才有做,你加我私聊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式