here is problem:All input lines except the first line contain a 9-digit student ID number followed by one blankfollowed by their letter answers to the questions. The first line of input contains a dummy studentID, a blank space and then the answer key. For example,000000000 ABCDABCDABCD123123123 ABDCABACDDAD143434193 BACDACDABACD323737347 B A D D AAAAIn this example, there were 12 test questions. Please allow for up to 100 test questions.All answers will be in uppercase letters. Please note that students sometimes fail to answer aquestion. Their corresponding letter is a blank. This means you must use the get() function toretrieve each letter (or blank).After inputting the dummy ID number and using get() to retrieve the blank, make a loopto input each letter answer key and store it in an array called answer_key. You need only thisONE array in this problem. The bounds of the answer_key array should be 100. However, youmust know how many answers there really are on this particular test. Thus, continue inputtinganswer characters and storing them into the array until you input a \n, the new line code. At thispoint, you know the number of questions and their answers.Now write a loop that goes until the end of the file is reached. Input the student IDnumber (nine digits long) and then write a loop to input their answers. Since you now know howmany questions there are, you can use a for loop. As an answer comes in, compare it to thecorrect answer letter and accumulate totals of correct answers for that student. After inputting allthe student answers, print on line that contains the student ID number followed by the percentcorrect answers. (Remember when converting into a percentage, to multiply by 100 before youdivide.)Finally, when the end of the file is reached, print the average percentage correct found bytotaling the individual percent correct scores and dividing by the number of students. Your outputshould look something like:STUDENT PERCENTID CORRECTxxxxxxxxx xxx.xxxxxxxxxxx xxx.xxxxxxxxxxx xxx.xxAVERAGE xxx.xxTest your program with the 2 provided test files, TestGrading1.txt and TestGrading2.txt.-------------------------------------------here is what I have:#include <iostream>#include <fstream>#include <iomanip>#include <cmath>using namespace std;const int QUESTIONS = 100;int main () {cout.setf (ios::fixed, ios::floatfield);cout.setf (ios::showpoint); ifstream testData ("TESTGRADE.TXT"); char answer_key[QUESTIONS], answer; double percent = 0, numQuestions = 0, grandScore = 0, grandQuestions = 0, grandPercent = 0; int count = 0, score = 0; long id = 0; if (!testData) { cerr << "Error opening file\n"; return 1; }cout << " STUDENT PERCENT\n" << " ID CORRECT\n"; testData >> id; testData.get (); while (testData.get(answer_key[count]) && (answer_key[count] != '\n') && (count++ < QUESTIONS)); numQuestions = count; grandQuestions += numQuestions; count = 0; while (testData) { testData >> id; testData.get (); while (count < numQuestions) { testData.get (answer); if (isalpha (answer) && answer_key[count] == answer) { ++score; } ++count; } percent = score / numQuestions * 100; grandScore += score; cout << id << setprecision(2) << setw(8) << percent << endl; count = 0; score = 0; }grandPercent = grandScore / grandQuestions * 10;cout << endl << "AVERAGE" << setprecision(2) << setw(10) << grandPercent << endl; return 0;} ------------------------------------- Here is test data: 0 ABCDEEDCBAACEECABDDB333450001 ABADEEDABAAAEEAABDDB333450002 EBCDEEDCBAACEECABDDB333450003 AA AAAAAAAAAAAAAAAAA333450004 ABCDEEDCBAACEECABDDB333450005 BBCD BDCBBBCBBCBBDDB333450006 EBCDEEDCBAACEECABDDE333450007 ABCDEEDCBAACEECABDDB333450008 CCACCCCACCCACCACCCC 333450009 EEEEEDCBAACEECABDDB333450010 ABCDEEDCBAACEECABCCC---------------------------------------------------My program outputs all 10 id's and scores correctly but it reinputs the 10th id and displays garbage numbers like this: STUDENT PERCENT ID CORRECT333450001 80.00333450002 95.00333450003 20.00333450004 100.00333450005 60.00333450006 90.00333450007 100.00333450008 0.00333450009 80.00333450010 85.00333450010 20.00 <-- this line shouldn't be hereAVERAGE 73.00Press any key to continue-------------------------------------Can somebody tell me whats going on?