for my csc 102 assignment, I need to create a class to hold a student's grades and name. Then output that information to a text file. The grades and name are both read from an input file. I got it to succesfully run one instance of student. However, I do not know how to make the next student object read from the next line. the input file is in this format:
Jonathan Blythe 87 76 79 88
Jessica Blake 87 79 58 86
Jonathan Lee 88 86 69 100
Joseph Blake 78 89 50 69
My first Student object Student a; reads the correct line. However, when I call the function again for another Student object Student b;, it still reads the first line, and overwrites the output file. I thought if I didn't close the file until the end of main that it may read correctly. I will show the class header file, and the implementation file for Student below. 
#include "Student.h"
Student::Student() {
    cout << "Default Constructor" << endl;
}
void Student::getscores() {
    ifstream infile;
    infile.open("input.txt");
    infile >> firstName >> lastName;
    for (int i = 0; i <= 3; i++) {
        infile >> scores[i];
    }
    infile.close();
}
void Student::getaverage() {
    average = 0;
    for (int i = 0; i < 4; i++) {
        average = average + scores[i];
    }
    average = average / 4;
}
void Student::print()const {
    ofstream outfile;
    outfile.open("output.txt");
    outfile << firstName << " " << lastName << endl;
    cout << firstName << " " <<  lastName << endl;
    for (int i = 0; i <= 3; i++) {
        cout << scores[i] << " ";
        outfile << scores[i] << " ";
    }
    cout << endl;
    outfile << endl;
    cout << "Average Score: " << average << endl;
    outfile << "Average Score" << average << endl;
    cout << "Letter Grade: " << grade << endl;
    outfile << "Letter Grade: " << grade << endl;
    //outfile.close();
}
void Student::getletter() {
    if (average >= 90)
        grade = 'A';
    else if (average >= 80 && average < 90)
        grade = 'B';
    else if (average >= 70 && average < 80)
        grade = 'C';
    else if (average >= 60 && average < 70)
        grade = 'D';
    else if (average < 60)
        grade = 'F';
}
Student::~Student() {   
}
and
#pragma once
#include<iostream>
#include<string>
#include <fstream>
using namespace std;
class Student
{
    string lastName;
    string firstName;
    int scores[4] = { 0,0,0,0 };
    int average = 0;
    char grade = 'n';
public:
    Student();
    Student(string, string, int, int, int, int, char);
    ~Student();
    void getscores();
    void getaverage();
    void getletter();
    void print()const;
};
 
     
     
    