类指针 公司职工的信息管理程序 c++

实验 4 :公司职工的信息管理程序

一、实验内容:

使用面向对象的程序设计方法设计一个程序,实现对公司职工信息的管理。对公司职工信息的管理包括:增加职工信息、查找职工信息、显示所有职工信息、删除职工信息和退出等功能。

二、实验要求:

   1、程序要实现的功能:

    ①增加职工信息;

②查找职工信息;

③显示所有职工信息;

④删除职工信息;

⑤退出。

2、完成各成员函数。

①定义一个员工类(Staff)

     类的声明为:

class Staff

{

public:

          char name[10];//姓名

          char no[5];//职员号

          char department[10];职员所在的部门

          int wage;//工资

          char position[10];//职位

   Staff();

          Staff(char *name,char *no,char* dep,intwage,char* posi);

          ~Staff();

};

②定义一个公司类,类定义为

class Company

{

public :

          int count;

          Staff* add[30];//对象指针数组

          Staff *Sta;//临时对象指针

    Company();

          ~Company();

          bool AddStaff(char *name,char *no,char*dep,int wage,char* posi);//添加职工

          bool DeleteStaff(char *no);//删除职工

          bool FindStaff(char *no);//查找职工

          void DispAll();//显示所有职工

      };

添加时,若职工信息的工号相同则添加不成功。

功能2为查找职工信息,以职工号检索输入3时,显示所有的员工信息4,删除职工信息按0退出系统



建议用string写,毕竟简单太多了。

/*
	Name: company staff management program 
	Copyright: 
	Author: Jia daihua 
	Description: don't copy my work
*/

#include
#include
#include
#include
using namespace std;
static int all = 0;
class Staff
{
public:
	string name;
    string no;
    string department;
    string wage;
    string position;
   	Staff();
    Staff(string name1,string no1,string department1,string wage1,string position1);
    ~Staff()
    {
	}
};

Staff::Staff()
{
	name = '0';
	no = '0';
	department = '0';
	wage = '0';
	position = '0';
}

Staff::Staff(string name1,string no1,string department1,string wage1,string position1)
{
	name =  name1;
	no = no1;
	department = department1;
	wage = wage1;
	position = position1;
}
class Company
{
public :
    int count;
    Staff* add[30];
    Staff *Sta;
    Company()
    {
    	memset(add, 0, sizeof(add));
    	Sta = 0;
    	count = 0;
	}
    ~Company()
    {
    	delete []Sta;
	}
	bool AddStaff(string name,string no,string dep,string wage,string posi);//添加职工
	bool DeleteStaff(string no);//删除职工
    bool FindStaff(string no);//查找职工
	void DispAll();//显示所有职工
};

//添加员工函数 
bool Company::AddStaff(string name,string no,string dep,string wage,string posi)
{
	int i = 0;
	Staff *example;
	example = new Staff(name,no,dep,wage,posi);
	for(i = 0; i < all; i ++)
	{
		Sta = (Staff*)add[i];
		if( Sta->no == no)
		{
			cout<<"添加失败,该员工已存在!"<no == no)
	{
		cout<<"该员工已找到:"<name<no<department<wage<position<no == no)
		{
			for(int j = i;j < all; j++)
				add[j] = add[j + 1];
			all--;
			cout<<"删除成功!"<name<no<department<wage<position<>r;
		if(r >= 0 && r <= 4)
			break;
		else
			cout<<"输入有误,请重新输入:";
	}
	
	return r;
}

int main()
{
	Company c;
	int j,k,l,r, loop = 1;
	string name,no,position,department,wage;
	
	welcome();
	while(loop)
	{
		r = select();
		if(r == 0)
			break;
		else if(r == 1)
		{
			cout<<"请输入姓名(换行键结束):"<>name;
			cout<<"请输入工号(换行键结束):"<>no;
			cout<<"请输入部门(换行键结束):"<>department;
			cout<<"请输入工资(换行键结束):"<>wage;
			cout<<"请输入职位(换行键结束):"<>position;
			c.AddStaff(name,no,department,wage,position);
		}
		else  if(r == 2)
		{
			cout<<"请输入您要查找的员工号:"<>no;
			c.FindStaff(no);
		}
		else if(r == 3)
		{
			c.DispAll();
		}
		else if(r == 4)
		{
			cout<<"请输入您要删除的员工的员工号:"<>no;
			c.DeleteStaff(no);
		}
	}
	return 0;
}

类指针 公司职工的信息管理程序 c++_第1张图片



类指针 公司职工的信息管理程序 c++_第2张图片


类指针 公司职工的信息管理程序 c++_第3张图片


类指针 公司职工的信息管理程序 c++_第4张图片

类指针 公司职工的信息管理程序 c++_第5张图片



你可能感兴趣的:(c++)