i am making a program which is supposed to collect input from the user by asking for id, name, units attempted, units earned and the gpa of a student and store that into a struct. Currently, when i input more than one student into the struct, it only outputs the last student in the array. What can i do to fix this?
Here is my code
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
struct Student {
string ID;      //an 8-digit student ID
string name;        //name of the student
unsigned unitsAttempted;//number of units attempted by the student
unsigned unitsEarned;   //number of units earned by the student
double gpa;     //the grade point average for the student
};
int main()
{
  Student students[10];//array for 10 Student Structs
  
  char answer = 'y';
  int number = 0;
  while ((answer == 'y') || (answer == 'Y')) {
   //prompt the user to enter the data
  {
    answer = ' ';
    int i = 0;
    cout << "Enter the students ID: \n" ;
    getline(cin, students[i].ID);
    cout << "\nEnter the name:\n";
    getline(cin, students[i].name);
    cout << "\nEnter the units attempted:\n";
    cin >> students[i].unitsAttempted;
    cin.ignore();
    cout << "\nEnter the units earned:\n";
    cin >> students[i].unitsEarned;
    cin.ignore();
    cout << "\nEnter the GPA: \n";
    cin >> students[i].gpa;
    cin.ignore();
    cout << "\nWould you like to add another student? y or n\n";  
    cin >> answer;
    cin.ignore();
    i++;
    number++;
  }
  }
  
  cout << left << setw(10) << "ID " << setw(20) <<"Name" << setw(20) <<"Units Attempted" << setw(20) <<"Units Earned" << setw(10) <<"GPA";
  cout << "\n===============================================================\n";
    for (int i = 0; i < number; i++)//display the students
    {
      cout << left << setw(10) << students[i].ID << setw(20) << students[i].name << setw(20) <<students[i].unitsAttempted << setw(20) <<students[i].unitsEarned << setw(10) <<students[i].gpa << endl << endl;
    }
  return 0;
}
Im still learning so please go easy on me, thanks.
 
    