c++项目—校园信息管理系统_第1页
c++项目—校园信息管理系统_第2页
c++项目—校园信息管理系统_第3页
c++项目—校园信息管理系统_第4页
c++项目—校园信息管理系统_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/person.h /* *Copyright (c) 2005,公司名称 *All rights reserved. * *文件名称:person.h *文件标识:. *摘 要:person 类头文件 * *当前版本:1.1 *作 者:输入作者(或修改者)名字 *完成日期:. * *取代版本:1.0 *原作者 :输入原作者(或修改者)名字 *完成日期. * */ #ifndef PERSON_H /防止头文件被多次编译 #define PERSON_H #include #include /#include using namespace std ; enum ptypeSTUDENT,TEACHER,PERSON; /定义枚举类型 ptype typedef struct date /定义 date 结构 int year; int month; int day; date; typedef struct course /定义 course 结构 int xueqi; int zoukeshi; char name50; course; class person /person 类声明 public: char name10; char sex10; char address100; date birthday; ptype type; person(); person(); virtual void Show(); virtual void Read(); virtual void Save(ofstream*ofile); virtual void Load(ifstream*ifile); ; #endif /person.cpp /person 类实现 /* *copyright (c) 2005,公司名称 *All rights seserved. * *文件名称:person.cpp *文件标识:. *摘 要:person 类定义文件 * *当前版本:1.0 *作 者:输入作者(或修改者)名字 *完成日期:. *取代版本:. *原作者 :输入作者(或修改者)名字 *完成日期:. */ #include “person.h“ person:person() /初始化全部成员数据 name0=0; sex0=0; address0=0; type=PERSON; birthday.day=1; birthday.month=1; birthday.year=2000; person:person() void person:Show() /显示信息 coutname; coutsex; coutbirthday.year; coutbirthday.month; coutbirthday.day; coutaddress; void person:Save(ofstream* ofile)/将数据存入文件 /写入文件 ofile-write(char*) size_t len=0; len=strlen(name); ofile-write(char*) ofile-write(name,len); len=strlen(sex); ofile-write(char*) ofile-write(sex,len); len=strlen(address); ofile-write(char*) ofile-write(address,len); ofile-write(char*) void person:Load(ifstream* ifile)/将数据从文件读出 /读入数据 size_t len=0; ifile-read(char*) ifile-read(name,len); namelen=0; ifile-read(char*) ifile-read(sex,len); sexlen=0; ifile-read(char*) ifile-read(address,len); addresslen=0; ifile-read(char*) /student.h /student 类声明 /* * *Copyright (c) 2005,公司名称 *All rights reserved. * *文件名称:student.h *文件标识: *摘 要:student 类头文件 * *当前版本:1.1 *作 者:输入作者(或修改作者)名字 *完成日期:. * *取代版本:1.0 *原作者 :输入作者(或修改作者)名字 *完成日期:. */ #ifndef STUDENT_H /防止该头文件被多次编译 #define STUDENT_H #include “person.h“ class student:public person /student 类派生自 person 类 public: char sclass20; char major50; course courses50; date sregister; student (); student(); void Show(); void Read(); void Save(ofstream* ofile); void Load(ifstream* ifile); ; #endif /student.cpp /student 类实现 /* *Copyfight (c) 2005,公司名称 *All rights reserved. * *文件名称:student.cpp *文件标识:. * 摘 要:student 类定义文件 * *当前版本:1.1 *作 者:输入作者(或修改作者)名字 *完成日期:. * *取代版本:1.0 *原作者:输入作者(或修改作者)名字 *完成日期:. */ #include “student.h“ student:student() /初始化成员数据 sclass0=0; major0=0; sregister.day=1; sregister.month=1; sregister.year=2000; type=STUDENT; for(int i=0;isregister.year; coutsregister.month; coutsregister.day; coutmajor; coutsclass; void student:Save(ofstream* ofile) /将数据存入文件 /写入文件 person:Save(ofile); /先调用基类 Save 函数 size_t len=0; len=strlen(sclass); ofile-write(char*) ofile-write(sclass,len); len=strlen(major); ofile-write(char*) ofile-write(major,len); ofile-write(char*) void student:Load(ifstream* ifile) /将数据从文件读入 /读入数据 person:Load(ifile); /先调用基类 Load 函数 size_t len=0; ifile-read(char*) ifile-read(sclass,len); sclasslen=0; ifile-read(char*) ifile-read(major,len); majorlen=0; ifile-read(char*) /teacher.h /teacher 类声明 /* *Copyright (c) 2005,公司名称 *All rights reserved. * *文件名称:teacher *文件标识:. *摘 要:teacher 类头文件 * *当前版本:1.1 *作 者:输入作者(或修改者)名字 *完成日期:. * *取代版本:1.0 *原作者:输入原作者(或修改者)名字 *完成日期:. */ #ifndef TEACHER_H /防止该文件被多次编译 #define TEACHER_H #include “person.h“ class teacher:public person /teacher 类派生自 person 类 public: course courses50; date tregister; teacher(); teacher(); void Show(); void Read(); void Save (ofstream* ofile); void Load(ifstream* ofile); ; #endif /teacher.cpp /teacher 类实现 /* *Copyright (c) 2005,公司名称 *All rights reserved. * *文件名称:student.cpp *文件标识:. *当前版本:1.2 *作 者:输入作者(或修改作者)名字 *完成日期:. * *取代版本:1.1 *原作者:输入原作者(或修改者)名字 *完成日期:. */ #include “teacher.h“ teacher:teacher() /初始化数据成员 tregister.day=1; tregister.month=1; tregister.year =2000; type=TEACHER; for(int i=0;itregister.year; couttregister.month; couttregister.day; void teacher:Save(ofstream* ofile) /将数据写入文件 /写入文件 person:Save(ofile); /先调用基类 save 函 数 ofile-write(char*) void teacher:Load(ifstream*ifile) /将数据从文件读入 /读入数据 person:Load(ifile); /先调用基类 load 函数 ifile-read(char*) /最后是命令调用及对象实例管理部分代码: /main.h /系统头文件 /* * copyright (c) 2005,公司名称 * All rights reserved. * *文件名称:main.h *文件标识:. *摘 要:主程序头文件 * *当前版本:1.0 *作 者:输入作者(或修改者)名字 *完成日期:. * *取代版本:. *原作者 :输入原作者(或修改者)名字 *完成日期:. */ #ifndef MAIN_H #define MAIN_H #include #include #endif /main.cpp /* *Copyright (c) 2005,公司名称 *All rights teserved. * *文件名称:main.cpp *文件标识:. *摘 要:主程序定义文件 * *当前版本:1.2 *作 者:输入作者(或修改者)名字 *完成日期:. * *取代版本:1.1 *原作者 :输入原作者(或修改者)名字 *完成日期:. */ #include “main.h“ #include “person.h“ #include “student.h“ #include “teacher.h“ #include using namespace std; listAllPerson; /声明顺序表全局变量 void helpCMD() /显示帮助信息 coutbInfo; cin.sync(); if(bInfo=a|bInfo=A) /判断用户要输入学生信息还是教 师信息 student* s=new student(); /创建学生对象实例 s-Read(); /输入学生数据 AllPerson.push_back(person*)s); /将该对象实例存入顺序 表 coutRead(); /输入教师数据 AllPerson.push_back(person*)t); /将该对象实例存入顺序表 cout:iterator AllPersonIterator; int i=0; for(AllPersonIterator=AllPerson.begin();AllPersonIterator!=AllPerso n.end(); +AllPersonIterator) /遍历顺序表 i+; coutShow(); /对所有对象实例调用 Show 函数 void analyzeCMD() list:iterator AllPersonIterator; int sum=0,nstu=0,ntea=0; for(AllPersonIterator=AllPerson.begin();AllPersonIterator!=AllPerso n.end(); +AllPersonIterator) /遍历顺序表 if(*AllPersonIterator)-type=STUDENT) /统计学生数量 nstu+; if(*AllPersonIterator)-type=TEACHER) /统计教师数量 ntea+; sum+; /统计人员总 数 cout:iterator AllPersonIterator; /顺序表浏览指 针 int sun=0; for(AllPersonIterator=AllPerson.begin();AllPersonIterator!=AllPerso n.end(); +AllPersonIterator) /遍历顺序表计算人员总数 sun+; ofile.write(char*) /将人员总数写入文件 for(AllPersonIterator=AllPerson.begin();AllPersonIterator!=AllPerso n.end(); +AllPersonIterator) /遍历顺序表 (*AllPersonIterator)-Save( /对所有实例调用 Save 函数 ofile.close(); /关闭文件 coutLoad( AllPerson.push_back(person*)s); /将学生对象实例 放入顺序表 if(type=TEACHER) /读入老师 信息 teacher*t=new teacher(); t-Load( AllPerson.push_back(person*)t); /将教师对象实例子 放入顺序表 if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论