




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include#include#include#include#includeusing namespace std;class Person /基类protected:double num;string name;string sex;int age;public:Person()num=0;name=0;sex=0;age=0;/基类构造函数virtual void Input(); /设置函数virtual void Input1();virtual void Show(); /输出成员信息virtual void Output(ofstream &out)=0; /写入文件函数virtual void Set(ifstream &in); /文件读取函数virtual int Jisuan()=0; /统计人数friend class Node; /友员结点类friend class Manage; /友员管理类;void Person:Input() /设置函数 coutnum;coutname;coutsex;coutage;void Person:Input1()coutname;coutsex;coutage;void Person:Show() /输出成员信息cout 编号 num 姓名 name 性别 sex 年龄 agenumnamesexage;int Person:Jisuan() return -4;class Leader:public Person private:string depart;string title;public:Leader() /领导类构造函数depart=0;title=0;void Input(); /设置函数void Show(); /输出成员信息void Output(ofstream &out); /写入文件函数void Set(ifstream &in); /文件读取函数int Jisuan(); /统计人数 ;void Leader:Input() /设置函数 Person:Input();coutdepart;couttitle;void Leader:Show() /输出成员信息Person:Show();cout 任职部门 depart 职称 titleendl;void Leader:Output(ofstream &out) /写入文件函数intNo=1;outNo num name sex age depart titlenumnamesexagedeparttitle;int Leader:Jisuan()return -1;class Teacher:public Person private:string title;double time;string zhuanye;public:Teacher() /教师类构造函数title=0;time=0;zhuanye=0;void Input(); /设置函数void Input1();void Show(); /输出成员信息void Output(ofstream &out); /写入文件函数void Set(ifstream &in); /文件读取函数int Jisuan(); /统计人数;void Teacher:Input() /设置函数Person:Input();couttitle;couttime;coutzhuanye;void Teacher:Input1() /设置函数Person:Input1();couttitle;couttime;coutzhuanye;void Teacher:Show() /输出成员信息Person:Show();cout 职称 title 任职时间 time 专业 zhuanyeendl;void Teacher:Output(ofstream &out) /写入文件函数int No=2;outNo num name sex age title time zhuanyenumnamesexagetitletimezhuanye;int Teacher:Jisuan()return -2;class Student:public Person private:string clas;string domary;public:Student() /学生类构造函数clas=0;domary=0;void Input(); /设置函数void Input1();void Show(); /输出成员信息void Output(ofstream &out); /写入文件函数void Set(ifstream &in); /文件读取函数int Jisuan();void Student:Input() /设置函数Person:Input();coutclas;coutdomary;void Student:Input1() /设置函数Person:Input1();coutclas;coutdomary;void Student:Show() /输出成员信息Person:Show();cout 班级 clas 宿舍 domaryendl;void Student:Output(ofstream &out) /写入文件函数int No=3;outNo num name sex age clas domarynumnamesexageclasdomary;int Student:Jisuan()return -3;class Node /结点类public:Person *data; Node *next;class Manage /管理类Node *head;public: Manage() /管理类构造函数head=new Node; /创建头结点head-next=NULL;Load();void Add(); /增加职工void Print(); /输出成员信息 void Search_num(); /按编号进行人员查询的函数void Search_name(); /按姓名进行人员查询的函数 void Search(); /查询函数void Modify(); /修改职工void Delete(); /成员删除void Tongji();void Save(); /数据保存void Load(); /数据倒入;void Manage:Add() /增加职工 coutn* 增加职工 *n; int n; double num; coutn; Node *p1=head-next; Node *p=new Node; switch(n) case 1: p-data=new Leader; end1:;coutnum;while(p1!=NULL)if(p1-data-num!=num)p1=p1-next;else cout编号存在请重新输入data-num=num;p-data-Input1();p-next=head-next;head-next=p; break; case 2: p-data=new Teacher; end2:;coutnum;while(p1!=NULL)if(p1-data-num!=num)p1=p1-next;elsecout编号存在请重新输入data-num=num;p-data-Input1();p-next=head-next;head-next=p; break; case 3: p-data=new Student; end3:;coutnum;while(p1!=NULL)if(p1-data-num!=num)p1=p1-next;elsecout编号存在请重新输入data-num=num;p-data-Input1();p-next=head-next;head-next=p; break; void Manage:Print() /输出成员信息 Node *p=head-next; while(p!=NULL) p-data-Show(); p=p-next; void Manage:Search_num() /按编号进行人员查询的函数; Node *p=head-next; coutnum;while(p!=NULL)if(p-data-num=num)p-data-Show();return;elsep=p-next;cout查无此人!next;coutname;while(p!=NULL)if(p-data-name=name)p-data-Show(); return;elsep=p-next;cout查无此人!endl;void Manage:Search() /查找函数int i;coutendl*成员查询*endl;couti;switch(i)case 1: Search_num(); break;case 2: Search_name(); break;void Manage:Modify() /修改职工coutendl* 修改职工 *next;coutnum;while(p!=NULL)if(p-data-num=num)p-data-Show(); /输出原来的职工信息(做提示)p-data-Input(); /输入新的职工信息(更新)cout修改完成!next;cout查无此人!endl;void Manage:Delete() /删除函数int no;cout请输入要删除职员的编号no;Node* px=head-next;if (px-data-num=no) px=px-next;delete px;px=NULL;cout删除成功!next;while (py-next)if (py-next-data-num=no) px=py-next;py-next=px-next;delete px;px=NULL;cout删除成功!next;cout没有找到要删除的信息!next;int i=0;int j=0;int h;cout1 统计领导人数 2 统计教师人数 3 统计学生人数 h;switch(h)case 1: while(p!=NULL)j=p-data-Jisuan();if(j=-1) i+;p=p-next;cout领导人数:data-Jisuan();if(j=-2) i+;p=p-next;cout教师人数:data-Jisuan();if(j=-3) i+;p=p-next;cout学生人数:next;while(p!=NULL) /遍历输出至文件p-data-Output(out);p=p-next;out.close(); /关闭文件cout职工信息已经保存在d:manage.txta;/读取人员类型if(!in.eof()switch(a) /根据人员类型创建新结点case 1: p2=new Node;p2-data=new Leader; p2-data-Set(in);break; case 2: p2=new Node;p2-data=new Teacher; p2-data-Set(in);break; case 3: p2=new Node;p2-data=new Student; p2-data-Set(in);break; default: in.close(); return ;p2-next=head-next;head-next=p2;elsebreak; in.close();/关闭文件void Key() /密码函数string key;docout 高校人员信息管理系统 endlkey;while(key!=123);cout 欢迎进入高校人员信息管理系统 endl;void main() /主函数Key();int i; Manage m; /定义管理类对象 /显示主菜单,接受选择,并分支调用管理类类的相应功能的成员函数 docoutendl 高校人员信息管理系统 endl; cout 1-成员添加 endl; cout 2-成员输出 endl; cout 3-成员查询 endl; cout 4-成员修改 endl; cout 5-成员删除 endl;cout 6-成员统计 endl; cout 7-数据保存 endl; cout 8-数据导入 endl; cout 9
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融租赁合伙人股权变更与租赁业务拓展合同
- 离婚协议范本:共同债务承担与财产分割协议
- 生态环保产业园空地租赁与环保设施共建合同
- 复杂家庭财产分配与子女抚养权争夺协议
- 离异双方再婚保障及子女权益维护协议
- 三方租赁合同主体变更及租赁期限及租金调整协议
- 瑜伽馆股东合作协议书(含教练培训与课程更新)
- 离婚后再婚同居共同债务偿还协议范本详解
- 婚姻破裂后财产分割与子女教育支持协议
- 2025年高中十年地理真题及答案
- 林下经济的开发与利用
- 强制性条文监理新版细则
- 第5课 森さんは七時に起きます 课件高中日语新版标准日本语初级上册
- 2024年共青团入团积极分子考试题库(附答案)
- 质量管理五大工具之一SPC
- (正式版)JBT 14587-2024 胶体铅酸蓄电池 技术规范
- 医疗健康知识科普活动总结
- 武汉过早文化研究报告
- 微生物室臭氧灭菌验证方案与报告
- 专卖店店长工作手册知识点梳理汇总
- 企业车辆管理系统解决方案
评论
0/150
提交评论