高校学生信息快速查询系统C++代码
时间: 2023-12-23 12:02:52 浏览: 56
以下是一个稍微复杂一些的C++代码示例,用于实现高校学生信息快速查询系统:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
struct Student {
string name;
int age;
string major;
string id;
};
void display(Student s) {
cout << "Name: " << s.name << endl;
cout << "Age: " << s.age << endl;
cout << "Major: " << s.major << endl;
cout << "ID: " << s.id << endl;
}
bool compareID(Student s1, Student s2) {
return s1.id < s2.id;
}
int binarySearch(vector<Student> students, string searchID) {
int left = 0;
int right = students.size() - 1;
while (left <= right) {
int mid = (left + right) / 2;
if (students[mid].id == searchID) {
return mid;
} else if (students[mid].id < searchID) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
int main() {
ifstream infile("students.txt"); //从文件读取学生信息
int numStudents;
infile >> numStudents;
vector<Student> students(numStudents);
for (int i = 0; i < numStudents; i++) {
infile >> students[i].name >> students[i].age >> students[i].major >> students[i].id;
}
infile.close();
sort(students.begin(), students.end(), compareID);
string searchID;
cout << "Enter student ID to search: ";
cin >> searchID;
int index = binarySearch(students, searchID);
if (index != -1) {
display(students[index]);
} else {
cout << "Student not found." << endl;
}
return 0;
}
```
该示例程序使用了vector和sort函数进行学生信息的存储和排序,并使用二分查找算法实现快速查询。请注意,实际的高校学生信息快速查询系统可能需要更多的功能和复杂的逻辑,这只是一个简单的示例程序。