#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct Student {
string name;
int id;
int grade;
};
int main() {
vector<Student> students;
while (true) {
cout << "Choose an option: " << endl;
cout << "1. Add a new student" << endl;
cout << "2. List all students" << endl;
cout << "3. Quit" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1: {
Student newStudent;
cout << "Enter student name: ";
cin >> newStudent.name;
cout << "Enter student ID: ";
cin >> newStudent.id;
cout << "Enter student grade: ";
cin >> newStudent.grade;
students.push_back(newStudent);
cout << "Student added." << endl;
break;
}
case 2: {
if (students.empty()) {
cout << "No students added yet." << endl;
} else {
cout << "List of all students:" << endl;
for (const auto& student : students) {
cout << "Name: " << student.name << ", ID: " << student.id << ", Grade: " << student.grade << endl;
}
}
break;
}
case 3:
cout << "Exiting program." << endl;
return 0;
default:
cout << "Invalid choice." << endl;
break;
}
}
}
在main函数中,我们使用vector容器存储所有学生的信息,然后在while循环中等待用户的输入。用户可以选择添加新学生、列出所有学生信息或退出程序。如果用户选择添加新学生,我们先创建一个Student结构体对象并接受用户的输入,然后将该对象添加到students vector中。如果用户选择列出所有学生信息,我们遍历students vector并输出每个学生的姓名、ID和成绩。如果students vector为空,则输出“No students added yet.”的提示信息。如果用户选择退出程序,则直接返回0退出程序。如果用户输入的选项不属于上述三个选项,则输出“Invalid choice.”的提示信息。