maxitum ler gth sol and thet procest it bused on the requirtiert:. numbers. quitses fer esch studere. second cumber is the score in rovs tem exam asd the lemaint 6 nambers art the scores for 6 nunted of ouken. The total score of a studede is cytulated by the folowine form. todd ycore 35x of midtem +40s of find teres +25x of the ovensy of G gulroes and write the result to gummaritet Me a met as aseder the summary in the conscle outaut. wearch the name witen the arriy ind twen diply the reluted rewat. inolementatien omtrictien: Your code sticuls dettre the folowing coetant and ste them 1define MAXSTO 100 dmannum manber of vaskens sdetine MAXITENS 10 iriadinum number of quittes Fitefine STLet $1 t Vou man functon thould oectice ard use the folowine arum: int maind cher idi(Masstojistuth; inor to ing ids toined Sres mien than 90A. 4019.9947 70.7.79:C Gen tranjer Your program needs to read these data and load them into maltiple arrays. Then your code should create a summary of the grade and write the result to summarytxt ftle as well as display the summary in the console output. After producing the summary txt file, your code should take a name (single word string with maximum length 50 ) as user input an search the name within the array and then display the related result. Implementation restriction: Your code should define the following constants and use them. \#detine MAXSTD 100 Mmaximum number of students Hdefine MAXITEMS 10 Nmaximum number of quizzes \#define STLEN 51 \# maximum char array size. Max string length is 50 . Your main function should declare and use the following arrays: int maint) i char ids[MAXSTD][STLEN]: Mfor string ids char names[MAXSTD][STLEN]:ll for storing last names float grades[MAXSTD][MAXITEMS): for storing grades float totals[MAXSTD]: Mfor storing calculated totals other lines. 1 Your code should implement the following function and use them: char getLetterGradeffloat scorel: This function takes a float and retums the ietter ende according to the toliowing seale: more than 90:A 8089.99:B7079.99:CLessthan70:F int getMaxTotalldxifloat totals[l, int n): This takes the total scores of at the students and then returns the index contahing the highest total score. If multiple students have the same highest score, it wit retum the fest index. 50 , the logic of niniting the highest is still the same as we have used so far. Note that this function wis not print afythinc. names and totals of all the students and print the summary to the conscle and also t the output hle. The output format is svaliable in the sample output below. While producing the summary, you mart have to cal the settetherifradel as well as getMaxTotalidi0 function as needed int lookup/char namesilisTLEN], ctorkey[STLEN), int n): This function taies the rames and a search wey as a parameter and returns the indec of the names array contaming the name. if the nume doet net edat. the function returns 1. Nose trut veu shauld not print anyehing in this function Problore fride Sumnay Ounerator There is a teat fie grates tat twat cortuns borsed ee those arrifeers. The firsa fine of the the combion two inegen M ave Q, where Nu recoesents the revi Nives coabse are 6 rumber d oitirs fer exch studint. The heal N ire coluans diea soout it dents. Exh strivili, studert isot nume is sing weed atring add terr exam and the remaivisg onarbers as ith a stubertis calodited ty the following forrifr. tolal seove - 35N of rodde tere " dow en mind farm +25N of the erwape of oqulush. them intio mitipie srmen fion your code shadit "Eash to sumperytel fie as mull as Gidiay fid survisty is the consebto orvet. Ather producing the reminisy tul fin your code input ired stapch twe wure within then diaplay the reiated resit. impletientacion festictios Mou cote thoild sefive the billowing orention ind inethem Hative Maxsro sot Braciuannuwter of atuanta Ndefne Maxitises so Innuiameystor of qubrize string longthis 50 follawing almage nit mana I finers jrobes totaly functionand ose them char ondielterorsideffout scorvi: This hinetion more than 98A808999:10707998C Leis then 70F ielums the inder contaning the highes total soore, If multion hudacts haw the rave tianest soore in witstarm the frit irstas So, the lagic all mething: facenion fries the aulput fie pointac iss, nives survary to the conedie and abot the cotput fie. The anget formita dublute bese werpienctout int lookup(char names[][STLEN], char key[STLEN], int n): This function takes the names and a search key as a parameter and returns the index of the names array containing the name. If the name does not exist, the function returns - 1 . Note that you should not print anything in this function. In the main function, load all the data from the file into the arrays and fillup the totals array based on the calculations. Then call the writeData function to produce the summary. After that take a string input (single word) and call the lookup function and based on that print the information for the searched name. Note that the search has to be case insensitive. Sample InputjOutput 1: Summary of students: ====x== ID: s1 Lname: adam Total: 73.55 Grade: C ID: s2 Lname: smith Total: 81.06 Grade: B ID: 53 Lname: robin Total: 66.22 Grade: F ID: s4 Lname: nusair Total: 92.45 Grade: A ID: 55 Lname: martin Total: 67.16 Grade: F ID: s6 Lname: jack Total: 92.45 Grade: A First student with the highest total is s4 nusair 92,45 Data written in summary.txt file Enter a last name to search: Martin martin was found in the list. Here is the details: ID: 55 Lname: martin Total: 67,16 Grades: Middle term: 60.00, Final term: 70.00, quizzes: 70.0080.0085.0055.50 Sample Input/Output 2: Summary of students: 1D: 51 Lname: adam Total: 73.55 Grade: C ID: s2 Lname: smith Total: 81.06 Grade: B ID: $3 Lname: robin Total: 66.22 Grade: F ID: $4 Lname: nusair Total: 92.45 Grade: A ID: 55 Lname: martin Total: 67.16 Grade: F ID: 56 Lname: jack Total: 92.45 Grade: A ======= First student with the highest total is s4 nusair 92.45 Data written in summary.txt file Enter a last name to search: Mertin Mertin not found in the list. maxitum ler gth sol and thet procest it bused on the requirtiert:. numbers. quitses fer esch studere. second cumber is the score in rovs tem exam asd the lemaint 6 nambers art the scores for 6 nunted of ouken. The total score of a studede is cytulated by the folowine form. todd ycore 35x of midtem +40s of find teres +25x of the ovensy of G gulroes and write the result to gummaritet Me a met as aseder the summary in the conscle outaut. wearch the name witen the arriy ind twen diply the reluted rewat. inolementatien omtrictien: Your code sticuls dettre the folowing coetant and ste them 1define MAXSTO 100 dmannum manber of vaskens sdetine MAXITENS 10 iriadinum number of quittes Fitefine STLet $1 t Vou man functon thould oectice ard use the folowine arum: int maind cher idi(Masstojistuth; inor to ing ids toined Sres mien than 90A. 4019.9947 70.7.79:C Gen tranjer Your program needs to read these data and load them into maltiple arrays. Then your code should create a summary of the grade and write the result to summarytxt ftle as well as display the summary in the console output. After producing the summary txt file, your code should take a name (single word string with maximum length 50 ) as user input an search the name within the array and then display the related result. Implementation restriction: Your code should define the following constants and use them. \#detine MAXSTD 100 Mmaximum number of students Hdefine MAXITEMS 10 Nmaximum number of quizzes \#define STLEN 51 \# maximum char array size. Max string length is 50 . Your main function should declare and use the following arrays: int maint) i char ids[MAXSTD][STLEN]: Mfor string ids char names[MAXSTD][STLEN]:ll for storing last names float grades[MAXSTD][MAXITEMS): for storing grades float totals[MAXSTD]: Mfor storing calculated totals other lines. 1 Your code should implement the following function and use them: char getLetterGradeffloat scorel: This function takes a float and retums the ietter ende according to the toliowing seale: more than 90:A 8089.99:B7079.99:CLessthan70:F int getMaxTotalldxifloat totals[l, int n): This takes the total scores of at the students and then returns the index contahing the highest total score. If multiple students have the same highest score, it wit retum the fest index. 50 , the logic of niniting the highest is still the same as we have used so far. Note that this function wis not print afythinc. names and totals of all the students and print the summary to the conscle and also t the output hle. The output format is svaliable in the sample output below. While producing the summary, you mart have to cal the settetherifradel as well as getMaxTotalidi0 function as needed int lookup/char namesilisTLEN], ctorkey[STLEN), int n): This function taies the rames and a search wey as a parameter and returns the indec of the names array contaming the name. if the nume doet net edat. the function returns 1. Nose trut veu shauld not print anyehing in this function Problore fride Sumnay Ounerator There is a teat fie grates tat twat cortuns borsed ee those arrifeers. The firsa fine of the the combion two inegen M ave Q, where Nu recoesents the revi Nives coabse are 6 rumber d oitirs fer exch studint. The heal N ire coluans diea soout it dents. Exh strivili, studert isot nume is sing weed atring add terr exam and the remaivisg onarbers as ith a stubertis calodited ty the following forrifr. tolal seove - 35N of rodde tere " dow en mind farm +25N of the erwape of oqulush. them intio mitipie srmen fion your code shadit "Eash to sumperytel fie as mull as Gidiay fid survisty is the consebto orvet. Ather producing the reminisy tul fin your code input ired stapch twe wure within then diaplay the reiated resit. impletientacion festictios Mou cote thoild sefive the billowing orention ind inethem Hative Maxsro sot Braciuannuwter of atuanta Ndefne Maxitises so Innuiameystor of qubrize string longthis 50 follawing almage nit mana I finers jrobes totaly functionand ose them char ondielterorsideffout scorvi: This hinetion more than 98A808999:10707998C Leis then 70F ielums the inder contaning the highes total soore, If multion hudacts haw the rave tianest soore in witstarm the frit irstas So, the lagic all mething: facenion fries the aulput fie pointac iss, nives survary to the conedie and abot the cotput fie. The anget formita dublute bese werpienctout int lookup(char names[][STLEN], char key[STLEN], int n): This function takes the names and a search key as a parameter and returns the index of the names array containing the name. If the name does not exist, the function returns - 1 . Note that you should not print anything in this function. In the main function, load all the data from the file into the arrays and fillup the totals array based on the calculations. Then call the writeData function to produce the summary. After that take a string input (single word) and call the lookup function and based on that print the information for the searched name. Note that the search has to be case insensitive. Sample InputjOutput 1: Summary of students: ====x== ID: s1 Lname: adam Total: 73.55 Grade: C ID: s2 Lname: smith Total: 81.06 Grade: B ID: 53 Lname: robin Total: 66.22 Grade: F ID: s4 Lname: nusair Total: 92.45 Grade: A ID: 55 Lname: martin Total: 67.16 Grade: F ID: s6 Lname: jack Total: 92.45 Grade: A First student with the highest total is s4 nusair 92,45 Data written in summary.txt file Enter a last name to search: Martin martin was found in the list. Here is the details: ID: 55 Lname: martin Total: 67,16 Grades: Middle term: 60.00, Final term: 70.00, quizzes: 70.0080.0085.0055.50 Sample Input/Output 2: Summary of students: 1D: 51 Lname: adam Total: 73.55 Grade: C ID: s2 Lname: smith Total: 81.06 Grade: B ID: $3 Lname: robin Total: 66.22 Grade: F ID: $4 Lname: nusair Total: 92.45 Grade: A ID: 55 Lname: martin Total: 67.16 Grade: F ID: 56 Lname: jack Total: 92.45 Grade: A ======= First student with the highest total is s4 nusair 92.45 Data written in summary.txt file Enter a last name to search: Mertin Mertin not found in the list