//Valerie Purvis
//CIS 125
//This program is designed to read students names and scores from a .dat file
//The grades are sorted in ascending order and then the top 6 scores are selected.
//It then passes the student name and the percentage of the top 6 scores to the gradeReport()Method
//Once in the new Method, a letter grade is assigned to each percentage based on the elements of
//the 2 parallel arrays ltrGrade and percentGrade.
import java.util.*;
import javax.swing.*;
import java.io.*;
public class StudentGrades
{
public static void main(String args[])throws Exception
{
// Declare input file to be opened.
FileReader fr = new FileReader ("scores.dat");//name of the .dat file.
BufferedReader br = new BufferedReader (fr);
String studentName;
String scoreString;
int counter;
double percent = 0;
final int MAX_SCORE = 9; //number of grades for each student
double scoresArray[] = new double[MAX_SCORE];
System.out.println ("Student's Grade Report");
System.out.println ("by: Valerie Purvis");
System.out.println ("");//blank
System.out.println (""); //lines
while ((studentName = br.readLine()) != null)//Beginning of outer loop.
{
double average=0;
double total=0 ;
for (counter = 0; counter<MAX_SCORE; counter++)
{
scoreString = (br.readLine());
scoresArray[counter] = Double.parseDouble(scoreString);
total+= scoresArray[counter];
average = (total/MAX_SCORE);
}
System.out.print ("Student Name: "+studentName);
System.out.printf (" Avg. Score: %.2f ",average);
int loopIndex;
double MAX_TOTAL =600;
//double percent = 0;
double topScores = 0;
Arrays.sort(scoresArray);// sorts the score values into default ascending order
for (loopIndex = 3; loopIndex < scoresArray.length ;loopIndex++)
{
topScores += scoresArray[loopIndex];
}
percent = ((topScores/MAX_TOTAL)*100);
// Sending studentName, and percent to gradeReports()method.
gradeReports(studentName, percent);
}
br.close(); //closes the .dat file
System.exit(0);//End of main()method.
}
public static void gradeReports(String studentName, double percent) //Begin gradeReports()Method
{
String ltrGrade[] = {"A", "A-","B+","B", "B-","C+","C", "C-","D+","D", "D-","F"}; //parallel
double percentGrade[] = {92.5,90.0,87.5,82.5,80.0,77.5,72.5,70.0,67.5,62.5,60.0,59.0} ; //array
System.out.printf (" Percentage: %5.1f%% ", percent);
if (percent>=percentGrade[0])
{
System.out.println (" Grade: " +ltrGrade[0]);
}
else if (percent>=percentGrade[1])
{
System.out.println (" Grade: " +ltrGrade[1]);
}
else if (percent>= percentGrade[2])
{
System.out.println (" Grade : " +ltrGrade[2]);
}
else if (percent>=percentGrade[3])
{
System.out.println (" Grade :" +ltrGrade[3]);
}
else if (percent>=percentGrade[4])
{
System.out.println (" Grade : " +ltrGrade[4]);
}
else if (percent>=percentGrade[5])
{
System.out.println (" Grade : " +ltrGrade[5]);
}
else if (percent>=percentGrade[6])
{
System.out.println (" Grade : " +ltrGrade[6]);
}
else if (percent>=percentGrade[7])
{
System.out.println (" Grade : " +ltrGrade[7]);
}
else if (percent>=percentGrade[8])
{
System.out.println (" Grade : " +ltrGrade[8]);
}
else if (percent>=percentGrade[9])
{
System.out.println (" Grade : " +ltrGrade[9]);
}
else if (percent>=percentGrade[10])
{
System.out.println (" Grade : " +ltrGrade[10]);
}
else if (percent<percentGrade[10])
{
System.out.println (" Grade : " +ltrGrade[11]);
}
}
}
text file of the data is attached.
Attached File(s)
-
Scores9.txt (330bytes)
Number of downloads: 11

New Topic/Question
Reply




MultiQuote








|