import java.io.*;
//--------------------------------------------------------------
// InteractiveGrades.java
// CS100 P3Q2
//
// Wei Tsang Ooi 16 July 1999
//
// This program prompts the user for a list of students and their
// grades, then summarises their final score and pass/fail status.
//
//--------------------------------------------------------------
class InteractiveGrades extends Grades
{
static final int NUM_OF_OPTIONS = 5;
static final int SEARCH_NAME = 1;
static final int SHOW_STATS = 2;
static final int SHOW_LETTER_GRADE = 3;
static final int SHOW_ALL = 4;
static final int QUIT = 5;
static final String PROMPT_MESSAGE[] = {
"Search for a particular name and view that person's grade.",
"View the maximum, minimum and average grades for the entire class.",
"View the names and average grades of the students who were taking\n" +
" the class for a letter grade.",
"View the entire list of students and all of their grades.",
"Quit"
};
//----------------------------------------------------------
// getOption
//
// prompt the user for an option. Returns the option entered
// by the user. This option is guranteed to be one of "QUIT"
// "SEARCH_NAME", "SHOW_STATS", "SHOW_LETTER_GRADE" or
// "SHOW_ALL"
//----------------------------------------------------------
static int getOption() throws IOException
{
int option;
System.out.println();
do
{
System.out.println("Enter You Option :");
for (int i = 0; i < NUM_OF_OPTIONS; i++)
{
System.out.print("[" + (i+1) + "] : ");
System.out.println(PROMPT_MESSAGE[i]);
}
option = Integer.parseInt(stdin.readLine());
}
while (option < 1 || option > NUM_OF_OPTIONS);
return option;
}
public static void main (String args[]) throws IOException
{
// This program create a class and supply a few otions
// for user :
// - display grades of a specified student
// - display max/min/mean grades of the class
// - display grades of students taking the class for letter grade
// - display grades of all students
stdin = new BufferedReader(new InputStreamReader(System.in));
Class cs100 = createClass();
int option = getOption();
while (option != QUIT)
{
switch (option)
{
case SEARCH_NAME :
String name = getName();
cs100.printStudent(name);
break;
case SHOW_STATS :
cs100.printStats();
break;
case SHOW_LETTER_GRADE :
cs100.printLetterGradeStudents();
break;
case SHOW_ALL :
cs100.printAllStudents();
break;
}
option = getOption();
}
}
}