// This class contains two static methods used in the
// CSC108S assignment two solution.
class MoreHelp {

   // Decide the status of a student based on three factors:
   // current status, cumulative average and sessional average.
   static String newStatus(String status, double average, 
                           double sessional) {

      final int MIN_AVE = 60;    // cutoffs for average
      final int MAX_AVE = 62;

      final String GOOD = "In good standing";  // status codes
      final String PROB = "On probation";
      final String SUSPEND = "Suspended";
      final String UNKNOWN = "Unknown";

      if (average > MIN_AVE)
         return GOOD;
      else if (status.equals(GOOD) &&
               average < MIN_AVE && sessional < MAX_AVE)
         return PROB;
      else if (status.equals(PROB) &&
               average < MIN_AVE && sessional >= MAX_AVE)
         return PROB;
      else if (status.equals(PROB) &&
               average < MIN_AVE && sessional < MAX_AVE)
         return SUSPEND;
      else
         return UNKNOWN;
   }

   // Decide whether a course is a full or half term course
   // based on the last character in the course code.
   static boolean fullcourse(String course) {
      if (course.charAt(6) == 'Y' || course.charAt(6) == 'A' ||
          course.charAt(6) == 'B')
         return true;
      else
        return false;
   }
}

