C++项目校园信息管理系统Word下载.docx

上传人:b****5 文档编号:20016988 上传时间:2023-01-15 格式:DOCX 页数:20 大小:18.24KB
下载 相关 举报
C++项目校园信息管理系统Word下载.docx_第1页
第1页 / 共20页
C++项目校园信息管理系统Word下载.docx_第2页
第2页 / 共20页
C++项目校园信息管理系统Word下载.docx_第3页
第3页 / 共20页
C++项目校园信息管理系统Word下载.docx_第4页
第4页 / 共20页
C++项目校园信息管理系统Word下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C++项目校园信息管理系统Word下载.docx

《C++项目校园信息管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C++项目校园信息管理系统Word下载.docx(20页珍藏版)》请在冰豆网上搜索。

C++项目校园信息管理系统Word下载.docx

intzoukeshi;

charname[50];

}course;

classperson//person类声明

{

public:

charname[10];

charsex[10];

charaddress[100];

datebirthday;

ptypetype;

person();

~person();

virtualvoidShow();

virtualvoidRead();

virtualvoidSave(ofstream*ofile);

virtualvoidLoad(ifstream*ifile);

};

#endif

//person.cpp//person类实现

*copyright(c)2005,公司名称

*Allrightsseserved.

person.cpp

person类定义文件

#include"

person.h"

person:

:

person()//初始化全部成员数据

name[0]='

\0'

;

sex[0]='

address[0]='

type=PERSON;

birthday.day=1;

birthday.month=1;

birthday.year=2000;

}

~person()

voidperson:

Show()//显示信息

cout<

<

"

姓名:

name<

endl;

性别:

sex<

出生日期:

birthday.year<

_"

birthday.month<

birthday.day<

家庭住址:

address<

Read()//输入信息

cin>

>

name;

sex;

年:

birthday.year;

月:

birthday.month;

日:

birthday.day;

address;

Save(ofstream*ofile)//将数据存入文件

//写入文件

ofile->

write((char*)&

type,sizeof(type));

size_tlen=0;

len=strlen(name);

len,sizeof(size_t));

write(name,len);

len=strlen(sex);

write(sex,len);

len=strlen(address);

write(address,len);

birthday,sizeof(date));

Load(ifstream*ifile)//将数据从文件读出

//读入数据

ifile->

read((char*)&

read(name,len);

name[len]='

read(sex,len);

sex[len]='

read(address,len);

address[len]='

//student.h//student类声明

*文件名称:

student.h

*文件标识:

..

*摘要:

student类头文件

*当前版本:

输入作者(或修改作者)名字

#ifndefSTUDENT_H//防止该头文件被多次编译

#defineSTUDENT_H

classstudent:

publicperson//student类派生自person类

charsclass[20];

charmajor[50];

coursecourses[50];

datesregister;

student();

~student();

voidShow();

voidRead();

voidSave(ofstream*ofile);

voidLoad(ifstream*ifile);

//student.cpp//student类实现

*Copyfight(c)2005,公司名称

student.cpp

*摘要:

student类定义文件

*原作者:

student.h"

student:

student()//初始化成员数据

sclass[0]='

major[0]='

sregister.day=1;

sregister.month=1;

sregister.year=2000;

type=STUDENT;

for(inti=0;

i<

50;

i++)

{

courses[i].name[0]='

courses[i].xueqi=0;

courses[i].zoukeshi=0;

}

~student()

voidstudent:

person:

Show();

//先调用基类Show函数

入学日期:

sregister.year<

-"

sregister.month<

sregister.day<

所学专业:

major<

所在班级:

sclass<

所学课程:

if(courses[i].name[0]!

='

cout<

courses[i].name;

Read()//输入数据

Read();

//先调用基类Read函数

sregister.year;

sregister.month;

sregister.day;

major;

sclass;

Save(ofstream*ofile)//将数据存入文件

Save(ofile);

//先调用基类Save函数

len=strlen(sclass);

write(sclass,len);

len=strlen(major);

write(major,len);

sregister,sizeof(date));

Load(ifstream*ifile)//将数据从文件读入

Load(ifile);

//先调用基类Load函数

read(sclass,len);

sclass[len]='

read(major,len);

major[len]='

//teacher.h//teacher类声明

teacher

teacher类头文件

#ifndefTEACHER_H//防止该文件被多次编译

#defineTEACHER_H

classteacher:

publicperson//teacher类派生自person类

datetregister;

teacher();

~teacher();

voidSave(ofstream*ofile);

voidLoad(ifstream*ofile);

#endif

//teacher.cpp//teacher类实现

1.2

teacher.h"

teacher:

teacher()//初始化数据成员

tregister.day=1;

tregister.month=1;

tregister.year=2000;

type=TEACHER;

~teacher()

voidteacher:

进校日期:

tregister.year<

tregister.month<

tregister.day<

所教课程:

Read()//读取信息

tregister.year;

tregister.month;

tregister.day;

Save(ofstream*ofile)//将数据写入文件

//先调用基类save函数

tregister,sizeof(date));

Load(ifstream*ifile)//将数据从文件读入

//读入数据

//先调用基类load函数

ifile->

//最后是命令调用及对象实例管理部分代码:

//main.h//系统头文件

*copyright(c)2005,公司名称

*Allrightsreserved.

main.h

主程序头文件

*作者:

*完成日期:

*取代版本:

*原作者:

#ifndefMAIN_H

#defineMAIN_H

#include<

iomanip>

//main.cpp

*Allrightsteserved.

main.cpp

主程序定义文件

main.h"

list>

usingnamespacestd;

list<

person*>

AllPerson;

//声明顺序表全局变量

voidhelpCMD()//显示帮助信息

setiosflags(ios:

left)<

setw(20)<

可用命令:

"

描述:

input"

数据输入"

output"

显示数据"

analyze"

分析数据"

save"

保存"

load"

读取"

exit"

退出系统"

voidinputCMD()

[A]输入学生信息"

[B]输入教师信息"

charbInfo;

bInfo;

cin.sync();

if(bInfo=='

a'

||bInfo=='

A'

)//判断用户要输入学生信息还是教师信息

student*s=newstudent();

//创建学生对象实例

s->

//输入学生数据

AllPerson.push_back((person*)s);

//将该对象实例存入顺序表

cout<

成功输入学生信息"

elseif(bInfo=='

b'

B'

teacher*t=newteacher();

//创建教师对象实例

t->

//输入教师数据

AllPerson.push_back((person*)t);

成功输入教师信息"

else

输入失败!

请选择输入学生或教师信息"

voidoutputCMD()

list<

iteratorAllPersonIterator;

inti=0;

for(AllPersonIterator=AllPerson.begin();

AllPersonIterator!

=AllPerson.end();

++AllPersonIterator)//遍历顺序表

i++;

------NO."

------"

(*AllPersonIterator)->

//对所有对象实例调用Show函数

voidanalyzeCMD()

intsum=0,nstu=0,ntea=0;

if((*AllPersonIterator)->

type==STUDENT)//统计学生数量

nstu++;

type==TEACHER)//统计教师数量

ntea++;

sum++;

//统计人员总数

当前总人数为:

sum<

其中教师共"

ntea<

人,"

学生共"

nstu<

人"

voidsaveCMD()//将数据写入文件

ofstreamofile("

person.dat"

ios:

binary|ios:

trunc);

//打开person.dat文件

//顺序表浏览指针

intsun=0;

++AllPersonIterator)//遍历顺序表计算人员总数

sun++;

ofile.write((char*)&

sun,4);

//将人员总数写入文件

Save(&

ofile);

//对所有实例调用Save函数

ofile.close();

//关闭文件

成功保存"

sun<

人信息"

voidloadCMD()

ifstreamifile("

binary);

intsum=0;

ifile.read((char*)&

sum,4);

//读入人员总数

sum;

ptypetype;

ifile.read((char*)&

if(type==STUDENT)//读入学生信息

{

student*s=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1