学生信息管理系统java课程设计,学生信息管理系统登录入口
做这个系统的核心就是对文件的读写操作,其余的都是基础知识,不用搞太复杂。这里弄得有些复杂了
管理员h
#包含"老师. h "
//管理员功能
班级录取:公立学生,公立教师
{
私人:
字符串id,密码;
公共:
admit();
静态向量教师向量;//定义一个存放全部教师的容器
静态向量学生向量;//定义一个存放全部学生的容器
void admitStudent();//对学生进行增删改查
void admit subject();//对课程进行增删改查
void admitTeacher();//对教师进行增删改查
void add student();//添加学生
void cancel();//删除学生
void modify _ Stu();//修改学生信息
void findID();//查看学生信息
void add subject();//录入课程
void findSub();//查看所有课程
void modify _ Sub();//修改课程
void cancelSub();//删除课程
void save sub();//把课程保存到文件中
弯曲件是_repeatID(字符串id);//判断学号是否重复
void read _ File();//读取学生信息文件
void saveStuSub();//把学生课程信息保存到文件中
void保存tuid();//把学账号密码存入文件
void read _ stu vt();//初始化取学生类中存放教师容器,老师类中存放学生容器
void read _ Sub();//读取课程文件
void read _ Teacher();//读取教师信息
void addt老师();//录入教师
void findTeacher().//查看教师
void moid fy _ Tea();//修改教师
void取消茶();//删除教师
虚空救茶();//保存教师信息到文件
弯曲件是_ repeat tea(string tempid);//判断职工号是否有重复
void重复定义();//重定义数据
void登录();//登录
作废学生登录();//学生登录
void老师登录();//教师登录
void admit log in();//管理员登录
};Admin.cpp
包括"承认. h "
矢量学生录取* vec stu//静态成员类外初始化
向量老师录取* vec tea
//重定义数据
void Admit:repeatdefin()
{
//先清空所有容器
维克斯图。clear();
vec茶。clear();
及物动词clear();
vs . clear();
msub。clear();
//重新读取信息
read _ File();//读取学生信息
read _ Sub();//读取课程信息
read _ Teacher();//读取教师信息
read _ stu vt();//初始化取学生类中存放教师容器,老师类中存放学生容器
}
承认:承认()
{
//增加四门选修课
string Sub[4]={ 电路,线代,物理,历史 };
int id2[4]={ 1005,1006,1007,1008 };
for(int I=0;我我)
{
mSub.insert(make_pair(id2[i],Sub[I]));
}
read _ File();//读取学生信息
read _ Sub();//读取课程信息
read _ Teacher();//读取教师信息
read _ stu vt();//初始化取学生类中存放教师容器,老师类中存放学生容器
}
//初始化取学生类中存放教师容器,老师类中存放学生容器
void Admit:read_Stuvt()
{
//初始化取学生类中存放教师容器
向量老师:迭代器它;
for(it=vec tea。begin();它!=vec茶。end();它)
{
矢量学生:迭代器it1
for(it1=vec stu。begin();it1!=vec stu。end();it1)
{
向量主语:迭代器it2
for(it2=it1-VCS。begin();it2!=it1-VCS。end();it2)
{
if (it2- id==it- Subid)
{
it1-vt。push _ back(* it);
打破;
}
}
for(it2=it1-ves。begin();it2!=it1-ves。end();it2)
{
if (it2- id==it- Subid)
{
it1-vt。push _ back(* it);
打破;
}
}
}
}
//初始化老师类中存放学生容器
矢量学生:迭代器it3
for(it3=vec stu。begin();it3!=vec stu。end();it3)
{
向量老师:迭代器it4
for(it4=vec tea。begin();it4!=vec茶。end();it4)
{
向量主语:迭代器it5
for(it5=it3-VCS。begin();it5!=it3-VCS。end();it5)
{
if (it5- id==it4- Subid)
{
it4-vs . push _ back(* it3);
打破;
}
}
for(it5=it3-ves。begin();it5!=it3-ves。end();it5)
{
if (it5- id==it4- Subid)
{
it4-vs . push _ back(* it3);
打破;
}
}
}
}
}
//对学生进行增删改查
void Admit:admitStudent()
{
bool is _ continute=true
while (is_continute)
{
cout ===================管理学生===================== endl
cout - endl;
成本""1"我不知道添加学生""结束;
成本""2"我不知道查看学生""结束;
哥斯大黎加我不知道修改学生""结束;
哥斯大黎加我不知道删除学生""结束;
" 5号"我不知道返回上一个菜单""结束;
-结束;
坦克选择;
嘿,嘿请输入您要进行的操作* ":
宫颈癌前病变选择;
交换机(选择)
{
房子1:
{
添加学生();
系统("暂停");
系统(“cls”);
打断;打断;
}
房子2:
{
系统(“cls”);
findid();
系统(“cls”);
打断;打断;
}
房子3:
{
修改_Stu():
系统("暂停");
系统(“cls”);
打断;打断;
}
四号房:
{
取消();
系统("暂停");
系统(“cls”);
打断;打断;
}
-5号房:
{
is _ continute=false
打断;打断;
}
默认设置:
{
嘿,嘿暂无此选项我的天结束;结束;
系统("暂停");
系统(“cls”);
}
}
}
}
//对课程进行增删改查
请参见支持* admit subject()
{
bool is _ continute=true
(is _ continued)
{
我的天啊管理课程===结束=================结束;
-结束;
成本""1"我不知道添加课程""结束;
成本""2"我不知道查看课程""结束;
哥斯大黎加我不知道修改课程""结束;
哥斯大黎加我不知道删除课程""结束;
" 5号"我不知道返回上一个菜单""结束;
-结束;
坦克选择;
嘿,嘿请输入您要进行的操作* ":
宫颈癌前病变选择;
交换机(选择)
{
房子1:
添加subject();//录入课程
系统("暂停");
系统(“cls”);
打断;打断;
房子2:
find sub();//查看所有课程
系统("暂停");
系统(“cls”);
打断;打断;
房子3:
modify _ sub();
系统("暂停");
系统(“cls”);
打断;打断;
四号房:
取消sub();
系统("暂停");
系统(“cls”);
打断;打断;
-5号房:
is _ continute=false
打断;打断;
默认设置:
{
嘿,嘿暂无此选项我的天结束;结束;
系统("暂停");
系统(“cls”);
}
}
}
}
//添加学生
请参见支持* addStudent()
{
嘿,嘿请录入学号* ":
tempid字符串:
CIN坦皮德
bool is _ continut=true
while(是连续的)
{
矢量老师:迭代器it 1;
for(it 1=vectea。begin());it1!=vectea。end();it1)
{
if (tempid==it1- get_id())
{
嘿,嘿学号不能与职工号重复,请重新输入* ":
CIN坦皮德
打断;打断;
}
}
if(it 1==veea。end())
{
is _ continut=false
打断;打断;
}
}
while(is _ repetitive(tempid))
{
嘿,嘿该学号已存在!请重新输入* ":
CIN坦皮德
}
临时密码字符串= 123456 ;//默认密码为123456
学生stu(tempid);
维克斯图。push _ back(斯图);//把录入的学生添加到容器中
save stuid();
保存stu sub();
嘿,嘿学号tempid 录入成功结束;
}
//删除学生
请参见支持*取消()
{
嘿,嘿请输入所要删除学生的学号* ":
tempid字符串:
CIN坦皮德
矢量学生:它迭代器;
对于(它=vecstu。begin());就是它!=vecstu。end();(it)
{
if (it- get_id()==tempid)
{
打断;打断;
}
}
//若查无此人,则删除失败
if (it==vecStu.end())
{
嘿,嘿没有该学号,无法删除我的天结束;结束;
}
其他语句
{
嘿,嘿已成功删除我的天结束;结束;
维克斯图。抹掉(它);
this-save stuid();
this-savestusub();
}
}
//查看学生信息
请参见支持* findID()
{
bool is _ continute=true
(is _ continued)
{
我的天啊查询学生信息===结束=====结束;
-结束;
成本""1"我不知道查询全部学生""结束;
成本""2"我不知道查询学生个人""结束;
哥斯大黎加我不知道查询学生课程""结束;
哥斯大黎加我不知道返回上一个菜单""结束;
-结束;
嘿,嘿请输入您的操作* ":
坦克选择;
宫颈癌前病变选择;
交换机(选择)
{
房子1:
{
cout 姓名\t 学号: \t 专业: endl
for(vector Student:iterator it=vec stu。begin();它!=vec stu。end();它)
{
cout it-name \ t it-get _ id() \ t it-specialize endl;
}
系统("暂停");
系统(“cls”);
打破;
}
案例"2":
{
cout 请输入所要查询学生的学号:;
字符串tempid
宫颈癌前病变坦皮德;
for(vector Student:iterator it=vec stu。begin();它!=vec stu。end();它)
{
if (it- get_id()==tempid)
{
它-显示id();
it-display sub();
}
}
系统("暂停");
系统(“cls”);
打破;
}
案例"3":
{
for(vector Student:iterator it=vec stu。begin();它!=vec stu。end();它)
{
it-display sub();
}
系统("暂停");
系统(“cls”);
打破;
}
案例"4":
is _ continute=false
打破;
默认值:
{
cout 暂无此选项!恩德尔
系统("暂停");
系统(“cls”);
}
}
}
}
//修改学生信息
void Admit:modify_Stu()
{
cout 请输入所要修改学生的学号:;
字符串tempid
宫颈癌前病变坦皮德;
矢量学生:迭代器它;
bool is _ continute=true
while (is_continute)
{
int number=0;
for(it=vec stu。begin();它!=vec stu。end();它)
{
if (it- get_id()==tempid)
{
号码;
系统(“cls”);
it-modify _ ID();
is _ continute=false
saveStuID();
saveStuSub();
打破;
}
}
如果(数字==0)
{
cout 没有该学号!恩德尔
cout 请重新输入所要修改学生的学号:;
宫颈癌前病变坦皮德;
}
}
}
//判断学号是否重复
bool Admit:is_repeatID(字符串ID)
{
矢量学生:迭代器它;
for(it=vec stu。begin();它!=vec stu。end();它)
{
if (it- get_id()==id)
{
返回真实的
}
}
返回错误的
}
//把学生信息保存到文件中
void Admit:saveStuSub()
{
//对学生的课程进行保存
的流( studentsubject。txt ,IOs:trunc IOs:out);
矢量学生:迭代器它;
for(it=vec stu。begin();它!=vec stu。end();它)
{
向量主语:迭代器it1
//把学生的必修课程存入文件
for(it1=it-VCS。begin();it1!=它-VCS。end();it1)
{
ofs it-get _ id() it1-id it1-subject it1-score endl;
}
//把学生的选修课程存入文件
for(it1=it-ves。begin();it1!=it-ves。end();it1)
{
ofs it-get _ id() it1-id it1-subject it1-score endl;
}
}
ofs。close();
}
//把学账号密码存入文件(修改学生密码)
void Admit:saveStuID()
{
ofstream ofs(StudentID.txt ,IOs:trunc IOs:out);
矢量学生:迭代器它;
for(it=vec stu。begin();它!=vec stu。end();它)
{
ofs it-get _ id() it-get _ password() it-name it-specialize endl;
}
ofs。close();
}
//读取文件(初始化)
void Admit:read_File()
{
ifstream ifs(StudentID.txt ,IOs:in);
字符串临时id,临时密码,临时名称,临时加速.
while(如果临时id ifs临时密码可安装文件系统临时名称可安装文件系统临时加速)
{
主题tempSub
字符串临时主题
int tempSubid,tempscore
向量主体温度;
向量主语tempves
学生temp stu(tempid);
临时学生。name=临时名称;
临时雇员。specialize=tempspeacilze
临时雇员。modify _ password(临时密码);
ifstream if S1(学生主语。txt ,IOs:in);
字符串tempid1
while(如果S1 tempid 1,如果S1 tempSubid,如果S1 temp subid,如果S1 tempscore)
{
if (tempid!=tempid1)
{
继续;
}
if(temp subject== c temp subject==高数 tempSubject==英语)//必修课
{
主题临时主题2
临时科目二。id=tempSubid
临时科目二。subject=临时主题;
临时科目二。分数=临时分数;
临时VCS。push _ back(临时科目二);
}
其他
{
主题主题3
临时科目三。id=tempSubid
临时科目三。subject=临时主题;
临时科目三。分数=临时分数;
tempves。push _ back(临时科目三);
}
}
如果S1。close();
临时学生。VCS=临时VCS;
tempStu.ves=tempves
维克斯图。push _ back(临时stu);
}
如果。close();
}
//对课程进行保存
void Admit:saveSub()
{
ofstream ofs(课程信息. txt ,IOs:trunc IOs:out);
ofs 1001 c 必修课恩德尔
ofs 1002 高数 必修课恩德尔
ofs 1003 英语 必修课恩德尔
for (map int,string:iterator it=msub。begin();它!=msub。end();它)
{
"它第一""它第二"选修课恩德尔
}
ofs。close();
}
//录入课程
void Admit:addSubject()
{
cout 请录入课程代码:;
int子id
宫颈癌前病变苏比德;
而(真)
{
如果(子id==1001 子id==1002 子id==1003)
{
cout 该课程代码已存在!请重新输入:;
宫颈癌前病变苏比德;
继续;
}
map int,string:iterator it;
for(it=msub。begin();它!=msub。end();它)
{
if (it- first==Subid)
{
cout 该课程代码已存在!请重新输入:;
宫颈癌前病变苏比德;
打破;
}
}
if (it==mSub.end())
{
打破;
}
}
cout 请输入该课程科目:;
字符串子名称
CIN Subname;
mSub.insert(make_pair(Subid,Subname));
save sub();
cout 已成功录入此课程!恩德尔
}
//查看所有课程
void Admit:findSub()
{
cout 所有课程如下: endl
cout结束
cout 课程代码\t 课程名称\ t结束
cout 1001 \ t \ t c \ t \ t endl;
cout 1002 \t \t 高数\ t \ t endl
cout 1003 \t \t 英语\ t \ t endl
for (map int,string:iterator it=msub。begin();它!=msub。end();它)
{
cout it-first \ t \ t it-second \ t \ t endl;
}
}
//修改课程
void Admit:modify_Sub()
{
cout 请输入所要修改的课程代码:;
int tempid=0;
宫颈癌前病变坦皮德;
if(tempid==1001 tempid==1002 tempid==1003)
{
cout 必修课程无法修改!恩德尔
}
其他
{
字符串临时名称
int tempid2
map int,string:iterator it;
for(it=msub。begin();它!=msub。end();它)
{
if (it- first==tempid)
{
cout 请输入新的课程代码:;
CIN tempid 2;
bool is _ continute=true
while (is_continute)
{
map int,string:iterator it2;
for(it2=msub。begin();it2!=msub。end();it2)
{
if (it2- first==it- first)
{
继续;
}
if(it2-first==tempid 2 tempid 2==1001 tempid 2==1002 tempid 2==1003)
{
cout 已存在该课程代码!请重新输入:;
CIN tempid 2;
打破;
}
}
if (it2==mSub.end())
{
is _ continute=false
}
}
cout 请输入课程科目:;
宫颈癌前病变临时名称;
打破;
}
}
if (it==mSub.end())
{
cout 没有该课程代码!恩德尔
}
其他
{
msub。抹掉(它);
mSub.insert(make_pair(tempid2,tempname));
cout 修改成功!恩德尔
save sub();
}
}
}
//删除课程
void Admit:cancelSub()
{
cout 请输入所要删除的课程代码:;
int tempid
宫颈癌前病变坦皮德;
if(tempid==1001 tempid==1002 tempid==1003)
{
cout 必修课程无法删除!恩德尔
}
其他
{
map int,string:iterator it;
for(it=msub。begin();它!=msub。end();它)
{
if (it- first==tempid)
{
打破;
}
}
if (it==mSub.end())
{
cout 没有该课程代码!恩德尔
}
其他
{
msub。抹掉(它);
save sub();
cout 删除成功!恩德尔
}
}
}
//读取课程文件(初始化)
void Admit:read_Sub()
{
ifstream ifs(课程信息. txt ,IOs:in);
int tempid
字符串临时名称,子名称.
while(如果临时id ifs临时名称可安装文件系统子名称)
{
if (Subname==选修课)
{
mSub.insert(make_pair(tempid,tempname));
}
}
}
//登录
void Admit:login()
{
bool is _ continue=true
while (is_continue)
{
cout ============================欢迎使用学生信息管理系统============================ endl;
cout 请选择您的身份: endl
cout - endl;
cout endl
cout“”管理员 endl
cout endl
cout“”学生 endl
cout endl
cout“”教师 endl
cout endl
cout“”退出 endl
cout endl
cout - endl;
cout 请选择您的操作:;
茶选择;
宫颈癌前病变的选择;
开关(选择)
{
案例"1":
{
允许登录();//管理员登录
重复defin();//重定义数据
系统("暂停");
系统(“cls”);
打破;
}
案例"2":
{
学生登录();//学生登录
重复defin();//重定义数据
系统(“cls”);
打破;
}
案例"3":
{
教师登录();//教师登录
重复defin();//重定义数据
系统(“cls”);
打破;
}
案例"4"://退出
cout 欢迎下次使用!恩德尔
退出(0);
打破;
默认值:
{
cout 暂无此选项!恩德尔
系统("暂停");
系统(“cls”);
}
}
}
}
//学生登录
void Admit:Studentlogin()
{
cout 请输入您的登录账号:;
字符串tempid
宫颈癌前病变坦皮德;
//先查找有没有该账号
矢量学生:迭代器它;
而(真)
{
for(it=vec stu。begin();它!=vec stu。end();它)
{
if (it- get_id()==tempid)
{
打破;
}
}
如果(它!=vecStu.end())
{
打破;
}
if (it==vecStu.end())
{
cout 该账号不存在!请重新输入:;
宫颈癌前病变坦皮德;
}
}
cout 请输入您的登录密码:;
字符串临时密码
宫颈癌前病变临时密码;
//判断密码是否正确
而(真)
{
if(it-get _ password()==临时密码)
{
打破;
}
其他
{
cout 密码错误!请重新输入:;
宫颈癌前病变临时密码;
}
}
if (it- name==张三it- get_password()==123456 )
{
cout 首次登陆,请先修改密码!恩德尔
cout 请输入您的新密码:;
字符串温度;
宫颈癌前病变温度;
it-modify _ password(temp);
cout 密码修改成功!恩德尔
cout 请输入您的用户名:;
字符串临时名称
宫颈癌前病变临时名称;
it-name=tempname;
cout 登录成功!恩德尔
saveStuID();
}
其他
{
cout 登录成功!恩德尔
}
系统("暂停");//按任意键继续
系统(“cls”);//清屏
//学生功能界面
茶选择;
bool is _ continue=true
while (is_continue)
{
//界面
cout 欢迎学生, it- name 登录!恩德尔
cout - endl;
cout endl
cout“”查看个人信息 endl
cout endl
cout“”查看课表 endl
cout endl
cout“”进行选课 endl
cout endl
cout“”进行评教 endl
cout endl
cout“”修改信息 endl
cout endl
cout“”退出登录 endl
cout endl
cout - endl;
cout 请选择您的操作:;
宫颈癌前病变的选择;
开关(选择)
{
案例"1"://查看个人信息
{
它-显示id();
系统("暂停");
系统(“cls”);
打破;
}
案例"2"://查看课表
{
it-display sub();
系统("暂停");
系统(“cls”);
打破;
}
案例"3"://选课
{
it-eletiving();
//添加选课的课程代码所对应的教师
it-vt。clear();//先清空该学生存放的教师容器,在重新选入教师
for(向量老师:迭代器it5=vec tea。begin();it5!=vec茶。end();it5)
{
for(向量主语:迭代器it6=it-VCS。begin();it6!=它-VCS。end();it6)
{
if (it5- Subid==it6- id)
{
it-vt。push _ back(* it5);
}
}
for(向量主语:迭代器it6=it-ves。begin();it6!=it-ves。end();it6)
{
if (it5- Subid==it6- id)
{
it-vt。push _ back(* it5);
}
}
}
saveStuSub();
系统("暂停");
系统(“cls”);
打破;
}
案例"4"://评教
{
it-判官茶();
//对管理员存放的教师进行修改
for(向量老师:迭代器it3=it-vt。begin();it3!=it-vt。end();it3)
{
for(向量老师:迭代器it4=vec tea。begin();it4!=vec茶。end();it4)
{
if (it4- get_id()==it3- get_id())
{
it4-个人。优秀=it3-个人。优秀;
it4-个人。kel ter=it3-个人。kel ter
}
}
}
省茶();
系统("暂停");
系统(“cls”);
打破;
}
案例"5":
{//修改信息
系统(“cls”);
it-modify _ ID();
saveStuID();
saveStuSub();
系统(“cls”);
打破;
}
案例"6"://退出登录
{
is _ continue=false
cout 已成功退出登录!恩德尔
系统("暂停");
打破;
}
默认值:
{
cout 暂无此选项!恩德尔
系统("暂停");
系统(“cls”);
}
}
}
}
//教师登录
void Admit:Teacherlogin()
{
cout 请输入您的登录账号:;
字符串tempid
宫颈癌前病变坦皮德;
//先查找有没有该账号
向量老师:迭代器它;
而(真)
{
for(it=vec tea。begin();它!=vec茶。end();它)
{
if (it- get_id()==tempid)
{
打破;
}
}
如果(它!=vecTea.end())
{
打破;
}
if (it==vecTea.end())
{
cout 该账号不存在!请重新输入:;
宫颈癌前病变坦皮德;
}
}
cout 请输入您的登录密码:;
字符串临时密码
宫颈癌前病变临时密码;
//判断密码是否正确
而(真)
{
if(it-get _ password()==临时密码)
{
打破;
}
其他
{
cout 密码错误!请重新输入:;
宫颈癌前病变临时密码;
}
}
if (it- name==教职工it- get_password()==123456 )
{
cout 首次登陆,请先修改密码!恩德尔
cout 请输入您的新密码:;
字符串温度;
宫颈癌前病变温度;
it-modify _ password(temp);
cout 密码修改成功!恩德尔
cout 请输入您的用户名:;
字符串临时名称
宫颈癌前病变临时名称;
it-name=tempname;
cout 登录成功!恩德尔
省茶();
}
其他
{
cout 登录成功!恩德尔
}
系统("暂停");//按任意键继续
系统(“cls”);//清屏
//教师功能界面
茶选择;
bool is _ continue=true
while (is_continue)
{
//界面
cout 欢迎教师, it- name 登录!恩德尔
cout - endl;
cout endl
cout“”查看个人信息 endl
cout endl
cout“”查看学生评教 endl
cout endl
cout“”查看学生信息 endl
cout endl
cout“”录入课程成绩 endl
cout endl
cout“”修改信息 endl
cout endl
cout“”退出登录 endl
cout endl
cout - endl;
cout 请选择您的操作:;
宫颈癌前病变的选择;
开关(选择)
{
案例"1"://查看个人信息
{
it-display _ ID();
系统("暂停");
系统(“cls”);
打破;
}
案例"2"://查看评教
{
it-display _ ind();
}
案例"3"://查看学生信息
{
it-display _ Stu();
系统("暂停");
系统(“cls”);
打破;
}
案例"4"://录入课程成绩
{
系统(“cls”);
it-mark();
for(vector Student:iterator it4=it-vs . begin();it4!=it-vs . end();it4)
{
for(vector Student:iterator it5=vec stu。begin();it5!=vec stu。end();it5)
{
if (it4- get_id()==it5- get_id())
{
it5- vcs=it4-
it5- ves=it4-
}
}
}
saveStuID();
saveStuSub();
系统(“cls”);
打破;
}
案例"5"://修改信息
{
系统(“cls”);
it-modify _ ID();
for(vector Student:iterator it4=it-vs . begin();it4!=it-vs . end();it4)
{
for(vector Student:iterator it5=vec stu。begin();it5!=vec stu。end();it5)
{
if (it4- get_id()==it5- get_id())
{
it5- vcs=it4-
it5- ves=it4-
}
}
}
省茶();
saveStuID();
saveStuSub();
系统(“cls”);
打破;
}
案例"6"://退出登录
{
is _ continue=false
cout 已成功退出登录!恩德尔
系统("暂停");
打破;
}
默认值:
{
cout 暂无此选项!恩德尔
系统("暂停");
系统(“cls”);
}
}
}
}
//管理员登录
void Admit:Admitlogin()
{
cout 请输入您的账号:;
字符串tempid
宫颈癌前病变坦皮德;
cout 请输入您的密码:;
字符串临时密码
宫颈癌前病变临时密码;
while (tempid!=admin temppassword!=123456)
{
cout 账号密码错误,请重新输入!恩德尔
cout 请重新输入您的账号:;
宫颈癌前病变坦皮德;
cout 请重新输入您的密码:;
宫颈癌前病变临时密码;
}
cout 登录成功!恩德尔
系统("暂停");
系统(“cls”);
bool is _ continute=true
while (is_continute)
{
cout 欢迎管理员,管理员登录!恩德尔
cout - endl;
cout endl
cout " " "1." "管 理 学 生" " " endl;
cout " " endl;
cout " " "2." "管 理 教 师" " " endl;
cout " " endl;
cout " " "3." "管 理 课 程" " " endl;
cout " " endl;
cout " " "4." "退 出 登 录" " " endl;
cout " " endl;
cout " ----------------------------" endl;
cout "请选择您的操作:";
char choice;
cin choice;
switch (choice)
{
case 1://管理学生
{
system("cls");
admitStudent();
system("cls");
break;
}
case 2:
{
system("cls");
admitTeacher();
system("cls");
break;
}
case 3://管理课程
{
system("cls");
admitSubject();//管理课程
system("cls");
break;
}
case 4://退出登录
is_continute = false;
cout "已成功退出登录" endl;
break;
default:
{
cout "暂无此选项!" endl;
system("pause");
system("cls");
}
}
}
}
//保存教师信息到文件
void Admit::saveTea()
{
ofstream ofs("TeacherID.txt", ios::trunc ios::out);
vector Teacher ::iterator it;
//把教职工的职工号、密码、姓名、课程代码、课程名称、评价优、评价良存入文件
for (it = vecTea.begin(); it != vecTea.end(); it++)
{
ofs it- get_id() " " it- get_password() " " it- name " " it- Subid
" " it- Subname " " it- individual.excellent " " it- individual.kelter endl;
}
ofs.close();
}
//读取教师信息
void Admit::read_Teacher()
{
ifstream ifs("TeacherID.txt", ios::in);
string tempid, temppassword, tempname, tempSubname;
int tempSubid, tempexc, tempkel;
//读取教职工的职工号、密码、姓名、课程代码、课程名称、评价优、评价良
while (ifs tempid ifs temppassword ifs tempname ifs tempSubid ifs tempSubname ifs tempexc ifs tempkel)
{
Teacher tempTea(tempid);
tempTea.modify_password(temppassword);
tempTea.name = tempname;
tempTea.Subid = tempSubid;
tempTea.Subname = tempSubname;
tempTea.individual.excellent = tempexc;
tempTea.individual.kelter = tempkel;
vecTea.push_back(tempTea);
}
ifs.close();
}
//判断职工号是否有重复
bool Admit::is_repeatTea(string tempid)
{
vector Teacher ::iterator it;
for (it = vecTea.begin(); it != vecTea.end(); it++)
{
if (it- get_id() == tempid)
{
return true;
}
}
return false;
}
//录入教师
void Admit::addtTeacher()
{
cout "请录入职工号:";
string tempid;
cin tempid;
bool is_continut = true;
while (is_continut)
{
vector Student ::iterator it1;
for (it1 = vecStu.begin(); it1 != vecStu.end(); it1++)
{
if (tempid == it1- get_id())
{
cout "职工号不能与学号重复,请重新输入:";
cin tempid;
break;
}
}
if (it1 == vecStu.end())
{
is_continut = false;
break;
}
}
while (is_repeatTea(tempid))
{
cout "该职工号已存在!请重新输入:" ;
cin tempid;
}
string temppassword = "123456";//默认密码为123456
Teacher tea(tempid);
tea.modify_password(temppassword);
tea.Subname = "课程";
tea.name = "教职工";
cout "请选择该教师的课程代码,可选择的课程代码如下" endl;
int a=0, b=0, c=0;
map int, string ::iterator it;
for (it = mSub.begin(); it != mSub.end(); it++)
{
vector Teacher ::iterator it1;
for (it1 = vecTea.begin(); it1!= vecTea.end(); it1++)
{
if (it1- Subid == it- first)
{
break;
}
if (it1- Subid == 1001)
{
a++;
}
if (it1- Subid == 1002)
{
b++;
}
if (it1- Subid == 1003)
{
c++;
}
}
if (it1 == vecTea.end())
{
cout \t "课程代码:" it- first \t "课程名称:" it- second endl;
}
}
if (a == 0)
{
cout \t "课程代码:" 1001 \t "课程名称:" "c++" endl;
}
if (b == 0)
{
cout \t "课程代码:" 1002 \t "课程名称:" "高数" endl;
}
if (c== 0)
{
cout \t "课程代码:" 1003 \t "课程名称:" "英语" endl;
}
cout "请输入所选的课程代码:";
int tempSubjectid;
cin tempSubjectid;
while (true)
{
int number = 0;
map int, string ::iterator it2;
for (it2 = mSub.begin(); it2 != mSub.end(); it2++)
{
if (it2- first==tempSubjectid)
{
number++;
}
}
if (number!=0)
{
break;
}
if (tempSubjectid == 1001 tempSubjectid == 1002 tempSubjectid == 1003)
{
break;
}
else
{
cout "没有该课程代码!请重新输入:";
cin tempSubjectid;
}
}
for (it = mSub.begin(); it != mSub.end(); it++)
{
vector Teacher ::iterator it1;
for (it1 = vecTea.begin(); it1 != vecTea.end(); it1++)
{
while (true)
{
int tempnuber = 0;
map int, string ::iterator it2;
for (it2 = mSub.begin(); it2 != mSub.end(); it2++)
{
if (tempSubjectid == it2- first)
{
tempnuber++;
break;
}
}
if (tempnuber!=0)
{
break;
}
if (tempSubjectid == 1001 tempSubjectid == 1002 tempSubjectid == 1003)
{
break;
}
else
{
cout "没有该课程代码!请重新输入:";
cin tempSubjectid;
}
}
if (it1- Subid == tempSubjectid)
{
cout "该课程代码已经被其他教师选择,请重新输入:";
cin tempSubjectid;
break;
}
}
if (it1 == vecTea.end())
{
break;
}
}
tea.Subid = tempSubjectid;//把课程代码所对应的课程名称赋值给教师所教的课程
if (tempSubjectid == 1001)
{
tea.Subname = "c++";
}
if (tempSubjectid == 1002)
{
tea.Subname = "高数";
}
if (tempSubjectid == 1003)
{
tea.Subname = "英语";
}
for (it = mSub.begin(); it != mSub.end(); it++)
{
if (it- first == tea.Subid)
{
tea.Subname=it- second;
}
}
//若已有学生选该课程代。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。