1.数组实现
#include<iostream>
#include<string>
#include<vector>//`vector`容器类,表示一个动态数组。其中的元素按照线性顺序排列,
//并且可以动态地调整数组的大小。
#include<algorithm>//提供常用的算法和数据结构操作,例如排序、查找、合并等
using namespace std;
class Student
{
public:
long long int num;
string name;
string gender;
virtual void display()
{
cout<<"学号:"<<num<<endl;
cout<<"姓名:"<<name<<endl;
cout<<"性别:"<<gender<<endl;
}
};
class Dianxin:public Student
{
public:
string classes;
float math;
float english;
// float totalScore;
void display()
{
Student::display();
cout<<"班级:"<<classes<<endl;
cout<<"高数成绩:"<<math<<endl;
cout<<"英语成绩:"<<english<<endl;
}
void Menu(); //显示菜单
void Exit_System(); //退出系统
void Enter_Info(); //录入信息
void Delete_Info(); //删除信息
void Modify_Info(); //修改信息
void Search_Info(); //查找信息
void Scan_Info(); //浏览信息
void Sort_Info(); //排序信息
//bool compareStudents();
//void TotalScore(); //总成绩
// void bool compareStudents();
};
vector<Dianxin> students; // 存储学生信息的vector
void Dianxin::Menu() //显示菜单
{
cout<<"----------------------------------"<<endl;
cout<<" 学生信息管理系统 "<<endl;
cout<<" 0.退出系统 "<<endl;
cout<<" 1.录入信息 "<<endl;
cout<<" 2.删除信息 "<<endl;
cout<<" 3.修改信息 "<<endl;
cout<<" 4.查找信息 "<<endl;
cout<<" 5.浏览信息 "<<endl;
cout<<"----------------------------------"<<endl;
cout<<" 请输入(0-5) "<<endl;
};
void Dianxin::Exit_System() //退出系统
{
cout<<"退出系统!"<<endl;
exit(0);
//system("pause");
}
void Dianxin::Enter_Info() //录入信息
{
int a;
cout<<"请输入录入学生人数:";
cin>>a;//system("cls");
for(int i=0;i<a;i++)
{
Dianxin student;
cout<<"请输入第"<<i+1<<"个学生信息"<<endl;
cout<<"学号:";cin>>student.num;
cout<<"姓名:";cin>>student.name;
cout<<"性别:";cin>>student.gender;
cout<<"班级:";cin>>student.classes;
// cout<<"高数成绩:";cin>>student.math;
// cout<<"英语成绩:";cin>>student.english;
// 输入合法性检查,成绩应在0-100之间
do {
cout<<"高数成绩:";
cin>>student.math;
if(student.math<0||student.math>100)
{
cout<<"成绩应在0-100之间,请重新输入"<<endl;
}
} while(student.math<0||student.math>100);
do {
cout<<"英语成绩:";
cin>>student.english;
if(student.english<0||student.english>100)
{
cout<<"成绩应在0-100之间,请重新输入"<<endl;
}
} while(student.english<0||student.english>100);
students.push_back(student);
}
cout<<"( 录入成功!)"<<endl;
//system("cls");
}
void Dianxin::Delete_Info() //删除信息
{
long long int b;
cout<<"请输入要删除学生的学号:"<<endl;
cin>>b;
bool found=false;// 遍历vector,查找对应学号的学生信息并删除
for(int i=0;i<students.size(); i++)
{
if(students[i].num==b)
{
students.erase(students.begin()+i); // 删除对应索引处的学生信息
found=true;
cout << "删除成功!" << endl;
break;
}
}
if(!found)
{
cout<<"该学号不存在!"<<endl;
// break;
}
//system("cls");
}
void Dianxin::Modify_Info() //修改信息
{
long long int c;
cout<<"请输入要修改学生的学号:"<<endl;
cin>>c;
bool found=false;// 遍历vector,查找对应学号的学生信息并修改
for (int i=0;i<students.size();i++)
{
if (students[i].num==c)
{
cout<<"请输入新的学生信息"<<endl;
cout<<"学号:";cin>>students[i].num;
cout<<"姓名:";cin>>students[i].name;
cout<<"性别:";cin>>students[i].gender;
cout<<"班级:";cin>>students[i].classes;
// cout<<"高数成绩:";cin>>students[i].math;
//cout<<"英语成绩:";cin>>students[i].english;
// 输入合法性检查,成绩应在0-100之间
do {
cout<<"高数成绩:";
cin>>students[i].math;
if(students[i].math<0||students[i].math>100)
{
cout<<"成绩应在0-100之间,请重新输入"<<endl;
}
} while(students[i].math<0||students[i].math>100);
do {
cout<<"英语成绩:";
cin>>students[i].english;
if(students[i].english<0||students[i].english>100)
{
cout<<"成绩应在0-100之间,请重新输入"<<endl;
}
} while(students[i].english<0||students[i].english>100);
found=true;
cout<<"( 修改成功!)"<<endl;
break;
}
}
if (!found)
{
cout<<"该学号不存在!"<<endl;
}
//system("cls");
}
void Dianxin::Search_Info() //查找信息
{
int choice;
cout<<"请选择查找方式:"<<endl;
cout<<"1. 姓名查找"<<endl;
cout<<"2. 学号查找"<<endl;
cin>>choice;
switch (choice)
{
case 1:
{
string sname;
cout<<"请输入要查找的姓名:"<<endl;
cin>>sname;
bool found=false; // 遍历vector,查找含有关键字的学生信息并显示
for(int i=0;i<students.size();i++)
{
if(students[i].name.find(sname)!=string::npos)
{
students[i].display();
found=true;
cout<<"-------------------"<<endl;
}
}
if(!found)
{
cout<<"该姓名不存在!"<<endl;
}
break;
}
case 2:
{
int snum;
cout<< "请输入要查找的学号:"<<endl;
cin>>snum;
bool found=false;
// 遍历vector,查找对应学号的学生信息并显示
for (int i=0;i<students.size();i++)
{
if (students[i].num==snum)
{
students[i].display();
found=true ;
cout<<"-------------------"<<endl;
break;
}
}
if(!found)
{
cout<<"该学号不存在!"<<endl;
}
break;
}
default:
cout<<"输入无效!"<<endl;
break;//返回功能页面的
}
//system("cls");
}
bool compareStudents(Dianxin& s1, Dianxin& s2)//比较函数
{
if(s1.math!=s2.math)
return s1.math>s2.math;
//函数首先比较两个学生的数学成绩(s1.math和s2.math),
//如果不相等,则返回数学成绩较高的学生对象。
else if(s1.english!=s2.english)
return s1.english>s2.english;
//如果两个学生的数学成绩相等,
//再比较两个学生的英语成绩(s1.english和s2.english),
//如果不相等,则返回英语成绩较高的学生对象。
else
return s1.num<s2.num;
//如果两个学生的数学和英语成绩都相等,
//则比较两个学生的学号(s1.num和s2.num),返回学号较小的学生对象。
}//定义了一个名为"compareStudents"的函数,用于比较两个学生的成绩和学号。
//函数接受两个参数,表示两个学生对象:s1,s2。
//该函数的作用是按照数学成绩、英语成绩和学号的
//优先顺序比较两个学生,并返回较优学生对象。
void Dianxin::Sort_Info() //排序信息
{
sort(students.begin(),students.end(),compareStudents);
//system("cls");
}
//void Dianxin::TotalScore() //总成绩
//{
//
// for(int i=0;i<students.size();i++)
// {
// float totalScore=students[i].math+students[i].english;
//
// cout<<"学号:"<<students[i].num<<"总成绩:"<<totalScore<<endl;
// }
//
// //sort(students.begin(),students.end(),compareStudents);
//
//}
void Dianxin::Scan_Info() //浏览信息
{
for (int i=0;i<students.size();i++)
{
students[i].display();
float totalScore=students[i].math+students[i].english;
cout<<"总成绩:"<<totalScore<<endl;
cout<<"-------------------"<<endl;
}
//system("cls");
}
int main()
{
Dianxin stu1;
int choice=0;
while(1)
{stu1.Menu(); //显示学生信息管理系统
cout<<"请输入你的选择:"<<endl;
cin>>choice;
switch(choice)
{ case 0:
stu1.Exit_System(); //退出系统
break;
case 1: //调用录入信息函数;
stu1.Enter_Info();
break;
case 2:
stu1.Delete_Info(); //调用删除信息函数;
break;
case 3:
stu1.Modify_Info(); //调用修改信息函数;
break;
case 4:
stu1.Search_Info(); //调用查找信息函数;
break;
case 5:
stu1.Sort_Info(); //调用排序信息函数;
stu1.Scan_Info(); //调用浏览信息函数;
//stu1.TotalScore(); //调用总成绩函数;
break;
default:
cout << "输入无效!" << endl;
//break;
}
}
system("pause");
return 0;
}
2.链表实现
#include <iostream>
#include <string>
using namespace std;
class Student {// 定义学生类
public:
string id;
string name;
string gender;
void display() {
cout << "学号:" << id << endl;
cout << "姓名:" << name << endl;
cout << "性别:" << gender << endl;
} // 打印学生信息
};
class Telecom : public Student {// 定义电信类,继承自学生类
public:
string classes;
double math;
double english;
double getTotal() {
return math + english;
} // 计算总成绩
void display() {
Student::display();
cout << "班级:" << classes << endl;
cout << "高数成绩:" << math << endl;
cout << "英语成绩:" << english << endl;
cout << "总成绩:" << getTotal() << endl;
} // 打印学生信息
bool operator>(const Telecom& other) const {
if (math != other.math) {
return math > other.math; // 按高数成绩从高到低排序
} else if (english != other.english) {
return english > other.english; // 高数成绩相同时,按英语成绩从高到低排序
} else {
return id < other.id; // 高数和英语成绩都相同时,按学号从小到大排序+
}
}
};
struct Node { // 定义链表节点
Telecom* data;
Node* next;
Node(Telecom* data) {
this->data = data;
this->next = nullptr;
}
};
class Dianxin { // 定义链表类
public:
Node* head;
Node* tail;
Dianxin() {// 构造函数
head = nullptr;
tail = nullptr;
}
bool isEmpty() {// 链表是否为空
return head == nullptr;
}
void append(Telecom* data) {// 在链表末尾添加一个节点
Node* newNode = new Node(data);
if (isEmpty()) {
head = newNode;
tail = newNode;
} else {
tail->next = newNode;
tail = newNode;
}
}
void Menu() { //显示菜单
cout << "----------------------------------" << endl;
cout << " 学生信息管理系统 " << endl;
cout << " 0.退出系统 " << endl;
cout << " 1.录入信息 " << endl;
cout << " 2.删除信息 " << endl;
cout << " 3.修改信息 " << endl;
cout << " 4.查找信息 " << endl;
cout << " 5.浏览信息 " << endl;
cout << "----------------------------------" << endl;
cout << " 请输入(0-5) " << endl;
};
void Exit_System() { //退出系统
cout << "退出系统!" << endl;
exit(0);
}
void Enter_Info() { // 录入信息
int a;
cout << "请输入要录入的学生人数:" << endl;
cin >> a;
for (int i = 0; i < a; i++) {
Telecom *student = new Telecom();
cout << "请输入第" << i + 1 << "个学生信息:" << endl;
cout << "学号:";cin >> (*student).id;
cout << "姓名:";cin >> (*student).name;
cout << "性别:";cin >> (*student).gender;
cout << "班级:";cin >> (*student).classes;
cout << "高数成绩:";cin >> (*student).math;
cout << "英语成绩:";cin >> (*student).english;
append(student);
}
cout << "录入成功!" << endl;
}
// 删除信息
void Delete_Info() {
string b;
cout << "请输入要删除学生的学号:" << endl;
cin >> b;
bool found = false; // 查找对应学号的学生信息并删除,初始值为false(未找到)
Node* current = head; //current 指向链表的头节点;
Node* previous = nullptr; //previous 用于保存前一个节点的地址,初始化为 nullptr。
while (current != nullptr) { // 开始一个循环,只要 current不为空(即还未到达链表尾部),就会执行循环体中的代码。
if (current->data->id == b) {//判断当前节点的数据结构中的学号是否与输入的学号 b 相等。
if (previous == nullptr) { //如果previous为空,表示当前节点是头节点。将头节点修改为当前节点的下一个节点,即删除了头节点。
head = current->next;
} else { //否则,将previous的下一个节点指向当前节点的下一个节点,绕过当前节点。
previous->next = current->next;
}
found = true;
delete current;//释放节点内存;
cout << "删除成功!" << endl;
break;
}
previous = current;
current = current->next;
}
if (!found) {
cout << "该学号不存在!" << endl;
}
}
//修改信息
void Modify_Info() {
string c;
cout << "请输入要修改的学生学号:";
cin >> c;
bool found = false;
for (Node* it = head; it != NULL; it = it->next) {
if (it->data->id == c) {
Telecom* student = new Telecom();
cout << "请输入新的学生信息:" << endl;
cout << "学号:";cin >> (*student).id;
cout << "姓名:";cin >> (*student).name;
cout << "性别:";cin >> (*student).gender;
cout << "班级:";cin >> (*student).classes;
cout << "高数成绩:";cin >> (*student).math;
cout << "英语成绩:";cin >> (*student).english;
it->data = student;
found = true;
cout << "修改成功!" << endl;
break;
}
}
if (!found) {
cout << "该学号不存在:" << endl;
}
}
void Search_Info() { // 查找信息
string d;
cout << "请输入要查找的姓名:" ;
cin >> d;
bool found = false; // 用于标记是否找到对应姓名的学生信息,默认为未找到(false)
Node* current = head;
while (current != nullptr) {
if (current->data->name.find(d) != string::npos) { // 如果找到对应姓名的学生信息
current->data->display(); // 打印学生信息
found = true; // 标记为找到
cout << "------------------" << endl;
}
current = current->next; // 继续向下查找
}
if (!found) { // 如果遍历完链表仍未找到对应姓名的学生信息
cout << "该姓名不存在!" << endl;
}
}
void Sort_Info() {// 对链表中的学生信息按进行排序
Node* current = head;
Node* next;
while (current != nullptr) {
next = current->next;
while (next != nullptr) {
if (*(next->data) > * (current->data)) {
Telecom* temp = current->data;
current->data = next->data;
next->data = temp;
}
next = next->next;
}
current = current->next;
}
}
void Scan_Info() {// 浏览信息
Sort_Info();
Node* current = head;
while (current != nullptr) {
current->data->display();
cout << "-------------------" << endl;
current = current->next;
}
}
};
int main() {
// 创建链表
Dianxin stu1;
int choice = 0;
while (1) {
stu1.Menu(); //显示学生信息管理系统
cout << "请输入你的选择:" << endl;
cin >> choice;
switch (choice) {
case 0:
stu1.Exit_System(); //退出系统
break;
case 1: //调用录入信息函数;
stu1.Enter_Info();
break;
case 2:
stu1.Delete_Info(); //调用删除信息函数;
break;
case 3:
stu1.Modify_Info(); //调用修改信息函数;
break;
case 4:
stu1.Search_Info(); //调用查找信息函数;
break;
case 5:
stu1.Sort_Info(); //调用排序信息函数;
stu1.Scan_Info(); //调用浏览信息函数;
break;
default:
cout << "输入无效!" << endl;
}
}
system("pause");
return 0;
}
3.完全的链表实现
#include <iostream> // C++标准输入输出库
#include <string> // C++字符串库
using namespace std;
class Student { // 定义学生类
public:
string id; // 学号
string name; // 姓名
string gender; // 性别
void display() { // 打印学生信息
cout << "学号:" << id << endl;
cout << "姓名:" << name << endl;
cout << "性别:" << gender << endl;
}
};
class Telecom : public Student { // 定义电信类,继承自学生类
public:
string classes; // 班级
double mathScore; // 高数成绩
double englishScore; // 英语成绩
double getTotalScore() { // 计算总成绩
return mathScore + englishScore;
}
void display() { // 打印学生信息
Student::display();
cout << "班级:" << classes << endl;
cout << "高数成绩:" << mathScore << endl;
cout << "英语成绩:" << englishScore << endl;
cout << "总成绩:" << getTotalScore() << endl;
}
bool operator>(const Telecom& other) const { // 判断学生成绩大小
if (mathScore != other.mathScore) {
return mathScore > other.mathScore; // 按高数成绩从高到低排序
} else if (englishScore != other.englishScore) {
return englishScore > other.englishScore; // 高数成绩相同时,按英语成绩从高到低排序
} else {
return id < other.id; // 高数和英语成绩都相同时,按学号从小到大排序
}
}
};
struct Node { // 定义链表节点
Telecom* data; // 学生信息指针
Node* next; // 下一个节点指针
Node(Telecom* data) { // 构造函数
this->data = data;
this->next = nullptr;
}
};
class Dianxin { // 定义链表类
public:
Node* head; // 头节点
Node* tail; // 尾节点
Dianxin() { // 构造函数
head = nullptr;
tail = nullptr;
}
bool isEmpty() { // 判断链表是否为空
return head == nullptr;
}
void append(Telecom* data) { // 在链表末尾添加一个节点
Node* newNode = new Node(data);
if (isEmpty()) { // 如果链表为空,新节点既是头节点又是尾节点
head = newNode;
tail = newNode;
} else {
tail->next = newNode; // 将新节点链接到尾节点的后面
tail = newNode; // 更新尾节点为新节点
}
}
Node* find(string id) { // 在链表中查找一个节点
Node* current = head;
while (current != nullptr) {
if (current->data->id == id) { // 如果找到了符合条件的节点,返回该节点
return current;
}
current = current->next; // 否则继续向下寻找
}
return nullptr; // 遍历完链表仍未找到符合条件的节点,则返回空指针
}
void Menu() { // 显示菜单
cout << "----------------------------------" << endl;
cout << " 学生信息管理系统 " << endl;
cout << " 0.退出系统 " << endl;
cout << " 1.录入信息 " << endl;
cout << " 2.删除信息 " << endl;
cout << " 3.修改信息 " << endl;
cout << " 4.查找信息 " << endl;
cout << " 5.浏览信息 " << endl;
cout << "----------------------------------" << endl;
cout << " 请输入(0-5) " << endl;
}
void Exit_System() { // 退出系统
cout << "退出系统!" << endl;
exit(0);
}
void Enter_Info() { // 录入信息
int a;
cout << "请输入录入学生人数:";
cin >> a;
for (int i = 0; i < a; i++) {
Telecom* student = new Telecom();
cout << "请输入第" << i + 1 << "个学生信息:" << endl;
cout << "学号:";
cin >> (*student).id;
cout << "姓名:";
cin >> (*student).name;
cout << "性别:";
cin >> (*student).gender;
cout << "班级:";
cin >> (*student).classes;
// cout << "高数成绩:";
// cin >> (*student).mathScore;
// cout << "英语成绩:";
// cin >> (*student).englishScore;
// 输入合法性检查,成绩应在0-100之间
do {
cout << "高数成绩:";
cin >> (*student).mathScore;
if ((*student).mathScore < 0 || (*student).mathScore > 100) {
cout << "成绩应在0-100之间,请重新输入" << endl;
}
} while ((*student).mathScore < 0 || (*student).mathScore > 100);
do {
cout << "英语成绩:";
cin >> (*student).englishScore;
if ((*student).englishScore < 0 || (*student).englishScore > 100) {
cout << "成绩应在0-100之间,请重新输入" << endl;
}
} while ((*student).englishScore < 0 || (*student).englishScore > 100);
append(student);
}
cout << "录入成功!" << endl;
}
void Delete_Info() { // 删除信息
string b;
cout << "请输入要删除学生的学号:" << endl;
cin >> b;
bool found = false; // 用于标记是否找到对应学号的学生信息,默认为未找到(false)
Node* current = head;
Node* previous = nullptr;
while (current != nullptr) {
if (current->data->id == b) { // 如果找到对应学号的学生信息
if (previous == nullptr) { // 如果要删除的学生信息为头节点,更新head指向下一个节点
head = current->next;
} else {
previous->next = current->next; // 要删除的学生信息为中间节点或尾节点,更新前一个节点的next指针
}
found = true; // 标记为找到
delete current; // 释放内存
cout << "删除成功!" << endl;
break;
}
previous = current; // 更新previous指针
current = current->next; // 更新current指针
}
if (!found) { // 如果遍历完链表仍未找到对应学号的学生信息
cout << "该学号不存在!" << endl;
}
// system("cls");
}
void Modify_Info() { // 修改信息
string c;
cout << "请输入要修改学生的学号:" ;
cin >> c;
bool found = false; // 用于标记是否找到对应学号的学生信息,默认为未找到(false)
for (Node* it = head; it != NULL; it = it->next) { // 遍历链表查找对应学号的学生信息
if (it->data->id == c) { // 如果找到对应学号的学生信息
Telecom *student = new Telecom();
cout << "请输入新的学生信息:" << endl;
cout << "学号:";
cin >> (*student).id;
cout << "姓名:";
cin >> (*student).name;
cout << "性别:";
cin >> (*student).gender;
cout << "班级:";
cin >> (*student).classes;
// cout << "高数成绩:";
// cin >> (*student).mathScore;
// cout << "英语成绩:";
// cin >> (*student).englishScore;
// 输入合法性检查,成绩应在0-100之间
do {
cout << "高数成绩:";
cin >> (*student).mathScore;
if ((*student).mathScore < 0 || (*student).mathScore > 100) {
cout << "成绩应在0-100之间,请重新输入" << endl;
}
} while ((*student).mathScore < 0 || (*student).mathScore > 100);
do {
cout << "英语成绩:";
cin >> (*student).englishScore;
if ((*student).englishScore < 0 || (*student).englishScore > 100) {
cout << "成绩应在0-100之间,请重新输入" << endl;
}
} while ((*student).englishScore < 0 || (*student).englishScore > 100);
it->data = student; // 更新学生信息
found = true; // 标记为找到
cout << "修改成功!" << endl;
break;
}
}
if (!found) { // 如果遍历完链表仍未找到对应学号的学生信息
cout << "该学号不存在!" << endl;
}
// system("cls");
}
void Search_Info() { // 查找信息
int choice;
cout << "请选择查找方式:" << endl;
cout << "1. 姓名查找" << endl;
cout << "2. 学号查找" << endl;
cin >> choice;
switch (choice) {
case 1: {
string d;
cout << "请输入要查找的姓名:" ;
cin >> d;
bool found = false; // 用于标记是否找到对应姓名的学生信息,默认为未找到(false)
Node* current = head;
while (current != nullptr) {
if (current->data->name.find(d) != string::npos) { // 如果找到对应姓名的学生信息
current->data->display(); // 打印学生信息
found = true; // 标记为找到
cout << "------------------" << endl;
}
current = current->next; // 继续向下查找
}
if (!found) { // 如果遍历完链表仍未找到对应姓名的学生信息
cout << "该姓名不存在!" << endl;
}
break;
}
case 2: {
string e;
cout << "请输入要查找的学号:" ;
cin >> e;
bool found = false; // 用于标记是否找到对应学号的学生信息,默认为未找到(false)
Node* current = head;
while (current != nullptr) {
if (e.compare(current->data->id) == 0) { // 如果找到对应学号的学生信息
current->data->display(); // 打印学生信息
found = true; // 标记为找到
cout << "------------------" << endl;
break;
}
current = current->next; // 继续向下查找
}
if (!found) { // 如果遍历完链表仍未找到对应学号的学生信息
cout << "该学号不存在!" << endl;
}
break;
}
default:
cout << "输入无效!" << endl;
break;//返回功能页面的
}
// system("cls");
}
void Sort_Info() { // 对链表中的学生信息进行排序
Node* current = head;
Node* next;
while (current != nullptr) {
next = current->next;
while (next != nullptr) {
if (*(next->data) > *(current->data)) { // 如果后一个学生信息的总成绩大于前一个学生信息的总成绩
Telecom* temp = current->data;
current->data = next->data; // 交换学生信息
next->data = temp;
}
next = next->next;
}
current = current->next;
}
}
void Scan_Info() { // 浏览信息
Sort_Info(); // 先对学生信息进行排序
Node* current = head;
while (current != nullptr) {
current->data->display(); // 逐个打印学生信息
cout << "-------------------" << endl;
current = current->next;
}
}
};
int main() {
// 创建链表
Dianxin stu1;
int choice = 0;
while (1) {
stu1.Menu(); // 显示学生信息管理系统
cout << "请输入你的选择:";
cin >> choice;
switch (choice) {
case 0:
stu1.Exit_System(); // 退出系统
break;
case 1: // 调用录入信息函数;
stu1.Enter_Info();
break;
case 2:
stu1.Delete_Info(); // 调用删除信息函数;
break;
case 3:
stu1.Modify_Info(); // 调用修改信息函数;
break;
case 4:
stu1.Search_Info(); // 调用查找信息函数;
break;
case 5:
stu1.Sort_Info(); // 调用排序信息函数;
stu1.Scan_Info(); // 调用浏览信息函数;
break;
default:
cout << "输入无效!" << endl;
//break;
}
}
system("pause");
return 0;
}