求c++程序设计 工资管理系统
[设计内容]系统存储以下信息:1)某单位每月工资数据:工号、姓名、基本工资、津贴、奖金、应发工资、所得税、实发工资等;[系统功能]1)系统初始化初始化工资文件;2)添加增...
[设计内容]
系统存储以下信息:
1) 某单位每月工资数据:工号、姓名、基本工资、津贴、奖金、应发工资、所得税、实发工资等;
[系统功能]
1)系统初始化 初始化工资文件;
2)添加 增加新员工工资数据;
3)删除 删除某位员工工资数据;
4)修改 依据工号修改某位员工工资数据;
5)查询 根据工号查询某位员工工资数据或某个部门、或全体员工工资数据;
6) 输出 工资数据保存在文件中。
[系统设计要求]
1)根据题目要求,对问题进行需求调查和分析,识别类和对象,合理建立职工工资数据类等;
2)合理设计程序结构,系统各项功能要求在函数中实现。在主函数中设计菜单,通过菜单调用个函数;
3) 合理设计数据结构,考虑到员工人数的不确定性,可以使用链表来存放员工数据;
4)设计过程中必须考虑程序的健壮性,在关键的地方必须要有异常处理。 展开
系统存储以下信息:
1) 某单位每月工资数据:工号、姓名、基本工资、津贴、奖金、应发工资、所得税、实发工资等;
[系统功能]
1)系统初始化 初始化工资文件;
2)添加 增加新员工工资数据;
3)删除 删除某位员工工资数据;
4)修改 依据工号修改某位员工工资数据;
5)查询 根据工号查询某位员工工资数据或某个部门、或全体员工工资数据;
6) 输出 工资数据保存在文件中。
[系统设计要求]
1)根据题目要求,对问题进行需求调查和分析,识别类和对象,合理建立职工工资数据类等;
2)合理设计程序结构,系统各项功能要求在函数中实现。在主函数中设计菜单,通过菜单调用个函数;
3) 合理设计数据结构,考虑到员工人数的不确定性,可以使用链表来存放员工数据;
4)设计过程中必须考虑程序的健壮性,在关键的地方必须要有异常处理。 展开
2个回答
展开全部
这是我们的一道练习题,跟你的差不多,自己改一下吧
编写简单的小型公司员工信息管理系统,要求具有以下功能:
(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");
}
编写简单的小型公司员工信息管理系统,要求具有以下功能:
(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");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这应该是要出钱才有做,你加我私聊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询