学校员工管理系统 C++语言(继承、虚函数)

来源:互联网 发布:淘宝待发货订单生成器 编辑:程序博客网 时间:2024/05/17 07:30
学校C++课程设计,前面是代码,后面是要读取的文件。
//代码
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

//CPerson类
class CPerson{
public:
 CPerson(){};
    CPerson(string nm,string pnum,string addr);
    ~CPerson();
    CPerson * next;
    virtual void startMeeting();
private:
    string name;
    string phoneNumber;
    string address;
};
CPerson::CPerson(string nm,string pnum,string addr){
    name = nm;
    phoneNumber = pnum;
    address = addr;
// cout<<"CPerson正在构造..."<<endl;
}
CPerson::~CPerson(){
//    cout<<name<<"CPerson正在析构..."<<endl;
}
void CPerson::startMeeting(){
    cout<<"这是"<<name<<"在开会"<<endl;
    cout<<"电话:"<<phoneNumber<<endl;
    cout<<"地址:"<<address<<endl;
}

//CStudent类
class CStudent:public CPerson{
public:
 CStudent(){};
    CStudent(string nm,string pnum,string addr,string sco):CPerson(nm,pnum,addr){
        score = sco;
//        cout<<"CStudent正在构造..."<<endl;
    }
    ~CStudent();
    CStudent * next;
    virtual void startMeeting();
private:
    string score;
};
CStudent::~CStudent(){
//    cout<<"CStudent 正在析构 "<<endl;
}
void CStudent::startMeeting(){
    CPerson::startMeeting();
    cout<<"分数:"<<score<<endl;
}

//CTeacher类
class CTeacher:public CPerson{
public:
 CTeacher(){};
    CTeacher(string nm,string pnum,string addr,string wg,string couName):CPerson(nm,pnum,addr){
 wage = wg;
 courseName = couName;
// cout<<"CTeacher正在构造..."<<endl;
    }
    ~CTeacher();
    virtual void startMeeting();
    CTeacher * next;
private:
    string wage;
    string courseName;
};
CTeacher::~CTeacher(){
// cout<<"CTeacher 正在析构..."<<endl;
}
void CTeacher::startMeeting(){
 CPerson::startMeeting();
 cout<<"工资:"<<wage<<endl;
 cout<<"课程名称:"<<courseName<<endl;
}
//CProfessor类
class CProfessor:public CTeacher{
public:
 CProfessor(){};
 CProfessor(string nm,string pnum,string addr,string wg,string couName,string bookb,string yjs):CTeacher(nm,pnum,addr,wg,couName){
  bookName = bookb;
  yanjiusheng = yjs;
//  cout<<"CProfessor正在构造..."<<endl;
 }
 ~CProfessor();
 virtual void startMeeting();
 CProfessor *next;
private:
 string bookName;
 string yanjiusheng;
};
CProfessor::~CProfessor(){
// cout<<"CProfessor正在析构..."<<endl;
}
void CProfessor::startMeeting(){
 CTeacher::startMeeting();
 cout<<"出版书:"<<bookName<<endl;
 cout<<"研究生:"<<yanjiusheng<<endl;
}
//CDean类
class CDean:public CProfessor{
public:
 CDean(){};
 CDean(string nm,string pnum,string addr,string wg,string couName,string bookb,string yjs,string tx):CProfessor(nm,pnum,addr,wg,couName,bookb,yjs){
  touxian = tx;
//  cout<<"CDean正在构造..."<<endl;
 }
 ~CDean();
 virtual void startMeeting();
private:
 string touxian;
};
CDean::~CDean(){
// cout<<"CDean正在析构..."<<endl;
}
void CDean::startMeeting(){
 CProfessor::startMeeting();
 cout<<"头衔:"<<touxian<<endl;
}
class CDepartment{
public:
 CDepartment(CPerson *Head);
 ~CDepartment();
 void start();
private:
 CPerson *END;
};
CDepartment::CDepartment(CPerson *Head){
 END = Head;
}
CDepartment::~CDepartment(){
 
}
void CDepartment::start(){
 END = END->next;
 while(END!=NULL){
  END->startMeeting();
  END = END->next;
  
 }
}
//主函数
int main(){
//   构造函数,析构函数,开会函数测试
//    CPerson per("person","17864181946","jinan");
//    per.startMeeting();
//    CStudent stu("student","17864181946","jinan","50");
//    stu.startMeeting();
//    CTeacher teach("teacher","17864181946","jinan","10000","English");
//    teach.startMeeting();
//    CProfessor pro("professor","17864181946","jinan","1000000","Chinese","hulianwang","Chinese");
//    pro.startMeeting();
 CPerson *pHead = new CPerson("name","number","address");
 CPerson *pEnd = pHead;
 fstream file("database2.txt",ios::in);
 if(!file){
  cerr<<"文件打开失败!!";
  exit(-1);
 }
 int count;
 int i;
 string a,b,c,d,e,f,g,h;
//CDean类
 file>>count;
 file>>a;
 file>>b;
 file>>c;
 file>>d;
 file>>e;
 file>>f;
 file>>g;
 file>>h;
 CDean *Temp = new CDean(a,b,c,d,e,f,g,h);
 pEnd->next = Temp;
 pEnd = Temp;
 //CProfessor类
 file>>count;
 for(i=0;i<count;i++){
 file>>a;
 file>>b;
 file>>c;
 file>>d;
 file>>e;
 file>>f;
 file>>g;
 CProfessor *Temp = new CProfessor(a,b,c,d,e,f,g);// 创建新的节点
 pEnd->next = Temp;
 pEnd = Temp;
 }
 //CTeacher类
 file>>count;
 for(i=0;i<count;i++){
 file>>a;
 file>>b;
 file>>c;
 file>>d;
 file>>e;
 CTeacher *Temp = new CTeacher(a,b,c,d,e);// 创建新的节点
 pEnd->next = Temp;
 pEnd = Temp;
 }
 //CStudent类
 file>>count;
 for(i=0;i<count;i++){
 file>>a;
 file>>b;
 file>>c;
 file>>d;
 CStudent *Temp = new CStudent(a,b,c,d);
 pEnd->next = Temp;
 pEnd = Temp;
 }
 CDepartment headmaster(pHead);
 headmaster.start();
 file.close();
 return 0;
}

//要读取的文件,文件名为database2.txt

1
赵本山2 12345678 中戏 4500 二人转 音乐基础理论欣赏 盘长江 系主任
4
冯巩2 23456789 中戏 4000 相声 现代相声大全 冯巩1号
候宝林2 34567890 中戏 4000 相声 现代相声大全 候军保
杨春2 76543210 中戏 4000 声乐 通俗音乐读本 白雪
陈凯歌2 78965432 北影 4000 表演 导演艺术大全 陈红
20
张艺谋2 87956430 北影 3000 表演
王海珍2 87956430 北影 3000 表演
小桃红2 87956430 北影 3000 表演
张国立2 87956430 北影 3000 表演
邓节2 87956430 北影 3000 表演
王港2 87956430 北影 3000 表演
张铁林2 87956430 北影 3000 表演
赵微2 87956430 北影 3000 表演
林新如2 87956430 北影 3000 表演
素有朋2 87956430 北影 3000 表演
小昭2 87956430 北影 3000 表演
张无计2 87956430 北影 3000 表演
猪八戒2 87956430 北影 3000 表演
孙悟空2 87956430 北影 3000 表演
沙和尚2 87956430 北影 3000 表演
唐玄奘2 87956430 北影 3000 表演
李世民2 87956430 北影 3000 表演
成吉思汗2 87956430 北影 3000 表演
朱元章2 87956430 北影 3000 表演
黄太极2 87956430 北影 3000 表演
100
六小灵通2 87690543 北影 88
朱无能2 87690543 北影 88
灵角大王2 87690543 北影 88
红孩儿2 87690543 北影 88
着行孙2 87690543 北影 88
孙行者2 87690543 北影 88
白骨精2 87690543 北影 88
如来2 87690543 北影 88
观音2 87690543 北影 88
东海龙王2 87690543 北影 88
西海龙王2 87690543 北影 88
男孩龙王2 87690543 北影 88
北海龙王2 87690543 北影 88
白龙马2 87690543 北影 88
女儿国国王2 87690543 北影 88
雷音寺主持2 87690543 北影 88
阿弥陀佛2 87690543 北影 88
弥勒佛2 87690543 北影 88
玉皇大帝2 87690543 北影 88
王母2 87690543 北影 88
二郎神2 87690543 北影 88
嫦娥2 87690543 北影 88
七仙女2 87690543 北影 88
托塔李天王2 87690543 北影 88
哪扎2 87690543 北影 88
蜘蛛精2 87690543 北影 88
狐狸精2 87690543 北影 88
狮子精2 87690543 北影 88
土地2 87690543 北影 88
牛魔王2 87690543 北影 88
铁扇公主2 87690543 北影 88
紫霞仙子2 87690543 北影 88
周星驰2 87690543 北影 88
菩提2 87690543 北影 88
白晶晶2 87690543 北影 88
张国老2 87690543 北影 88
李铁拐2 87690543 北影 88
曹国舅2 87690543 北影 88
蓝才和2 87690543 北影 88
何仙姑2 87690543 北影 88
韩祥子2 87690543 北影 88
吕动宾2 87690543 北影 88
太上老君2 87690543 北影 88
乌鸡国王2 87690543 北影 88
郭靖2 87690543 北影 88
黄蓉2 87690543 北影 88
黄药师2 87690543 北影 88
柯镇恶2 87690543 北影 88
洪气功2 87690543 北影 88
西毒2 87690543 北影 88
丘处级2 87690543 北影 88
马玉2 87690543 北影 88
孙不二2 87690543 北影 88
王重阳2 87690543 北影 88
南帝2 87690543 北影 88
朱子柳2 87690543 北影 88
周伯通2 87690543 北影 88
英姑2 87690543 北影 88
托雷2 87690543 北影 88
华筝2 87690543 北影 88
哲别2 87690543 北影 88
王罕2 87690543 北影 88
欧阳克2 87690543 北影 88
穆念磁2 87690543 北影 88
杨康2 87690543 北影 88
杨铁心2 87690543 北影 88
郭笑天2 87690543 北影 88
包氏2 87690543 北影 88
李平2 87690543 北影 88
岳灵珊2 87690543 北影 88
林平之2 87690543 北影 88
令弧冲2 87690543 北影 88
陆大有2 87690543 北影 88
岳不群2 87690543 北影 88
莫大2 87690543 北影 88
左冷禅2 87690543 北影 88
定逸师太2 87690543 北影 88
仪琳2 87690543 北影 88
田伯光2 87690543 北影 88
桃根仙2 87690543 北影 88
桃纸仙2 87690543 北影 88
桃实仙2 87690543 北影 88
少林寺方丈2 87690543 北影 88
武当道长2 87690543 北影 88
杨莲亭2 87690543 北影 88
东方不败2 87690543 北影 88
任我行2 87690543 北影 88
任滢滢2 87690543 北影 88
西湖大庄主2 87690543 北影 88
西湖二庄主2 87690543 北影 88
西湖三庄主2 87690543 北影 88
西湖四庄主2 87690543 北影 88
杨过2 87690543 北影 88
小龙女2 87690543 北影 88
金轮发网2 87690543 北影 88
霍都王子2 87690543 北影 88
阿而巴2 87690543 北影 88
郭芙2 87690543 北影 88
郭镶2 87690543 北影 88
郭破虏2 87690543 北影 88
0 0
原创粉丝点击