import java.io.*; public class GradeApp { //Define variables for numbers of labs, quizzes, and exams. final static int NUMLABS = 13; final static int NUMREPORT = 2; final static int NUMQUIZZES = 10; // Use the 10 highest scores final static int NUMEXAMS = 4; public static void main(String[] args) throws IOException { // DEFINE VARIABLES // Define variables for student name and ID number. String inputName = ""; int inputNum = 0; // Define variable for course number. String courseNum; String courseName; // Define variables to use in summing. int sumAssign = 0; int sumAttend = 0; int sumReport = 0; int sumQuiz = 0; int sumExam = 0; // Define variable for final exam grade. Provided by user. int finalExam = 0; // Define variable for grade read in from fiel and cast to int int grade = 0; // Define variable for semester course grade. double semesterGrade = 0.0; // Instantiate input object to read from keyboard BufferedReader in = new BufferedReader(new InputStreamReader (System.in)); // Instantiate file object to read lab assignment grades from file. BufferedReader labAssignFile = new BufferedReader (new FileReader("labassign.txt")); // Instantiate file object to read lab attendance grades from file. BufferedReader labAttendFile = new BufferedReader (new FileReader("labattend.txt")); // Instantiate file object to read report/experiment grades from file. BufferedReader reportFile = new BufferedReader (new FileReader("report.txt")); // Instantiate file object to read quiz grades from file. BufferedReader quizFile = new BufferedReader (new FileReader("quiz.txt")); // Instantiate file object to read exam grades from file. BufferedReader examFile = new BufferedReader (new FileReader("exam.txt")); System.out.println("Please input the student's name: "); inputName = in.readLine(); System.out.println("Please input the student's ID: "); inputNum = Integer.parseInt(in.readLine()); System.out.println("Please input the course's name: "); courseName = in.readLine(); System.out.println("Please input the course's number: "); courseNum = in.readLine(); // Instantiate course object Course csCourse = new Course (courseNum, courseName); //START ADDING GRADES //Compute lab assignment sum. for (int i = 1; i <= NUMLABS; i++) { grade = Integer.parseInt(labAssignFile.readLine()); sumAssign += grade; } //Compute lab attendance sum. //Number of days attendance is numlabs * 2 + 2. for (int i = 1; i <= NUMLABS * 2 + 2 ; i++) { grade = Integer.parseInt(labAttendFile.readLine()); sumAttend += grade; } //Compute report sum for (int i = 1; i <= NUMREPORT; i++) { grade = Integer.parseInt(reportFile.readLine()); sumReport += grade; } //Add highest 10 quiz grades for (int i = 1; i <= NUMQUIZZES; i++) { grade = Integer.parseInt(quizFile.readLine()); sumQuiz += grade; } //Add exam grades for (int i = 1; i <= NUMEXAMS; i++) { grade = Integer.parseInt(examFile.readLine()); sumExam += grade; } //Now add an estimated final exam grade into the formula. //Prompt the user to enter a final exam grade. System.out.println("Please enter an estimated final exam grade " + "for this student: " ); finalExam = Integer.parseInt(in.readLine()); //Now compute semester grade for student. semesterGrade = csCourse.computeGrade(sumAssign, sumAttend, sumReport, sumQuiz, sumExam, finalExam); System.out.println("For course "+ csCourse.toString() + "\nThe grade for student " + inputName + " (ID:" + inputNum + ") " + "is: " + semesterGrade); } }