学生考试管理系统设计与实现.docx
- 文档编号:23980233
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:44
- 大小:422.39KB
学生考试管理系统设计与实现.docx
《学生考试管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《学生考试管理系统设计与实现.docx(44页珍藏版)》请在冰豆网上搜索。
学生考试管理系统设计与实现
21学生修改个人密码13
29主函数22
30主函数23
#include
#include
#include
#include
#include
#include
#include
usingnamespacestd;
externconstintSHCOOL_CODE=18;//学校代码
externconstintFULL_NUMBER=10;//假设每个考场能容纳的人数
inttem=0;
inttem1=0;
voidmenu();
voidstmenu();
voidadmenu();
intmenu1();
voidmenu2();
classStu//构建学生类
{
public:
friendvoidLookup(Stustud[]);//管理员查找学生记录
friendvoidModify(Stustud[]);//管理员修改学生记录
friendvoidDelete(Stustud[]);//管理员删除学生记录
friendvoidInsert(Stustud[]);//管理员插入学生记录
friendvoidXie_stu(Stustud[],intn);//管理员向文件中写入记录
friendintDu_stu(Stustud[]);//管理员从文件中读出记录
friendvoidLookup_st();//学生浏览个人记录
friendvoidModify_st_mima();//学生修改个人密码
friendvoidst_denglu();//学生登录函数
friendvoidstmenu();//学生登录界面
private:
chargrade[10];//专业年级
charname[10];//姓名
chargender[10];//性别
intstuID;//学号
charstmima[10];//学生密码
chartestID[20];//准考证号
charseatnum[10];//座位号
intattendNum;//考场号
charinvigilator[10];//监考老师
}stud[100];
classAD//构建管理员类
{
public:
friendvoidad_denglu();//管理员登录设置
friendvoidmenu2();//管理员记录管理界面
friendvoidinput_ad(ADadmini[]);//重新注册管理员
friendvoidXie_ad(ADadmini[],intn);//将管理员记录写入文件
friendintDu_ad(ADadmini[]);//将管理员记录从文件中读出
friendintmenu1();//管理员界面
private:
charname[20];//管理员姓名
charpass[10];//管理员密码
}admini[10];
classKS//构建考试安排类
{
public:
friendvoidLookup_kao(KSkao[]);//管理员查找考试信息
friendvoidModify_kao(KSkao[]);//管理员修改考试信息
friendvoidDelete_kao(KSkao[]);//管理员删除考试信息
friendvoidInsert_kao(KSkao[]);//管理员插入考试信息
friendvoidXie_kao(KSkao[],intn);//管理员向文件中写入考试信息
friendintDu_kao(KSkao[]);//管理员从文件中读出考试信息
private:
intknum;//课程号
charkname[20];//课程名称
stringktime;//考试时间
charinstructor[10];//任课老师
}kao[10];
voidXie_stu(Stustud[],intn)//向文件中写入学生记录
{
ofstreamoutfile("student.txt",ios:
:
out);
if(!
outfile)
{
cerr<<"student.txtcan'topen!
"< } intcount=n; for(inti=0;i { outfile< outfile< } outfile.close(); } voidXie_ad(ADadmini[],intn)//向文件中写入管理员记录 { ofstreamoutfile("administrator.txt",ios: : out); if(! outfile) { cerr<<"administrator.txtcan'topen! "< } intcount=n; for(inti=0;i { outfile<<""< } outfile.close(); } voidXie_kao(KSkao[],intn)//管理员向文件中写入考试信息 { ofstreamoutfile("kaoshi.txt",ios: : out); if(! outfile) { cerr<<"kaoshi.txtcan'topen! "< } intcount=n; for(inti=0;i { outfile< } outfile.close(); } intDu_stu(Stustud[])//从文件中读出学生记录 { intcount; cout<<"\t输入学生人数: "; cin>>count; ifstreaminfile("student.txt",ios: : in); if(! infile) { cerr<<"student.txtcan'topen! "< exit (1); } for(inti=0;i { infile>>stud[i].grade>>stud[i].name>>stud[i].gender>>stud[i].stuID>>stud[i].stmima; infile>>stud[i].seatnum>>stud[i].attendNum>>stud[i].testID>>stud[i].invigilator; } cout<<"专业年级"<<"姓名"<<"性别"<<"学号"<<"学生密码"<<"座位号"<<"考场号"<<"准考证号"<<"监考老师"< for(inti=0;i { cout< } system("pause"); infile.close(); returncount; } intDu_ad(ADadmini[])//从文件中读出管理员记录 { intcount; cout<<"\t输入管理员人数: "; cin>>count; ifstreaminfile("administrator.txt",ios: : in); if(! infile) { cerr<<"administrator.txtcan'topen! "< exit (1); } for(inti=0;i { infile>>admini[i].name>>admini[i].pass; } cout<<"姓名"<<"密码"< for(inti=0;i { cout<<""< } system("pause"); infile.close(); returncount; } intDu_kao(KSkao[])//管理员从文件中读出考试信息 { intcount; cout<<"\t输入考试信息条数: "; cin>>count; ifstreaminfile("kaoshi.txt",ios: : in); if(! infile) { cerr<<"kaoshi.txtcan'topen! "< exit (1); } for(inti=0;i { infile>>kao[i].knum>>kao[i].kname>>kao[i].ktime>>kao[i].instructor; } cout<<"课程号"<<"课程名称"<<"\t考试时间"<<"\t任课老师"< for(inti=0;i { cout< }cout<<""; system("pause"); infile.close(); returncount; } voidinput_ad(ADadmini[])//重新注册管理员 { system("cls");/*运行前清屏*/ intn=Du_ad(admini); inti=0; chars; cout< "< while(s! ='n'&&s! ='N') { cout<<"姓名: "; cin>>admini[i].name; cout<<"密码: "; cin>>admini[i].pass; n++; cout<<"是否继续注册? (Y/N)"; cin>>s; } Xie_ad(admini,n); } voidModify(Stustud[])//管理员修改学生记录 { system("cls");/*运行前清屏*/ intn=Du_stu(stud); ints; inti; cout< "< cout<<"请输入需要修改记录学生的学号: "; cin>>s; while((stud[i].stuID-s)! =0&&i if(i==n) { cout<<"对不起,无该学生的记录! "< } else { cout<<"该学生的信息: "< cout<<"专业年级: "< "< "< "< "< cout<<"座位号: "< "< "< "< cout<<"请重新输入该学生的信息"< cout<<"专业年级: "; cin>>stud[i].grade; cout<<"姓名: "; cin>>stud[i].name; cout<<"性别: "; cin>>stud[i].gender; cout<<"学号: "; cin>>stud[i].stuID; cout<<"学生密码: "; cin>>stud[i].stmima; cout<<"座位号: "; cin>>stud[i].seatnum; cout<<"考场号: "; cin>>stud[i].attendNum; cout<<"准考证号: "; cin>>stud[i].testID; cout<<"监考老师: "; cin>>stud[i].invigilator; charc; cout<<"是否保存记录? (y/n)"; cin>>c; if(c! ='n'&&c! ='N') Xie_stu(stud,n); } } voidModify_kao(KSkao[])//管理员修改考试信息 { system("cls");/*运行前清屏*/ intn=Du_kao(kao); ints; inti; cout< "< cout<<"请输入需要修改课程号: "; cin>>s; while((kao[i].knum-s)! =0&&i if(i==n) { cout<<"对不起,无该课程记录! "< } else { cout<<"该课程信息: "< cout<<"课程号: "< "< "< "< cout<<"请重新输入该课程信息"< cout<<"课程号: "; cin>>kao[i].knum; cout<<"课程名称: "; cin>>kao[i].kname; cout<<"考试时间: "; cin>>kao[i].ktime; cout<<"任课老师: "; cin>>kao[i].instructor; charc; cout<<"是否保存记录? (y/n)"; cin>>c; if(c! ='n'&&c! ='N') Xie_kao(kao,n); } } voidDelete(Stustud[])//管理员删除学生记录 { system("cls");/*运行前清屏*/ intn=Du_stu(stud); ints; inti,j; cout< "; cin>>s; while((stud[i].stuID-s)! =0&&i if(i==n) { cout<<"对不起,无法找到该学生! "< } else { for(j=i;j { strcpy(stud[j].grade,stud[j+1].grade); strcpy(stud[j].name,stud[j+1].name); strcpy(stud[j].gender,stud[j+1].gender); stud[j].stuID=stud[j+1].stuID; strcpy(stud[j].stmima,stud[j+1].stmima); strcpy(stud[j].seatnum,stud[j+1].seatnum); stud[j].attendNum=stud[j+1].attendNum; strcpy(stud[j].testID,stud[j+1].testID); strcpy(stud[j].invigilator,stud[j+1].invigilator); } cout< "< } Xie_stu(stud,n-1); } voidDelete_kao(KSkao[])//管理员删除考试信息 { system("cls");/*运行前清屏*/ intn=Du_kao(kao); ints; inti; cout< "; cin>>s; while((kao[i].knum-s)! =0&&i if(i==n-1) { cout<<"对不起,无法找到该该课程! "< } else { for(intj=i;j { kao[j].knum=kao[j+1].knum; strcpy(kao[j].kname,kao[j+1].kname); kao[j].ktime=kao[j+1].ktime; strcpy(kao[j].instructor,kao[j+1].instructor); } cout<<"已成功删除! "< Xie_kao(kao,n-1); } } voidInsert(Stustud[])//管理员插入学生记录 { system("cls");/*运行前清屏*/ intn=Du_stu(stud); inti=0; chars; cout< "< while(s! ='n'&&s! ='N') { cout<<"专业年级: "; cin>>stud[i].grade; cout<<"姓名: "; cin>>stud[i].name; cout<<"性别: "; cin>>stud[i].gender; cout<<"学号: "; cin>>stud[i].stuID; cout<<"学生密码: "; cin>>stud[i].stmima; cout<<"座位号: "; cin>>stud[i].seatnum; cout<<"考场号: "; cin>>stud[i].attendNum; cout<<"准考证号: "; cin>>stud[i].testID; cout<<"监考老师: "; cin>>stud[i].invigilator; n++; cout<<"是否继续写入学生记录? (Y/N)"; cin>>s; } Xie_stu(stud,n); } voidInsert_kao(KSkao[])//管理员插入考试信息 { system("cls");/*运行前清屏*/ intn=Du_kao(kao); inti=0; chars; cout< "< while(s! ='n'&&s! ='N') { cout<<"课程号: "; cin>>kao[i].knum; cout<<"课程名称: "; cin>>kao[i].kname; cout<<"考试时间: "; cin>>kao[i].ktime; cout<<"任课老师: "; cin>>kao[i].instructor; n++; cout<<"是否继续写入考试信息? (Y/N)"; cin>>s; } Xie_kao(kao,n); } voidLookup(Stustud[])//管理员查找学生记录 { system("cls");/*运行前清屏*/ intn=Du_stu(stud); ints; inti; cout< "< cout<<"请输入需要查找学生的学号: "; cin>>s; while((stud[i].stuID-s)! =0&&i if(i==n) { cout<<"对不起,无法找到该学生的记录! "< } else { cout<<"专业年级: "< cout<<"姓名: "< cout<<"性别: "< cout<<"学号: "< cout<<"学生密码: "< cout<<"座位号: "< cout<<"考场号: "< cout<<"准考证号: "< cout<<"监考老师: "< } } voidLookup_kao(KSkao[])//查看考试信息 { system("cls");/*运行前清屏*/ intn=Du_kao(kao); ints; int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 考试 管理 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)