// InclassQuizGrader.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

const int MAX_STUDENTS = 100;
const int QUIZ_ANSWERS = 10;
const string QUIZ_FILE = "quiz.txt";

void loadAnswers (int aQuizAnswers[], int numAnswers, istream &input);
void loadStudentAnswers (int aAllStudentAnswers[][QUIZ_ANSWERS], int numStudents,
                                                 int numAswers, istream &input);

//TODO 1: Write a function to correct a single quiz

//TODO 2: Write a function that returns the number of student's who achieved
//                a perfect score on the quiz

int main ()
{
    ifstream inFile;
    int numStudents;
    int numAnswers;
    int aCorrectQuizAnswers[QUIZ_ANSWERS];
    int aAllStudentAnswers[MAX_STUDENTS][QUIZ_ANSWERS];

    inFile.open (QUIZ_FILE);
    if (inFile.fail ())
    {
        cout << "Error Opening File" << endl;
        exit (EXIT_FAILURE);
    }

    inFile >> numStudents >> numAnswers;

    cout << "Enter " << numAnswers << " quiz answers: ";
    loadAnswers (aCorrectQuizAnswers, numAnswers, cin);
    loadStudentAnswers (aAllStudentAnswers, numStudents, numAnswers, inFile);

    return EXIT_SUCCESS;
}

void loadAnswers (int aQuizAnswers[], int numAnswers, istream &input)
{
    for (int i = 0; i < numAnswers; ++i)
    {
        input >> aQuizAnswers[i];
    }
}

void loadStudentAnswers (int aAllStudentAnswers[][QUIZ_ANSWERS], int numStudents,
    int numAswers, istream &input)
{
    for (int i = 0; i < numStudents; ++i)
    {
        for (int j = 0; j < numAswers; ++j)
        {
            input >> aAllStudentAnswers[i][j];
        }
    }
}