II Overview Requirements: Write a program that processes numbers, corresponding to student records read in from a file, and writes the required results to an output file (see main()). Your program should define the following functions: (5 pts) double read_double (FILE "infile) - Reads one double precision number from the input file. Note: You may assume that the file only contains real numbers 15 pts) int read integer (FILE "infile) - Reads one integer number from the input file 15 pts) double calculate sum (double number, double number2, double number), double number 4, double number5) - Finds the sum of numbert, number2, number), number, and numbers and returns the result (5 pts) double calculate mean double sum, int number) - Determines the mean through the calculation sum / number and returns the result. You need to check to make sure that number is not o. If it is the function returns -1.0 we will assume that we are calculating the mean of positive numbers, otherwise it returns the mean. 15 pts) double calculate deviation double number, double mean - Determines the deviation of number from the mean and returns the result. The deviation may be calculated as number - mean (10 pts) double calculate variance double deviation, double deviation, double deviation), double deviation 4 double deviation, int number). Determines the variance through the calculation: (deviation 1)2 + (deviation2)2 + (deviation 3)2 + (deviation)2 + (deviation5) 2) / number and returns the result. Hint: you may call your calculate mean() function to determine the result! (5 pts) double calculate standard deviation (double variance Calculates the standard deviation as sqrt (variance) and returns the result. Recall that you may use the sqrt() function that is found in math.h. (10 pts) double find_max (double number, double number2, double number3, double number 4, double number5) - Determines the maximum number out of the five input parameters passed into the function, returning the max. (10 pts) double find_min (double number, double number2, double number 3, double number 4, double number5) - Determines the minimum number out of the five input parameters passed into the function, returning the min. 315 pts) void print_double (FILE 'outfile, double number) - Prints a double precision number to the hundredths place) to an output file. (20 pts) A main() function that does the following this is what the program does!!!): Opens an input file "input.dat" for reading: Opens an output file output.dat" for writing: Reads five records from the input file (input.dat); You will need to use a combination of read_double read integer() function calls here! and Calculates the sum of the GPS; Calculates the sum of the class standings Calculates the sum of the ages; Calculates the mean of the GPA, writing the result to the output file output. dati: Calculates the mean of the class standings, writing the result to the output file output. dati: Calculates the mean of the ages, writing the result to the output fe output.dat): Calculates the deviation of each GPA from the mean (Hint: need to call calculate deviation () 5 times) Calculates the variance of the GPAS Calculates the standard deviation of the GPA, writing the result to the output file (output.dat); Determines the min of the GPAS, writing the result to the output file output. dati: Determines the max of the GPA, writing the result to the output file foutput.dat): Closes the input and output files fi.e. input dat and output.dat) Expected Input File Format (real numbers only): For this assignment you will be required to read five records from the input.dat' file. Each record will have the following form Student ID an 8 digit integer number) GPA (a floating point value to the hundredths place) Class Standing (1 - 4, where 1 is a freshmen, 2 is a sophomore, is a junior, and 4 is a senior --> all integers) Age a floating-point value) Example data for 1 student record in the file could be as follows: 12345678 3.78 20.5 II Overview Requirements: Write a program that processes numbers, corresponding to student records read in from a file, and writes the required results to an output file (see main()). Your program should define the following functions: (5 pts) double read_double (FILE "infile) - Reads one double precision number from the input file. Note: You may assume that the file only contains real numbers 15 pts) int read integer (FILE "infile) - Reads one integer number from the input file 15 pts) double calculate sum (double number, double number2, double number), double number 4, double number5) - Finds the sum of numbert, number2, number), number, and numbers and returns the result (5 pts) double calculate mean double sum, int number) - Determines the mean through the calculation sum / number and returns the result. You need to check to make sure that number is not o. If it is the function returns -1.0 we will assume that we are calculating the mean of positive numbers, otherwise it returns the mean. 15 pts) double calculate deviation double number, double mean - Determines the deviation of number from the mean and returns the result. The deviation may be calculated as number - mean (10 pts) double calculate variance double deviation, double deviation, double deviation), double deviation 4 double deviation, int number). Determines the variance through the calculation: (deviation 1)2 + (deviation2)2 + (deviation 3)2 + (deviation)2 + (deviation5) 2) / number and returns the result. Hint: you may call your calculate mean() function to determine the result! (5 pts) double calculate standard deviation (double variance Calculates the standard deviation as sqrt (variance) and returns the result. Recall that you may use the sqrt() function that is found in math.h. (10 pts) double find_max (double number, double number2, double number3, double number 4, double number5) - Determines the maximum number out of the five input parameters passed into the function, returning the max. (10 pts) double find_min (double number, double number2, double number 3, double number 4, double number5) - Determines the minimum number out of the five input parameters passed into the function, returning the min. 315 pts) void print_double (FILE 'outfile, double number) - Prints a double precision number to the hundredths place) to an output file. (20 pts) A main() function that does the following this is what the program does!!!): Opens an input file "input.dat" for reading: Opens an output file output.dat" for writing: Reads five records from the input file (input.dat); You will need to use a combination of read_double read integer() function calls here! and Calculates the sum of the GPS; Calculates the sum of the class standings Calculates the sum of the ages; Calculates the mean of the GPA, writing the result to the output file output. dati: Calculates the mean of the class standings, writing the result to the output file output. dati: Calculates the mean of the ages, writing the result to the output fe output.dat): Calculates the deviation of each GPA from the mean (Hint: need to call calculate deviation () 5 times) Calculates the variance of the GPAS Calculates the standard deviation of the GPA, writing the result to the output file (output.dat); Determines the min of the GPAS, writing the result to the output file output. dati: Determines the max of the GPA, writing the result to the output file foutput.dat): Closes the input and output files fi.e. input dat and output.dat) Expected Input File Format (real numbers only): For this assignment you will be required to read five records from the input.dat' file. Each record will have the following form Student ID an 8 digit integer number) GPA (a floating point value to the hundredths place) Class Standing (1 - 4, where 1 is a freshmen, 2 is a sophomore, is a junior, and 4 is a senior --> all integers) Age a floating-point value) Example data for 1 student record in the file could be as follows: 12345678 3.78 20.5