#include <bits/stdc++.h>
#include <windows.h>
using namespace std;
struct Student{
int id;//学号
string name;//姓名
int age;//年龄
int grade;//班级
}s;
void zhujm(){
cout<<"欢迎来到学生管理系统!!"<<endl;
cout<<"请你做出以下选择:"<<endl;
cout<<"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+=1;
}
cout<<"姓名,年龄,年级"<<endl;
cin>>s.name>>s.age>>s.grade;
a.push_back(s);
return a;
}
vector<Student> search(vector<Student> a){
system("cls");
while(1){
bool b=false;
int number=0;
int _id=0,_grade=0,_age;
string _name;
cout<<"请选择你的查找方式:"<<endl;
cout<<"1.学号查找"<<endl;
cout<<"2.姓名查找(模糊)"<<endl;
cout<<"3.年级查找"<<endl;
cout<<"4.年龄查找"<<endl;
cout<<"5.返回主界面"<<endl;
cin>>number;
if(number==5){
system("cls");
break;
}
switch(number){
case 1:{
system("cls");
cout<<"请输入你的学号:"<<endl;
cin>>_id;
for(int i=0;i<a.size();i++){
if(_id==a[i].id){
b=true;
cout<<"信息如下"<<endl;
cout<<"学号:"<<a[i].id<<endl;
cout<<"姓名:"<<a[i].name<<endl;
cout<<"年龄:"<<a[i].age<<endl;
cout<<"年级:"<<a[i].grade<<endl;
cout<<"_________________________"<<endl;
}
}
if(!b){
cout<<"没该生信息"<<endl;
}
break;
}
case 2:{
system("cls");
cout<<"请输入你的姓名:"<<endl;
cin>>_name;
for(int i=0;i<a.size();i++){
if(a[i].name.find(_name)!=string::npos){
b=true;
cout<<"信息如下"<<endl;
cout<<"学号:"<<a[i].id<<endl;
cout<<"姓名:"<<a[i].name<<endl;
cout<<"年龄:"<<a[i].age<<endl;
cout<<"年级:"<<a[i].grade<<endl;
cout<<"_________________________"<<endl;
}
}
if(!b){
cout<<"没该生信息"<<endl;
}
break;
}
case 3:{
system("cls");
cout<<"请输入你的年级:"<<endl;
cin>>_grade;
for(int i=0;i<a.size();i++){
if(_grade==a[i].grade){
b=true;
cout<<"信息如下"<<endl;
cout<<"学号:"<<a[i].id<<endl;
cout<<"姓名:"<<a[i].name<<endl;
cout<<"年龄:"<<a[i].age<<endl;
cout<<"年级:"<<a[i].grade<<endl;
cout<<"_________________________"<<endl;
}
}
if(!b){
cout<<"没该生信息"<<endl;
}
break;
}
case 4:{
system("cls");
cout<<"请输入你的年龄:"<<endl;
cin>>_age;
for(int i=0;i<a.size();i++){
if(_age==a[i].age){
b=true;
cout<<"信息如下"<<endl;
cout<<"学号:"<<a[i].id<<endl;
cout<<"姓名:"<<a[i].name<<endl;
cout<<"年龄:"<<a[i].age<<endl;
cout<<"年级:"<<a[i].grade<<endl;
cout<<"_________________________"<<endl;
}
}
if(!b){
cout<<"没该生信息"<<endl;
}
break;
}
}
}
return a;
}
vector<Student> revise(vector<Student> a){
system("cls");
while(1){
int _number=0,id_=0;
string name_;
bool b=false;
cout<<"请输入你要修改的学生信息:"<<endl;
cout<<"1.id修改"<<endl;
cout<<"2.返回主界面"<<endl;
cin>>_number;
if(_number==2){
system("cls");
break;
}
switch(_number){
case 1:{
cout<<"输入学生id:"<<endl;
cin>>id_;
for(int i=0;i<a.size();i++){
if(id_==a[i].id){
b=true;
cout<<"信息如下"<<endl;
cout<<"学号:"<<a[i].id<<endl;
cout<<"姓名:"<<a[i].name<<endl;
cout<<"年龄:"<<a[i].age<<endl;
cout<<"年级:"<<a[i].grade<<endl;
cout<<"_________________________"<<endl;
cout<<"输入你要修改的选项"<<endl;
cout<<"1.学生姓名:"<<endl;
cout<<"1.学生年龄:"<<endl;
cout<<"1.学生年级:"<<endl;
int n;
cin>>n;
switch(n){
case 1:{
cout<<"输入修改姓名:"<<endl;
cin>>name_;
a[i].name=name_;
cout<<"修改成功!"<<endl;
Sleep(1000);
system("cls");
break;
}
case 2:{
int age_=0;
cout<<"输入修改年龄:"<<endl;
cin>>age_;
a[i].age=age_;
cout<<"修改成功!"<<endl;
Sleep(1000);
system("cls");
break;
}
case 3:{
int grade_=0;
cout<<"输入修改年级:"<<endl;
cin>>grade_;
a[i].grade=grade_;
cout<<"修改成功!"<<endl;
Sleep(1000);
system("cls");
break;
}
default:cout<<"没有该选项"<<endl;
}
}
}
if(!b){
cout<<"没该生信息"<<endl;
}
break;
}
}
}
return a;
}
vector<Student> del(vector<Student> a){
system("cls");
while(1){
cout<<"请输入你要删除的学生信息:"<<endl;
cout<<"1.id删除"<<endl;
cout<<"2.返回主界面"<<endl;
int m;
cin>>m;
if(m==2){
system("cls");
break;
}
switch(m){
case 1:{
int id_1;
cout<<"输入学生id:"<<endl;
cin>>id_1;
for(int i=0;i<a.size();i++){
if(id_1==a[i].id){
a.erase(a.begin()+1);
}
cout<<"删除成功!"<<endl;
break;
}
}
case 2:{
break;
}
default:cout<<"没有该选项"<<endl;
break;
}
}
return a;
}
int main(){
vector<Student> a;
while(1){
zhujm();
int n;
cin>>n;
if(n==5){
cout<<"再见!"<<endl;
break;
}
switch(n){
case 1:{
a=insert(a);
cout<<"建立成功!"<<endl;
Sleep(1000);
system("cls");
break;
}
case 2:{
a=search(a);
break;
}
case 3:{
a=revise(a);
break;
}
case 4:{
a=del(a);
break;
}
}
}
return 0;
}