学生管理系统vector&结构体
#include<iostream> #include<vector> #include<windows.h> using namespace std; bool b=false; int m,l_m,age,grade; string name; struct Student{ int id; string name; int age; int grade; }s; void maininterface(){ cout<<"*欢迎来到学生管理系统*"<<endl; cout<<"1.新建学生信息(输入1后直接输入:姓名 年龄 年级)"<<endl; cout<<"2.查找学生信息"<<endl; cout<<"3.修改学生信息"<<endl; cout<<"4.删除学生信息"<<endl; cout<<"5.退出该系统"<<endl; } vector<Student> insert(vector<Student> a){ if(s.id==0){ s.id=1000; }else{ s.id=s.id+1; } cin>>s.name>>s.age>>s.grade; a.push_back(s); return a; } vector<Student> search(vector<Student> a){ system("cls"); while(1){ cout<<"请选择你的查找方式:"<<endl; cout<<"1.输入ID查找"<<endl; cout<<"2.输入姓名查找(模糊查询)"<<endl; cout<<"3.输入年龄查找"<<endl; cout<<"4.输入年级查找"<<endl; cout<<"5.返回主菜单"<<endl; cin>>m; system("cls"); if(m==1){ cout<<"请输入要查找学生的ID"<<endl; cin>>l_m; for(int i=0;i<a.size();i++){ if(l_m==a[i].id){ b=true; cout<<"你所查找的学生信息为:\n"<<"学生学号:"<<a[i].id<<"\n学生姓名:"<<a[i].name<<"\n学生年龄:"<<a[i].age<<"\n学生年级:"<<a[i].grade<<"\n______________"<<endl; } } if(!b){ cout<<"没有查询到该学生的信息"<<endl; Sleep(1000); break; } }else if(m==2){ cout<<"请输入要查找学生的姓名(模糊查询)"<<endl; cin>>name; for(int i=0;i<a.size();i++){ if(a[i].name.find(name)!=string::npos){ b=true; cout<<"你所查找的学生信息为:\n"<<"学生学号:"<<a[i].id<<"\n学生姓名:"<<a[i].name<<"\n学生年龄:"<<a[i].age<<"\n学生年级:"<<a[i].grade<<"\n______________"<<endl; } } if(!b){ cout<<"没有查询到该学生的信息"<<endl; Sleep(1000); break; } }else if(m==3){ cout<<"请输入要查找学生的ID"<<endl; cin>>l_m; for(int i=0;i<a.size();i++){ if(l_m==a[i].age){ b=true; cout<<"你所查找的学生信息为:\n"<<"学生学号:"<<a[i].id<<"\n学生姓名:"<<a[i].name<<"\n学生年龄:"<<a[i].age<<"\n学生年级:"<<a[i].grade<<"\n______________"<<endl; } } if(!b){ cout<<"没有查询到该学生的信息"<<endl; Sleep(1000); break; } }else if(m==4){ cout<<"请输入要查找学生的ID"<<endl; cin>>l_m; for(int i=0;i<a.size();i++){ if(l_m==a[i].grade){ b=true; cout<<"你所查找的学生信息为:\n"<<"学生学号:"<<a[i].id<<"\n学生姓名:"<<a[i].name<<"\n学生年龄:"<<a[i].age<<"\n学生年级:"<<a[i].grade<<"\n______________"<<endl; } } if(!b){ cout<<"没有查询到该学生的信息"<<endl; Sleep(1000); break; } }else if(m==5){ break; } } return a; } vector<Student> revise(vector<Student> a){ cout<<"请输入要修改学生的ID"<<endl; cin>>l_m; for(int i=0;i<a.size();i++){ if(l_m==a[i].id){ b=true; cout<<"你所查找的学生信息为:\n"<<"学生学号:"<<a[i].id<<"\n学生姓名:"<<a[i].name<<"\n学生年龄:"<<a[i].age<<"\n学生年级:"<<a[i].grade<<"\n请选择你要修改的信息:"<<endl; cout<<"1.修改姓名\n2.修改年龄\n3.修改年级"<<endl; int o; cin>>o; if(o==1){ cout<<"请输入要改的姓名:"; cin>>a[i].name; }else if(o==2){ cout<<"请输入要改的年龄:"; cin>>a[i].age; }else if(o==3){ cout<<"请输入要改的年级:"; cin>>a[i].grade; } } } if(!b){ cout<<"没有查询到该学生的信息"<<endl; Sleep(1000); return a; } cout<<endl<<"修改成功!"; Sleep(1000); return a; } vector<Student> del(vector<Student> a){ cout<<"请输入要删除学生的ID"<<endl; cin>>l_m; for(int i=0;i<a.size();i++){ if(l_m==a[i].id){ b=true; cout<<"你所要删除的学生信息为:\n"<<"学生学号:"<<a[i].id<<"\n学生姓名:"<<a[i].name<<"\n学生年龄:"<<a[i].age<<"\n学生年级:"<<a[i].grade<<"\n确定删除此学生的信息吗?\n1.确定\n2.返回主菜单"<<endl; } } if(!b){ cout<<"没有查询到该学生的信息"<<endl; return a; } cin>>l_m; if(l_m==1){ a.erase(a.begin()+l_m); cout<<"删除成功"<<endl; return a; }else{ return a;; } } int main(){ vector<Student> a; int n; system("cls"); while(1){ maininterface(); cin>>n; if(n==5){ break; } switch(n){ case 1:{ a=insert(a); cout<<"新建成功.你的学号:"<<s.id<<endl; Sleep(1000); system("cls"); break; } case 2:{ a=search(a); system("cls"); break; } case 3:{ a=revise(a); system("cls"); break; } case 4:{ a=del(a); Sleep(1000); system("cls"); break; } case 5:{ break; } } } return 0; }