1 头文件

#include<algorithm>//提供算法
#include<iostream>//标准库文件
#include<vector>
#include<string>
using namespace std;

2 菜单栏

void menu()
{
	cout<<"\t\t****Welcome to student Administration System****\n";
	cout<<"\t\t************************************************\n";
	cout << "\t\t*1)Display all student information************\t\n";
	cout<<"\t\t*2)Delete student information*******************\t\n";
	cout<<"\t\t*3)Add Student information**********************\t\n";
	cout<<"\t\t*4)Modify student information*******************\t\n";
	cout<<"\t\t*5)Query student information********************\t\n";
	cout<<"\t\t*6)exit                     ********************\t\n";
	cout<<"\t\t*7)clear                    ********************\t\n";
	cout<<"\t\t*8)sort                     ********************\t\n";
	cout<<"\t\t************************************************\n";
}

3 学生类

class Student
{
public:
	Student(int id, string name):ID(id),Name(name){}

	int getId()
	{
		return ID;
	}
	string getName()
	{
		return Name;
	}
	void modify(int id)
	{
		ID = id;
	}
private:
	int ID;
	string Name;
};

4 功能类:

class STU
{
public:
	STU(){}
public:
	//增加一条信息
	void addStu(vector<Student>& stu)
	{
		int id;
		string name;
		cout << "请输入学生的学号:";
		cin >> id;
		cout << "请输入学生的姓名:";
		cin >> name;

		Student sNew(id, name);

		stu.push_back(sNew);

	}
	//查找一条信息
	void find(vector<Student>& stu)
	{
		int id;
		int flag = 0;
		cout << "请输入你想查找的学生的学号:";
		cin >> id;
		for (int i = 0; i < stu.size(); i++)
		{
			if (stu[i].getId() == id)
			{
				flag = 1;
				cout << "找到了!!\n";
				cout << "该学生的信息如下:\n";
				cout << stu[i].getId() << " " << stu[i].getName() << endl;

			}
		}
		if (flag == 0)
		{
			cout << "抱歉,没找到!" << endl;
		}
	}
	//修改一条信息
	void modify(vector<Student>& stu)
	{
		int id;
		int flag = 0;
		cout << "请输入你想修改的学生的学号:";
		cin >> id;
		for (int i = 0; i < stu.size(); i++)
		{
			if (stu[i].getId() == id)
			{
				flag = 1;
				cout << "找到了!!\n";
				cout << "请输入你想修改的学号:" << endl;
				cin >> id;
				stu[i].modify(id);
				cout << "修改成功!!" << endl;
			}
		}
		if (flag == 0)
		{
			cout << "抱歉,没找到!" << endl;
		}
	}
	//删除一条信息
	void deleteStu(vector<Student>& stu)
	{
		int id;
		int flag = 0;
		int n = stu.size() - 1;
		cout << "请输入你想删除的学生的学号:";
		cin >> id;
		for (int i = 0; i < stu.size(); i++)
		{
			if (stu[i].getId() == id)
			{
				flag = 1;
				cout << "找到了!!\n";
				swap(stu[i], stu[stu.size() - 1]);


				stu.pop_back();
				cout << "删除成功!!!" << endl;

			}
		}
		if (flag == 0)
		{
			cout << "抱歉,没找到!" << endl;
		}
	}
	//显示所有信息
	void show(vector<Student>& stu)
	{
		for (int i = 0; i < stu.size(); i++)
		{
			cout << stu[i].getId() << " " << stu[i].getName() << endl;
		}
	}
	//排序
	void sortStu(vector<Student>& stu)
	{
		for (int i = 0; i < stu.size() - 1; i++)
		{
			for (int j = 0; j < stu.size() - i - 1; j++)
			{
				if (stu[i].getId() > stu[i + 1].getId())
				{
					swap(stu[i], stu[i + 1]);
				}
			}
		}
		cout<<"排序成功!!!"<<endl;
	}
private:

};

5 主函数

int main()
{
	STU s;
	vector<Student> stu;
	
	menu();

	int select;

	while (1)
	{
		printf("请输入数字来操作:");
		scanf("%d", &select);
		switch (select)
		{
		case 1:
			s.show(stu);
			break;
		case 2:
			s.deleteStu(stu);
			break;
		case 3:
			s.addStu(stu);
			printf("当前学生人数为%d;\n", stu.size());
			break;
		case 4:
			s.modify(stu);
			break;
		case 5:
			s.find(stu);
			break;
		case 6:
			exit(0);
		case 7:
			system("cls");
			menu();
			break;
		case 8:
			s.sortStu(stu);
			break;
		default:
			break;
		}
	}
	return 0;
}