#include<iostream>
#include<vector>
#include<windows.h>
using namespace std;
int a=999;
int b=0;
bool c=false;
struct student{
string name;
int age;
int card;
int grade;
}s;
void ka(){
cout<<"学生管理系统:"<<endl;
cout<<"1.新建学生信息"<<endl;
cout<<"2.查找学生信息"<<endl;
cout<<"3.修改学生信息"<<endl;
cout<<"4.删除学生信息"<<endl;
cout<<"5.退出系统"<<endl;
}
vector<student> insert(vector<student> v){
cout<<"请输入学生姓名:";
cin>>s.name;
cout<<"请输入学生年龄:";
cin>>s.age;
cout<<"请输入学生年级:";
cin>>s.grade;
cout<<"你的学号是:";
a++;
s.card=a;
cout<<s.card;
v.push_back(s);
Sleep(500);
return v;
}
vector<student> find(vector<student> v){
system("cls");
while(1){
cout<<"你要用什么形式查找:"<<endl;
cout<<"1.学生卡号"<<endl;
cout<<"2.学生年龄"<<endl;
cout<<"3.学生姓名"<<endl;
cout<<"4.退出"<<endl;
c=false;
cin>>b;
system("cls");
if(b==4){
system("cls");
break;
}
switch(b){
case 1:{
cout<<"学生卡号:"<<endl;
cin>>b;
for(int i=0;i<v.size();i++){
if(v[i].card==b){
cout<<"学生姓名:";
cout<<v[i].name<<endl;
cout<<"学生年龄:";
cout<<v[i].age<<endl;
cout<<"学生年级:";
cout<<v[i].grade<<endl;
cout<<"----------"<<endl;
c=true;
}
}
if(c==false){
cout<<"抱歉,没找到"<<endl;
cout<<"----------"<<endl;
}
break;
}
case 2:{
cout<<"学生年龄:"<<endl;
cin>>b;
for(int i=0;i<v.size();i++){
if(v[i].age==b){
cout<<"学生姓名:";
cout<<v[i].name<<endl;
cout<<"学生年龄:";
cout<<v[i].age<<endl;
cout<<"学生年级:";
cout<<v[i].grade<<endl;
cout<<"----------"<<endl;
c=true;
}
}
if(c==false){
cout<<"抱歉,没找到"<<endl;
cout<<"----------"<<endl;
}
break;
}
case 3:{
cout<<"学生姓名:"<<endl;
string d;
cin>>d;
for(int i=0;i<v.size();i++){
if(v[i].name.find(d)!=string::npos){
cout<<"学生姓名:";
cout<<v[i].name<<endl;
cout<<"学生年龄:";
cout<<v[i].age<<endl;
cout<<"学生年级:";
cout<<v[i].grade<<endl;
cout<<"----------"<<endl;
c=true;
}
}
if(c==false){
cout<<"抱歉,没找到"<<endl;
cout<<"----------"<<endl;
}
break;
}
default :{
break;
}
}
}
return v;
}
vector<student> change(vector<student> v){
system("cls");
while(1){
cout<<"1.输入学生卡号"<<endl;
cout<<"2.退出"<<endl;
cin>>b;
system("cls");
if(b==2){
break;
}
c=false;
int e=0;
cout<<"学生卡号:"<<endl;
cin>>b;
for(int i=0;i<v.size();i++){
if(v[i].card==b){
c=true;
e=i;
}
}
while(1){
if(c==false){
cout<<"抱歉,没找到"<<endl;
cout<<"----------"<<endl;
break;
}
cout<<"你要修改什么:"<<endl;
cout<<"1.学生姓名"<<endl;
cout<<"2.学生年龄"<<endl;
cout<<"3.学生年级"<<endl;
cout<<"4.退出"<<endl;
cin>>b;
system("cls");
if(b==4){
system("cls");
break;
}
switch(b){
case 1:{
cout<<"原学生姓名:"<<v[e].name<<endl<<"要修改的学生姓名:";
cin>>v[e].name;
break;
}
case 2:{
cout<<"原学生年龄:"<<v[e].age<<endl<<"要修改的学生年龄:";
cin>>v[e].age;
break;
}
case 3:{
cout<<"原学生年级:"<<v[e].grade<<endl<<"要修改的学生年级:";
cin>>v[e].grade;
break;
}
default:{
break;
}
}
cout<<"修改成功"<<endl;
cout<<"----------"<<endl;
}
}
return v;
}
vector<student> kill(vector<student> v){
system("cls");
while(1){
cout<<"删除学生信息:"<<endl;
cout<<"1.输入学号"<<endl;
cout<<"2.退出"<<endl;
c=false;
cin>>b;
system("cls");
if(b==2){
system("cls");
break;
}
cout<<"学号:"<<endl;
cin>>b;
for(int i=0;i<v.size();i++){
if(v[i].card==b){
c=true;
v[i].card=0;
v.erase(v.begin(),v.begin()+v.size());
cout<<"删除成功"<<endl;
cout<<"----------"<<endl;
}
}
if(c==false){
cout<<"抱歉,没找到"<<endl;
cout<<"----------"<<endl;
}
}
return v;
}
int main(){
vector<student> v;
while(1){
ka();
int n;
cin>>n;
if(n==5){
cout<<"感谢使用!"<<endl;
break;
}
switch(n){
case 1:{
v=insert(v);
break;
}
case 2:{
find(v);
break;
}
case 3:{
v=change(v);
break;
}
case 4:{
v=kill(v);
break;
}
default:{
break;
}
}
system("cls");
}
return 0;
}