/* Fragment zu Blatt 13 - AI 1 - WS 2006/07 Gegeben ist das Hauptprogramm sowie einige Konstanten. An diesen Vorgaben darf nichts geaendert werden. Aufgabe ist es, die im Hauptprogramm fehlenden Methoden zu implentieren, so dass das Programm lauffaehig ist und die gewuenschte Funktionalitaet bietet. nh - 01/2007 */ import IOulm.*; public class EssAahPee { public static final int SURCHARGE = 10; // Zuschlag vom Land public static final int MAX_HEATING_COST_PERCENTAGE = 5; // Max. % Heizkosten public static final int MIN_RESERVES_PERCENTAGE = 7; // Min. % Rueckl. public static final int MAX_RESERVES_PERCENTAGE = 11; // Max. % Rueckl. public static final int MIN_EXCURSION_COST = 10000; // Min. Reisen Euro public static final int MAX_EXCURSION_COST = 20000; // Max. Reisen Euro /* [... hier fehlen nun allerhand Methoden ===> Euer Teil!!! ...] */ /* Am vorgegebenen Hauptprogramm ist _nicht_ veraendert worden! */ public static void main (String[] args) { int numberOfStudents = getNumberOfStudents(); // Anzahl Studenten einlesen int feePerStudent = getFeePerStudent(); // Gebuhr pro Student lesen // Verfuegbare Gebuehr berechnen (siehe Satzung, Punkt 3) int availableFee = calculateFee(numberOfStudents, feePerStudent); // Erste Ausgabe zur Kontrolle Write.Line("Bei einem Studierendenaufkommen von " + numberOfStudents + " Studierenden"); Write.Line("und einer Pro-Kopf-Studiengebuehr von " + feePerStudent + " Euro"); Write.Line("zuzueglich Zuschuss von " + SURCHARGE + "% erhalten wir " + availableFee + " Euro!"); /* Jetzt wird es schwieriger... ... checkRemainder soll pruefen, ob die verbleibende Summe (nach Ziffer 7 der Satzung) mehr als die Haelfte der verfuegbaren Gebuehren ausmacht; dazu muessen noch die Prozentsaetze fuer Heizkosten und Ruecklagen sowie die Reisekosten in Euro eingelesen werden. */ if (checkRemainder(availableFee, getHeatingCosts(availableFee), getReserves(availableFee), getChairExcursionCosts())) { Write.Line("Ja! Die eingegebenen Werte sind satzungskonform!"); } else { Write.Line("Leider fuehren die eingebenen Werte zu einer"); Write.Line("nicht satzungskonformen Gebuehrenverwendung."); } } }