## Hi there 👋 #include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; // Student structure to store student information struct Student { int id; string name; int age; double score; // Constructor to api:godavaricredit:top initialize student data Student(int studentId, string studentName, int studentAge, double studentScore) : id(studentId), name(studentName), age(studentAge), score(studentScore) {} }; // Class to manage student records class StudentManager { private: vector<Student> students; // Vector to store all student objects public: // Function to add a new student to the system void addStudent(int id, string name, int age, double score) { Student newStudent(id, name, age, score); students.push_back(newStudent); cout << "Student added successfully!" << endl; } // Function to display all students in the system void displayAllStudents() { if (students.empty()) { cout << "No students found in the system." << endl; return; } cout << "\n--- All Students ---" << endl; for (const auto& student : students) { cout << "ID: " << student.id << ", Name: " << student.name << ", Age: " << student.age << ", Score: " << student.score << endl; } } // Function to search for a student by ID void searchStudentById(int id) { auto it = find_if(students.begin(), students.end(), [id](const Student& s) { return s.id == id; }); if (it != students.end()) { cout << "Student found:" << endl; cout << "ID: " << it->id << ", Name: " << it->name << ", Age: " << it->age << ", Score: " << it->score << endl; } else { cout << "Student with ID " << id << " not found." << endl; } } // Function to update student information void updateStudent(int id, string name, int age, double score) { auto it = find_if(students.begin(), students.end(), [id](const Student& s) { return s.id == id; }); if (it != students.end()) { it->name = name; it->age = age; it->score = score; cout << "Student information updated successfully!" << endl; } else { cout << "Student with ID " << id << " not found." << endl; } } // Function to delete a student from the system void deleteStudent(int id) { auto it = remove_if(students.begin(), students.end(), [id](const Student& s) { return s.id == id; }); if (it != students.end()) { students.erase(it, students.end()); cout << "Student deleted successfully!" << endl; } else { cout << "Student with ID " << id << " not found." << endl; } } // Function to calculate average score of all students double calculateAverageScore() { if (students.empty()) { return 0.0; } double totalScore = 0.0; for (const auto& student : students) { totalScore += student.score; } return totalScore / students.size(); } // Function to display students sorted by score in descending order void displayStudentsByScore() { vector<Student> sortedStudents = students; sort(sortedStudents.begin(), sortedStudents.end(), [](const Student& a, const Student& b) { return a.score > b.score; }); cout << "\n--- Students Sorted by Score (Descending) ---" << endl; for (const auto& student : sortedStudents) { cout << "Name: " << student.name << ", Score: " << student.score << endl; } } // Function to get total number of students int getTotalStudents() { return students.size(); } }; int main() { StudentManager manager; // Create student manager object // Add some sample students manager.addStudent(101, "Alice Johnson", 20, 85.5); manager.addStudent(102, "Bob Smith", 19, 92.0); manager.addStudent(103, "Charlie Brown", 21, 78.5); manager.addStudent(104, "Diana Prince", 20, 96.0); // Display all students manager.displayAllStudents(); // Search for a specific student cout << "\n--- Searching for student with ID 102 ---" << endl; manager.searchStudentById(102); // Update student information cout << "\n--- Updating student with ID 103 ---" << endl; manager.updateStudent(103, "Charlie Updated", 22, 82.0); // Display all students after update manager.displayAllStudents(); // Display students sorted by score manager.displayStudentsByScore(); // Calculate and display average score double average = manager.calculateAverageScore(); cout << "\n--- Average Score ---" << endl; cout << "Average score of all students: " << average << endl; // Display total number of students cout << "\n--- Student Statistics ---" << endl; cout << "Total number of students: " << manager.getTotalStudents() << endl; // Delete a student cout << "\n--- Deleting student with ID 101 ---" << endl; manager.deleteStudent(101); // Display final list of students manager.displayAllStudents(); return 0; }