📄 11.cpp
字号:
case 4:OutputT(strcat(strcat(strcpy(t1,"课设平均分 "),gcvt(k,4,t2))," 分以下"));
for(p=ps;p!=0;p=p->next) if(p->ks < k) p->Print();
break;
case 5: return;
}
OutputL();
getch();
}
}
}
//不及格的学生
void School::Bjg()
{
int m=0;
string l[6];
while(1)
{
for(int i=0;i<6;i++) strcpy(l[i]," ");
strcpy(l[m]," → ");
system("cls");
cout<<endl<<endl<<endl<<endl;
cout<<"\t\t╔═══════ 统计学生信息 ═══════╗"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ "<<l[0]<<"数学不及格的学生 ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ "<<l[1]<<"英语不及格的学生 ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ "<<l[2]<<"物理不及格的学生 ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ "<<l[3]<<"C++不及格的学生 ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ "<<l[4]<<"课设不及格的学生 ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ "<<l[5]<<"返回至主菜单 ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t╚═════════════════════╝"<<endl;
cout<<endl<<endl<<endl<<endl<<endl;
switch(getch())
{
case '1':m--; if(m==-1) m=5; break;
case '2':m++; if(m==6) m=0; break;
case '3':
case 32:m++; if(m==6) m=0; break; //空格键等同于右方向键
case '5':m--; if(m==-1) m=5; break;
case 27:return; //按[ESC]键返回
case '\r':
switch(m)
{
case 0:OutputT("数 学 不 及 格 的 学 生");
for(p=ps;p!=0;p=p->next) if(p->sx < 60) p->Print();
break;
case 1:OutputT("英 语 不 及 格 的 学 生");
for(p=ps;p!=0;p=p->next) if(p->yy < 60) p->Print();
break;
case 2:OutputT("物 理 不 及 格 的 学 生");
for(p=ps;p!=0;p=p->next) if(p->wl < 60) p->Print();
break;
case 3:OutputT("C ++ 不 及 格 的 学 生");
for(p=ps;p!=0;p=p->next) if(p->cpp < 60) p->Print();
break;
case 4:OutputT("课 设 不 及 格 的 学 生");
for(p=ps;p!=0;p=p->next) if(p->ks < 60) p->Print();
break;
case 5:return;
}
OutputL();
getch();
}
}
}
//修改登录密码
void School::Setpass()
{
system("color 0c");
string t,st="";
while(1)
{
for(int i=0;i<16;i++)
{
system("cls");
cout<<endl<<endl<<endl<<endl;
cout<<"\t\t╔═══════ 修改登录密码 ═══════╗"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ 请输入原密码:"<<setw(18)<<st<<" ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t╚═════════════════════╝"<<endl;
cout<<endl<<endl<<endl<<endl;
char k=getch();
if(k=='\r') break;
t[i]=k;
st[i]='*';
t[i+1]=st[i+1]=0;
}
if(strcmp(password,t)==0) break;
system("cls");
cout<<endl<<endl<<endl<<endl;
cout<<"\t\t╔═══════ 修改登录密码 ═══════╗"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ 密码错误!请重新输入! ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t╚═════════════════════╝"<<endl;
cout<<'\a'<<endl<<endl<<endl<<endl;
strcpy(st,"");
getch();
}
strcpy(st,"");
string t1;
while(1)
{
for(int i=0;i<16;i++)
{
system("cls");
cout<<endl<<endl<<endl<<endl;
cout<<"\t\t╔═══════ 修改登录密码 ═══════╗"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ 请输入新密码:"<<setw(18)<<st<<" ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t╚═════════════════════╝"<<endl;
cout<<endl<<endl<<endl<<endl;
char k=getch();
if(k=='\r') break;
t[i]=k;
st[i]='*';
t[i+1]=st[i+1]=0;
}
strcpy(st,"");
for(i=0;i<16;i++)
{
system("cls");
cout<<endl<<endl<<endl<<endl;
cout<<"\t\t╔═══════ 修改登录密码 ═══════╗"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ 请确认新密码:"<<setw(18)<<st<<" ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t╚═════════════════════╝"<<endl;
cout<<endl<<endl<<endl<<endl;
char k=getch();
if(k=='\r') break;
t1[i]=k;
st[i]='*';
t1[i+1]=st[i+1]=0;
}
if(strcmp(t1,t)==0)
{
strcpy(password,t);
system("cls");
cout<<endl<<endl<<endl<<endl;
cout<<"\t\t╔═══════ 修改登录密码 ═══════╗"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ 密码修改成功! ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t╚═════════════════════╝"<<endl;
cout<<endl<<endl<<endl<<endl;
getch();
break;
}
else
{
system("cls");
cout<<endl<<endl<<endl<<endl;
cout<<"\t\t╔═══════ 修改登录密码 ═══════╗"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ 两次输入不一致!请重新输入! ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t╚═════════════════════╝"<<endl;
cout<<'\a'<<endl<<endl<<endl<<endl;
strcpy(st,"");
getch();
}
}
system("color 07");
}
//--------------- 主函数 ------------------
void main()
{
system("title 学生成绩管理系统V1.0");
cout.setf(ios::left);
School S;
S.Load(); //载入学生信息
//密码验证
string t,st="";
while(1)
{
for(int i=0;i<16;i++)
{
system("cls");
cout<<endl<<endl<<endl<<endl;
cout<<"\t\t╔══════ 学生成绩管理系统 ══════╗"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ 请输入密码:"<<setw(18)<<st<<" ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t╚═════════════════════╝"<<endl;
cout<<endl<<endl<<endl<<endl;
char k=getch();
if(k=='\r') break;
t[i]=k;
st[i]='*';
t[i+1]=st[i+1]=0;
}
if(strcmp(password,t)!=0)
{
system("color 0c");
system("cls");
cout<<endl<<endl<<endl<<endl;
cout<<"\t\t╔══════ 学生成绩管理系统 ══════╗"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ 密码错误!请重新输入! ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t╚═════════════════════╝"<<endl;
cout<<'\a'<<endl<<endl<<endl<<endl;
strcpy(st,"");
getch();
system("color 07");
}
else break;
}
//主菜单
int m=0;
string l[12],r[12];
while(1)
{
for(int i=0;i<12;i++)
{
strcpy(l[i]," ");
strcpy(r[i]," ");
}
strcpy(l[m],">> ");
strcpy(r[m]," <<");
system("cls");
cout<<endl<<endl<<endl<<endl;
cout<<"\t\t╔══════ 学生成绩管理系统 ══════╗"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ "<<l[0]<<"输入学生信息"<<r[0]<<l[1]<<"学号排序输出"<<r[1]<<" ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ "<<l[2]<<"查询学生信息"<<r[2]<<l[3]<<"总分排序输出"<<r[3]<<" ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ "<<l[4]<<"修改学生信息"<<r[4]<<l[5]<<"90分以上的"<<r[5]<<" ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ "<<l[6]<<"删除学生信息"<<r[6]<<l[7]<<"平均分以下的"<<r[7]<<" ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ "<<l[8]<<"保存学生信息"<<r[8]<<l[9]<<"不及格的学生"<<r[9]<<" ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t║ "<<l[10]<<"修改登录密码"<<r[10]<<l[11]<<"退出管理系统"<<r[11]<<" ║"<<endl;
cout<<"\t\t║ ║"<<endl;
cout<<"\t\t╚═════════════════════╝"<<endl;
cout<<endl<<endl<<endl<<endl<<endl;
switch(getch())
{
case '1':m--; if(m==-1) m=11; break;
case '2':m+=2; if(m==12) m=1; if(m==13) m=0; break;
case '3':
case 32:m++; if(m==12) m=0; break; //空格键等同于右方向键
case '5':m-=2; if(m==-2) m=11; if(m==-1) m=10; break;
case 27:exit(0); //按[ESC]键退出
case '\r':
switch(m)
{
case 0: S.Input(); break; //输入学生信息
case 1: S.Numsort(); S.Output(0); break; //学号排序输出
case 2: S.Find(); break; //查询学生信息
case 3: S.Sumsort(); S.Output(1); break; //总分排序输出
case 4: S.Edit(); break; //修改学生信息
case 5: S.Jsys(); break; //90分以上的
case 6: S.Delete(); break; //删除学生信息
case 7: S.Jfyx(); break; //平均分以下的
case 8: S.Save(); break; //保存学生信息
case 9: S.Bjg(); break; //不及格的学生
case 10: S.Setpass(); break;//修改登录密码
case 11: exit(0); //退出管理系统
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -