学生成绩管理系统项目终极版汇编.docx
- 文档编号:29063767
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:24
- 大小:19.99KB
学生成绩管理系统项目终极版汇编.docx
《学生成绩管理系统项目终极版汇编.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统项目终极版汇编.docx(24页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统项目终极版汇编
#include
#include
#include
#include
usingnamespacestd;
#defineMaxSize100
/*********学生类*********/
classCStudent
{
private:
intpas_stu;
intm_iNum;
charm_cNam[20];
floatm_fChinese;
floatm_fMath;
floatm_fEnglish;
friendclassCTeacher;
public:
CStudent();
intmod_stu_serc(intpas_stu);//修改密码
intMenustu();
voidcoming_stu_menu(CStudent&st,intresult);//学生登录界面
voidrank_stu(intm_iNum);//学生总分排序
voidresearch(intm_iNum);//查找学生成绩
voiddisplay();//显示所有学生的信息
voidread();//打开文件
};
CStudentstu[MaxSize];
intsize;
/*********教师类*********/
classCTeacher
{
private:
intacc_te;
intpas_te;
public:
CTeacher();
~CTeacher();
intMenu_te();
voidload();
voidcoming_te_menu(CTeacher&Te,intresult);//教师登录界面
voidset_stu_date();//增加学生信息
CStudentdelet_stu_data(intm_iNumber);//删除指定学号的学生信息
voidchangeInfo(intm_iNumber);//修改指定学号的学生信息
voidsearch(intm_iNumber);//按学号查找学生信息
voidsearch(charm_cName[20]);//按姓名查找学生信息
voidsort_subj(intsubj);//按指定学科及总分成绩排序(从高到低)
voiddisplayall();//显示所有学生的信息
voidsave();//将学生信息保存到teacher.txt文件中
};
CStudent:
:
CStudent()//为密码设初值
{
pas_stu=123;
}
intCStudent:
:
mod_stu_serc(intpas_stu)//修改密码
{
inta;
ofstreamoutfile("sercet.txt",ios:
:
out);
if(!
outfile)
{
cerr<<"openerror!
"< exit (1); } cout<<"◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇"< cout<<"输入你的新密码"< cin>>a; pas_stu=a; outfile< cout<<"⌒_⌒密码设置成功! "< outfile.close(); return0; } voidCStudent: : read()//打开文件 { ifstreamoutfile("sercet.txt",ios: : in); if(! outfile) { cerr<<"openerror! "< exit (1); } outfile>>pas_stu; outfile.close(); } voidCStudent: : coming_stu_menu(CStudent&st,intresult)//学生登录界面 { intc,p; for(inta=0;a<3;a++) { st.read(); system("pause"); system("cls"); cout<<"◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇"< cout<<"◇您有"<<3-a<<"次输入机会"< cout<<"◆请输入账户: "; cin>>c; cout<<"◇请输入密码: "; cin>>p; cout<<"◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇"< inti; for(i=0;i { if((c==stu[i].m_iNum)&&(p==pas_stu)) { cout<<"⌒_⌒登陆成功! "< i=size+2; a=4; result=1; do{ system("pause"); system("cls"); result=st.Menustu(); }while(result! =-1); i++; break; } } } if(a==3) { cout<<">_<登录失败"< system("pause"); } } voidCStudent: : rank_stu(intm_iNum)//学生总分排序 { CStudenttem; for(inti=0;i { for(intj=i+1;j { if((stu[i].m_fChinese+stu[i].m_fMath+stu[i].m_fEnglish)<(stu[j].m_fChinese+stu[j].m_fMath+stu[j].m_fEnglish)) { tem=stu[i]; stu[i]=stu[j]; stu[j]=tem; } } } for(intk=0;k { if(stu[k].m_iNum==m_iNum) { cout<<""< "; cout< } } } voidCStudent: : display()//显示所有学生的信息 { for(inti=0;i { cout< cout< cout< cout< cout< } } voidCStudent: : research(intm_iNum)//查找学生成绩 { for(inti=0;i { if(stu[i].m_iNum==m_iNum) { cout<<"╔═══╤═══╤═══╤═══╤═══╗"< cout<<"║学号姓名语文成绩数学成绩英语成绩║"< cout<<"╠═══╬═══╬═══╬═══╬═══╣"< cout<<""< cout< cout< cout< cout< cout<<"╚═══╩═══╩═══╩═══╩═══╝"< break; } } if(i>=size) cout<<">_<无此学生信息! "< } voidCTeacher: : load() { size=0; ifstreaminfile; infile.open("teacher.txt",ios: : out); if(infile) { infile.read((char*)&size,sizeof(int)); infile.seekg(sizeof(int)); for(inti=0;i { infile.read((char*)&stu[i],sizeof(CStudent)); } infile.close(); } else { cout< ! ERROR: Cannotopenfile'teacher.txt'."< } } voidCTeacher: : set_stu_date()//增加学生信息 { cout<<"请输入该学生的学号: "; cin>>stu[size].m_iNum; cout<<"请输入该学生的姓名: "; cin>>stu[size].m_cNam; cout<<"请输入该学生的语文成绩: "; cin>>stu[size].m_fChinese; cout<<"请输入该学生的数学成绩: "; cin>>stu[size].m_fMath; cout<<"请输入该学生的英语成绩: "; cin>>stu[size].m_fEnglish; size++; } CStudentCTeacher: : delet_stu_data(intm_iNumber)//删除指定学号的学生信息 { CStudenttemp; for(inti=0;i { if(stu[i].m_iNum==m_iNumber) { temp=stu[i]; for(intj=i;j stu[j]=stu[j+1]; size--; break; } } returntemp; } CTeacher: : CTeacher()//为教师登录用户名和密码设初值 { acc_te=123; pas_te=123; } CTeacher: : ~CTeacher() {} voidCTeacher: : changeInfo(intm_iNumber)//修改指定学号的学生信息 { for(inti=0;i { if(stu[i].m_iNum==m_iNumber) { cout<<"请选择要修改的选项: "< cout<<"1-学号,2-姓名,3-语文成绩,4-数学成绩,5-英语成绩"< intinput; cin>>input; switch(input) { case1: cout<<"学号: ";cin>>stu[i].m_iNum;break; case2: cout<<"姓名: ";cin>>stu[i].m_cNam;break; case3: cout<<"语文成绩: ";cin>>stu[i].m_fChinese;break; case4: cout<<"数学成绩: ";cin>>stu[i].m_fMath;break; case5: cout<<"英语成绩: ";cin>>stu[i].m_fEnglish;break; } break; } } } voidCTeacher: : search(intm_iNumber)//按学号查找学生信息 { for(inti=0;i { if(stu[i].m_iNum==m_iNumber) { cout<<"╔═══╤═══╤═══╤═══╤═══╗"< cout<<"║学号姓名语文成绩数学成绩英语成绩║"< cout<<"╠═══╬═══╬═══╬═══╬═══╣"< cout<<""< cout< cout< cout< cout< cout<<"╚═══╩═══╩═══╩═══╩═══╝"< break; } } if(i>=size)cout<<">_<无此学生信息! "< } voidCTeacher: : search(charm_cName[20])//按姓名查找学生信息 { intf=0; for(inti=0;i { if(strcmp(stu[i].m_cNam,m_cName)==0) { f=1; cout<<"╔═══╤═══╤═══╤═══╤═══╗"< cout<<"║学号姓名语文成绩数学成绩英语成绩║"< cout<<"╠═══╬═══╬═══╬═══╬═══╣"< cout<<""< cout< cout< cout< cout< cout<<"╚═══╩═══╩═══╩═══╩═══╝"< break; } } if(f==0) cout<<">_<无此学生信息! "< } voidCTeacher: : sort_subj(intsubj)//按指定学科及总分成绩排序(从高到低) { CStudenttemp; if(subj==1) { for(inti=1;i for(intj=0;j { if(stu[j].m_fChinese { temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } } cout<<"按语文成绩排名如下: "< } else if(subj==2) { for(inti=1;i for(intj=0;j { if(stu[j].m_fMath { temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } } cout<<"按数学成绩排名如下: "< } elseif(subj==3) { for(inti=1;i for(intj=0;j { if(stu[j].m_fEnglish { temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } } cout<<"按英语成绩排名如下: "< } elseif(subj==4) { for(inti=0;i { for(intj=i+1;j { if((stu[i].m_fChinese+stu[i].m_fMath+stu[i].m_fEnglish)<(stu[j].m_fChinese+stu[j].m_fMath+stu[j].m_fEnglish)) { temp=stu[i]; stu[i]=stu[j]; stu[j]=temp; } } } cout<<"按总分排名如下: "< } cout<<"╔═══╤═══╤═══╤═══╤═══╗"< cout<<"║学号姓名语文成绩数学成绩英语成绩║"< cout<<"╠═══╬═══╬═══╬═══╬═══╣"< for(inti=0;i { cout<<""< cout<<""< cout<<""< cout<<""< cout<<""< cout<<"╠═══╬═══╬═══╬═══╬═══╣"< } } voidCTeacher: : displayall()//显示所有学生的信息 { cout<<"╔═══╤═══╤═══╤═══╤═══╗"< cout<<"║学号姓名语文成绩数学成绩英语成绩║"< cout<<"╠═══╬═══╬═══╬═══╬═══╣"< for(inti=0;i { cout<<""< cout<<""< cout<<""< cout<<""< cout<<""< cout<<"╠═══╬═══╬═══╬═══╬═══╣"< } } voidCTeacher: : save()//将学生信息保存到teacher.dat文件中 { ofstreammyoutfile;//定义输出文件 myoutfile.open("teacher.txt",ios: : trunc|ios: : in); if(myoutfile) { myoutfile.write((char*)&size,sizeof(int)); myoutfile.seekp(sizeof(int)); for(inti=0;i myoutfile.write((char*)&stu[i],sizeof(CStudent)); myoutfile.close(); } else { cout< ! ERROR: createfile'teacher.txt'error."< exit(0); } } voidCTeacher: : coming_te_menu(CTeacher&Te,intresult)//教师登录界面 { intx,y; for(inti=0;i<3;i++) { system("cls"); cout<<"◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇"< cout<<"◇您有"<<3-i<<"次机会"< cout<<"◆输入账号: "; cin>>x; cout<<"◇输入密码: "; cin>>y; cout<<"◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇"< if((Te.acc_te==x)&&(Te.pas_te==y)) { do{ system("pause"); system("cls"); result=Te.Menu_te(); }while(result! =-1); i=4; } } } intCTeacher: : Menu_te() { cout<<"*****************教师登录入口*****************"< cout< cout< cout<<"☆★1-添加学生信息★☆"< cout<<"★☆☆★"< cout<<"☆★2-删除学生信息★☆"< cout<<"★☆☆★"< cout<<"☆★3-修改学生信息★☆"< cout<<"★☆☆★"< cout<<"☆★4-查询学生信息★☆"< cout<<"★☆☆★"< cout<<"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 项目 终极 汇编
![提示](https://static.bdocx.com/images/bang_tan.gif)