/1) 企业人员组织管理系统中存在如下业务实体:企业(名称、地址、法人、主营等),部门(编号、名称、主管、级别),人员(工号、名称、性别、年龄、所属部门、所属项目组、角色信息等),角色(编号、名称等),项目组(编号、名称、主管)等;
2) 一个企业对应至少一个下级部门。每个部门对应至少一个人员,每个人员只能从属于一个部门。部门中可以设定至少一个角色,其中一个为主管。在部门中,每个人员必须对应到一个部门角色。每个部门又可以设定下级部门(具有嵌套特性)。;
3) 一个企业内部可以同时开展多个项目的开发,每个项目组可以设定至少一个角色,其中一个为主管(即项目经理)。项目人员为临时组织,人员从各个部门抽调。一个项目组对应至少一个人员,而一个人员可以隶属于多个项目组。在项目组中,每个人员必须对应到一个项目组角色;
4) 支持对以上相关业务实体的新增、删除、属性编辑、查询(包括部门、人员、角色、项目组等业务实体)等操作;
5) 需要支持所设定企业人员组织的屏幕输出功能;
6) 实现所设定企业人员组织的保存与打开等文件操作。/
#include <iostream>
#include <string>
using namespace std;
class Enterprise{
protected:
string Ename;
string address;
string Lperson;
string Mbusiness;
public:
Enterprise(string ename, string Address,
string lperson, string mbusiness):Ename(ename), address(Address), Lperson(lperson), Mbusiness(mbusiness){}
void getEname();
void getAddress();
void getLperson();
void getMbusiness();
};
class Role{
private:
int Rnumber;
string Rname;
public:
Role(int rnumber, string rname):Rnumber(rnumber), Rname(rname){}
~Role(){}
void getRnumber();
void getRname();
};
class Department:virtual public Enterprise{
protected:
int Dnumber;
string Dname;
string Dexecutive;;
int level;
public:
Department(string ename, string Address, string lperson, string mbusiness, int dnumber,
string dname, string dexecutive, int Level):Enterprise(ename, Address, lperson, mbusiness),
Dnumber(dnumber), Dname(dname), Dexecutive(dexecutive), level(Level){}
~Department(){}
};
class Team:virtual public Enterprise{
protected:
int Tnumber;
string Tname;
string Texecutive;
public:
Team(string ename, string Address, string lperson, string mbusiness,
int tnumber, string tname, string texecutive):Enterprise(ename, Address, lperson, mbusiness),
Tnumber(tnumber), Tname(tname), Texecutive(texecutive){}
~Team(){}
};
class Person: public Department, public Team{
protected:
string Jnumber;
string Pname;
string gender;
int age;
Role r;
public:
Person(string ename, string Address, string lperson, string mbusiness, int dnumber,
string dname, string dexecutive, int Level, int tnumber, string tname, string texecutive,
string jnumber, string pname, string Gender, int Age,
int rnumber, string rname):Enterprise(ename, Address, lperson, mbusiness),
Department(ename, Address, lperson, mbusiness, dnumber, dname, dexecutive, Level),
Team(ename, Address, lperson, mbusiness, tnumber, tname, texecutive),
Jnumber(jnumber), Pname(pname), gender(Gender), age(Age), r(rnumber, rname){}
~Person(){}
};
int main()
{
}
这逻辑思路大致是没错的,这个设计就是数据库的数据设计,可以用数据库的ER图或模型图画一下就更加清晰了