#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>

using namespace std;

int main() 
{
    string id;
    char answers [20]; 
    char studentID [9];
    char response; 
    char fileName [25];
    int testScore;
    
    cout << "\nThis program will take the teacher's correct test answers";
    cout << "\nAs well as the 150 students answers, and grade the tests.\n" << endl;
    
    cout << "Enter the input file name: ";
    cin >> fileName;

    ifstream inFile; 
    inFile.open (fileName);
    
    ofstream outFile;
    outFile.open ("output.txt");
    
    cout << "\nStudent IDs     |     Answers |  % |  Grades";
    cout << "\n--------------------------------------------";
    cout << studentID << answers << endl;
    
    for (int i=0; i<20; i++)
        inFile >> answers [i];
    
    while ( ( inFile >> id))
    {
        cout << "\n" << id << " ";
        inFile.get(response);
        testScore = 0;
        
        for (int i = 0; i < 20; i++)
        {
            inFile.get (response);
            
            cout << " " << response;
            
            if (response == ' ')
                testScore += 0;
            else
                if (response == answers [i])
                    testScore += 2;
                else
                    testScore += -1;
        }
        
        cout << "   " << testScore << "  ";
        
        double p = testScore * 2.5;
        
        if (p >= 90)
            cout << 'A';
        else
            if (p >=80)
                cout << 'B';
            else
                if (p >=70)
                    cout << 'C';
                else
                    if (p >=60)
                        cout << 'D';
                    else
                        cout << 'F';
    }
    
    inFile.close();
    outFile.close();
    return 0;
}