This example allows you to add students, display their details, and search for a student by their ID.
#include <iostream>
#include <vector>
class Student {
public:
std::string name;
int id;
int age;
// Constructor
Student(const std::string& n, int i, int a) : name(n), id(i), age(a) {}
// Display student details
void displayDetails() const {
std::cout << "ID: " << id << "\nName: " << name << "\nAge: " << age << "\n\n";
}
};
class StudentManagementSystem {
private:
std::vector<Student> students;
public:
// Add a new student
void addStudent(const std::string& name, int id, int age) {
students.emplace_back(name, id, age);
}
// Display all students
void displayAllStudents() const {
std::cout << "=== All Students ===\n";
for (const auto& student : students) {
student.displayDetails();
}
}
// Search for a student by ID
void searchStudentById(int id) const {
auto it = std::find_if(students.begin(), students.end(), [id](const Student& student) {
return student.id == id;
});
if (it != students.end()) {
std::cout << "Student found:\n";
it->displayDetails();
} else {
std::cout << "Student not found.\n";
}
}
};
int main() {
StudentManagementSystem system;
int choice;
do {
std::cout << "Student Management System\n";
std::cout << "1. Add Student\n";
std::cout << "2. Display All Students\n";
std::cout << "3. Search Student by ID\n";
std::cout << "0. Exit\n";
std::cout << "Enter your choice: ";
std::cin >> choice;
switch (choice) {
case 1: {
std::string name;
int id, age;
std::cout << "Enter student ID: ";
std::cin >> id;
std::cout << "Enter student name: ";
std::cin.ignore(); // Ignore the newline character from previous input
std::getline(std::cin, name);
std::cout << "Enter student age: ";
std::cin >> age;
system.addStudent(name, id, age);
std::cout << "Student added successfully.\n\n";
break;
}
case 2:
system.displayAllStudents();
break;
case 3: {
int searchId;
std::cout << "Enter student ID to search: ";
std::cin >> searchId;
system.searchStudentById(searchId);
break;
}
case 0:
std::cout << "Exiting program.\n";
break;
default:
std::cout << "Invalid choice. Please try again.\n";
}
} while (choice != 0);
return 0;
}