#include <iostream>
#include <vector>
struct Student {
int id;
std::string name;
double gpa;
};
int main() {
// Step 1: Declare a vector of type 'Student'
std::vector<Student> students;
// Step 2: Create instances of the 'Student' struct
Student student1 = {1, "John Doe", 3.8};
Student student2 = {2, "Jane Smith", 3.9};
// Step 3: Add instances to the vector using 'push_back'
students.push_back(student1);
students.push_back(student2);
// Step 4: Access elements in the vector using index
std::cout << "Student 1 ID: " << students[0].id << ", Name: " << students[0].name << ", GPA: " << students[0].gpa << std::endl;
std::cout << "Student 2 ID: " << students[1].id << ", Name: " << students[1].name << ", GPA: " << students[1].gpa << std::endl;
// Step 5: Iterate through the vector using a loop
std::cout << "All Students:" << std::endl;
for (const auto& student : students) {
std::cout << "ID: " << student.id << ", Name: " << student.name << ", GPA: " << student.gpa << std::endl;
}
// Step 6: Modify vector elements
students[0].gpa = 3.5;
// Step 7: Remove an element from the vector using 'erase'
students.erase(students.begin() + 1);
// Step 8: Check the size of the vector
std::cout << "Number of students after modifications: " << students.size() << std::endl;
return 0;
}