前言
假期闲着没事,想着复习复习c语言,于是今天就敲了这个学生信息管理系统,记录一下子😜
(悄悄地说一下:系统默认密码为:123456,如果不想一个一个敲入数据,选项7按一下直接导入默认的就可以啦!)
功能展示
完整代码如下:
#include<bits/stdc++.h>
using namespace std;
int i=1;
struct information{
long sno;
string name;
string sex;
string classroom;
int score;
}p[10001],p2[10001];
bool sort1(information a,information b){
return a.sno<b.sno;
}
bool sort2(information a,information b){
return a.score>b.score;
}
void pwdVerify();
void showInterface();
void add();
void modify();
void select();
void delete1();
void sortByscore();
void sortBysno();
void defaultData();
int main(){
pwdVerify();
int a2;
while(1){
fflush(stdin);
showInterface();
cin>>a2;
switch(a2){
case 0:cout<<" 退出成功,谢谢您的使用!";return 0;
case 1:add(); break;
case 2:select(); break;
case 3:modify(); break;
case 4:delete1(); break;
case 5:sortByscore(); break;
case 6:sortBysno(); break;
case 7:defaultData();break;
default:cout<<"无效输入!请重新输入序号:\n";
}
}
return 0;
}
//登入系统前验证密码
void pwdVerify(){
cout<<"进入系统请输入密码:(默认:123456)"<<endl;
string s1="123456",s2;
L:
s2="";
getline(cin,s2);
if(s1==s2){
cout<<"密码正确!"<<endl<<endl;
}
else{
cout<<"密码错误!"<<endl;
L1:
cout<<"按1:重新输入 按0:退出系统" <<endl;
int a1;
cin>>a1;
fflush(stdin);
if(a1==1){
cout<<"请重新输入密码:"<<endl;
goto L;
}
else if(a1==0)
exit(0);
else{
cout<<"无效输入!"<<endl;
goto L1;
}
}
}
//初始展示界面
void showInterface(){
cout<<" ......................................................"<<endl;
cout<<" ............. 欢迎使用学生信息管理系统 ............"<<endl;
cout<<" ......................................................"<<endl;
cout<<" .. 输入首行序号执行下列相关操作 ..\n"<<endl;
cout<<" .. 1、添加学生信息 2、查询某位学生信息 .."<<endl;
cout<<" .. 3、修改某位学生信息 4、删除学生信息 .."<<endl;
cout<<" .. 5、按成绩从高到低排序 6、按学号由小到大排序.."<<endl;
cout<<" .. 7、使用默认学生数据 0、退出系统 .."<<endl;
cout<<" ......................................................"<<endl;
}
//添加学生信息
void add(){
cout<<endl<<"请输入学生的学号(1~10000):";
long a3;
cin>>a3;
fflush(stdin);//清除缓冲区内容
if(a3>0&&a3<=10000&&!p[a3].sno){
p[a3].sno=a3;
cout<<endl<<"请输入学生的姓名:";
cin>>p[a3].name;
cout<<endl<<"请输入学生的性别:";
cin>>p[a3].sex;
cout<<endl<<"请输入学生的班级:";
cin>>p[a3].classroom;
cout<<endl<<"请输入学生的成绩:";
cin>>p[a3].score;
fflush(stdin);
cout<<endl<<"添加成功!\n";
return;
}
else{
cout<<"学号输入无效!\n";
}
}
//删除某位学生信息
void delete1(){
cout<<"请输入要删除的学生学号:\n";
long a3;
cin>>a3;
fflush(stdin);
if(a3>0&&a3<=10000&&p[a3].sno){
p[a3].sno=0;
p[a3].classroom="";
p[a3].name="";
p[a3].sex="";
p[a3].score=0;
cout<<"删除成功!\n";
}
else{
cout<<"学号不存在,检查学号是否输入错误!\n";
}
}
//查询某位学生信息
void select(){
cout<<"请输入要查询学生的学号:";
long a3;
cin>>a3;
fflush(stdin);
if(a3>0&&a3<=10000&&p[a3].sno){
cout<<endl<<"查询结果如下:\n";
cout<<" 学号 姓名 性别 班级 分数\n";
cout<<" "<<p[a3].sno<<" "<<p[a3].name<<" "<<p[a3].sex<<" "<<p[a3].classroom<<" "<<p[a3].score<<endl;
}
else{
cout<<"学号不存在,请检查学号是否输入错误!\n";
}
}
//修改某位学生信息
void modify(){
cout<<"请输入要修改学生的学号:\n";
long a3;
cin>>a3;
(long)a3;
fflush(stdin);
if(a3>0&&a3<=10000&&p[a3].sno){
p[a3].classroom="";
p[a3].name="";
p[a3].sex="";
p[a3].score=0;
cout<<endl<<"请输入学生的姓名:";
cin>>p[a3].name;
cout<<endl<<"请输入学生的性别:";
cin>>p[a3].sex;
cout<<endl<<"请输入学生的班级:";
cin>>p[a3].classroom;
cout<<endl<<"请输入学生的成绩:";
cin>>p[a3].score;
fflush(stdin);
cout<<endl<<"修改信息成功!\n";
}
else{
cout<<"学号不存在!\n";
}
}
//按学生学号由小到大排序
void sortBysno(){
memcpy(p2,p,sizeof(p));
sort(p2,p2+10001,sort1);
cout<<" 学号 姓名 性别 班级 分数\n";
for(int i=0;i<10001 ;i++){
if(p2[i].sno!=0){
cout<<" "<<p2[i].sno<<" "<<p2[i].name<<" "<<p2[i].sex<<" "<<p2[i].classroom<<" "<<p2[i].score<<endl;
}
}
}
//按成绩从高到低排序
void sortByscore(){
memcpy(p2,p,sizeof(p));
sort(p2,p2+10001,sort2);
cout<<" 排名 学号 姓名 性别 班级 分数\n";
int j=1;
for(int i=0;i<10001 ;i++){
if(p2[i].sno!=0){
cout<<" "<<j++<<" "<<p2[i].sno<<" "<<p2[i].name<<" "<<p2[i].sex<<" "<<p2[i].classroom<<" "<<p2[i].score<<endl;
}
}
}
//默认学生数据
void defaultData(){
p[1000].sno=1000;
p[1000].name="小A";
p[1000].sex="男";
p[1000].classroom="A1" ;
p[1000].score=95;
p[1001].sno=1001;
p[1001].name="小B";
p[1001].sex="女";
p[1001].classroom="A1" ;
p[1001].score=97;
p[1002].sno=1002;
p[1002].name="小C";
p[1002].sex="男";
p[1002].classroom="A2" ;
p[1002].score=99;
p[1003].sno=1003;
p[1003].name="小D";
p[1003].sex="女";
p[1003].classroom="A3" ;
p[1003].score=100;
p[1004].sno=1004;
p[1004].name="小E";
p[1004].sex="男";
p[1004].classroom="A2" ;
p[1004].score=92;
p[1005].sno=1005;
p[1005].name="小F";
p[1005].sex="女";
p[1005].classroom="A2" ;
p[1005].score=96;
cout<<"默认学生信息导入完成!\n";
}
注:本文原创,转载请注明出处