C++教师信息管理系统Word下载.docx
- 文档编号:14248268
- 上传时间:2022-10-20
- 格式:DOCX
- 页数:19
- 大小:121.18KB
C++教师信息管理系统Word下载.docx
《C++教师信息管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C++教师信息管理系统Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
链表类,声明为ode类的友元类,数据成员有头结点head,尾节点tail,记录当前节点的p和当前节点前一节点的pre,链表相关的输入,显示,排序,查找,创建全部设为成员函数。
总体流程为先打开文件,读取文件中的记录来创建链表,然后对链表进展操作,最后保存至文件中
2、流程图
是
否
3、各函数的功能和实现
学院教学信息管理系统的相关功能由对应的函数来实现。
(1)输入教师信息并显示
voidAppend()
通过提示一步步输入信息,由程序构建新节点并参加链表
(2)显示所有记录
voidPrint()
〔3〕按职工号或教学效果综合评分排序并显示
intSortMenu()
voidSortMenuControl()
voidInsertByTeano(ode*newp)
voidSortByTeano()
voidInsertByScore(ode*newp)
voidSortByScore()
〔4〕按或课程查找教师记录并显示
intSearchMenu()
voidSearchMenuControl()
voidSearchByName()
voidSearchByCourse()
四、程序源代码
#include"
stdafx.h"
#include<
iostream>
fstream>
vector>
algorithm>
cstring>
string>
usingnamespacestd;
classCPerson
{
private:
stringname;
intage;
charsex;
public:
CPerson()
{}
CPerson(stringname,intage=0,charsex='
M'
)
{
this->
name=name;
age=age;
sex=sex;
}
voidSetAge(intage=0)
voidSetNameAndSex(stringname,charsex)
voidShowInfo()
cout<
<
name<
"
\t"
age<
(sex=='
?
男"
:
女"
)<
endl;
stringGetName()
returnname;
intGetAge()
returnage;
charGetSex()
returnsex;
};
classCTeacher:
publicCPerson
stringtitle;
//职称
stringteano;
//职工号
vector<
course;
//教授课程
floatscore;
//教学效果综合评分
CTeacher()
CTeacher(stringname,intage=0,charsex='
):
CPerson(name,age,sex)
voidSetData(stringtitle,stringteano)
title=title;
teano=teano;
voidSetCourse(stringc1,stringc2,stringc3)
course.push_back(c1);
course.push_back(c2);
course.push_back(c3);
voidSetScore(floatscore)
score=score;
teano<
GetName()<
GetAge()<
(GetSex()=='
title<
course[0]<
course[1]<
course[2]<
score<
voidoperator=(CTeacher&
one)
CPerson(one.GetName(),one.GetAge(),one.GetSex());
title=one.title;
teano=one.teano;
course[0]=one.course[0];
course[1]=one.course[1];
course[2]=one.course[2];
score=one.score;
GetCourse()
returncourse;
stringGetTitle()
returntitle;
stringGetTeano()
returnteano;
floatGetScore()
returnscore;
classode
friendclassCList;
CTeacherdata;
ode*next;
classCList
ode*head;
ode*tail;
ode*p;
ode*pre;
intnum;
//当前节点数
intMainMenu()
1.显示当前记录"
2.添加记录"
3.排序"
4.查找"
5.创建新纪录"
0.退出"
intchoice;
cin>
>
choice;
returnchoice;
voidMainMenuControl()
ReadData();
while
(1)
{
intchoice=MainMenu();
if(choice==0)break;
switch(choice)
{
case1:
Print();
break;
case2:
Append();
break;
case3:
SortMenuControl();
break;
case4:
SearchMenuControl();
case5:
NewList();
}
}
是否保存?
〔Y/N〕:
;
charc;
c;
if(c=='
y'
)Save();
voidReadData()
head=tail=newode;
head->
next=NULL;
num=0;
charfname[80];
请输入要读取的文件:
fname;
ifstreamfile(fname);
if(!
file)
cout<
出现未知错误导致无法打开!
exit
(1);
stringname,title,teano,course[3];
intage;
charsex;
floatscore;
while(file.peek()!
=EOF)
file>
teano>
name>
age>
sex>
title>
course[0]>
course[1]>
course[2]>
score;
p=newode;
p->
data.SetNameAndSex(name,sex);
data.SetAge(age);
data.SetData(title,teano);
data.SetCourse(course[0],course[1],course[2]);
data.SetScore(score);
tail->
next=p;
tail=p;
num++;
tail->
voidPrint()
for(p=head->
next;
p!
=NULL;
p=p->
next)
data.ShowInfo();
voidAppend()
请输入:
:
stringname;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 教师 信息管理 系统