Question
12.8 GPA reports using files Prompt the user by Enter name of input file: for the name of an input file and open that
12.8 GPA reports using files Prompt the user by "Enter name of input file: " for the name of an input file and open that file for reading. The two input files for the tests are already at the zyBooks site.They each have a list of student names with the course they have taken, of the form Jacobs, Anthony ECS10 4 B- ECS20 4 C+ ANS17 3 A ANS49H 2 D Wilson, Elaine ECS10 4 B+ ECS20 4 C+ ANS17 3 A ANS49H 2 D ANS100 5 B- with the student name on one line, and a list of that student's course names, units, and grades on a sequence of following lines, terminated by a blank line before the next student name line. The input will be terminated either by a second blank line where the next name would be, which will appear as just " ", or by the file ending with either no new line character at the end of the last course line for the last student, or just one, which will result in just the empty string "" when reading in any more lines. (The input for the hidden second test ends with just one blank line after the last course.) To repeat this in a different way: You need to correctly handle 3 cases: a) The file ends at the end of the last course line, just after the last grade, with no character at all. b) The input file ends with a single character at the end of the last grade line (as is normal on all other lines). c) The file ends with two characters, one to end the last grade line, and one blank line, as would normally occur before another student name. The program should open and write an output file named "GPA_output.txt" of the form: Jacobs, Anthony 2.62 Wilson, Elaine 2.77 with each line containing a student name and the GPA, which must be computed by the program. The format of each line must have the name left adjusted, in a field with a total of 26 spaces, followed immediately by the GPA, with two decimal places. You can do this with a formatted output of the form: f.write("%-26s%.2f " % (student_name, GPA)) Note that the " " is needed at the end of the quoted format specification, because unlike print(), f.write() does not automatically put a new line character at the end of the line. The input given above is for the first test, and the file "GPA_input.txt" from which it was taken is in the canvas File Folder for "Week 9" of "Programs shown in class", so that you can use it for testing your program before submitting it. You will probably need to do such testing because unlike the other assignments, if your program has problems that prevent it from getting to the stage of writing the output file, the error reported will just be "Could not find file: GPA_output.txt" which is not very useful. The output file for this input, "GPA_output.txt" is also in the Week 9 folder for you to compare, since white space is important here.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started