1046 bruch Bruchrechnen
Kategorie:Mathematik
Klasse:leicht
Eingabe:short
Ausgabe:Integer
Abzugebende Files: bruch.txt, bruch.java

Kurzbeschreibung:

Zwei Bruchzahlen und ein Operator sollen eingelesen werden, das Ergebnis der Operation soll (als Bruch) ausgegeben werden.

Allgemeine Hinweise:

Aufgabenstellung:

Ihr Programm soll vier Zahlen vom Typ SHORT einlesen, die jeweils den Zähler und Nenner zweier Bruchzahlen darstellen.

Weiters wird einer der Operatoren "+", "-", "*", "/" eingelesen. Die entsprechende Operation mit den beiden Bruchzahlen wird durchgeführt und das Ergebnis als Zähler und Nenner eines gekürzten Bruches ausgegeben.

Eingabedaten:

Lesen Sie die vier Zahlen vom Typ SHORT ein, die in der Reihenfolge z1, n1, z2, n2 zu interpretieren sind. Dann lesen Sie ein Zeichen ein, das einer der Operatoren "+", "-", "*", "/" sein muß. Beachten Sie, daß der Nenner eines Bruches niemals 0 sein darf.

Ausgabedaten:

Bei korrekten Eingabedaten soll Ihr Programm das Ergebnis der Operation ausgeben, wobei zuerst der Zähler und dann durch ein Leerzeichen getrennt der Nenner ausgegeben werden soll; anschließend ein Zeilenvorschub.

Wenn der Zähler 0 ist, soll der Nenner nicht ausgegeben werden.

Bei negativen Ergebnissen soll immer der Zähler negativ sein.

Fehlerbehandlung:

Sämtliche Eingabedatensätze sind immer vollständig einzulesen. Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.

Enthält der Eingabedatensatz einen ungültigen Datentyp, so soll einmal das Zeichen "?", gefolgt von einem Zeilenvorschub, ausgegeben werden.

Sind die Datentypen bei allen Eingaben richtig, die eingegebenen Daten aber inhaltlich nicht korrekt oder erfüllen nicht die Bedingungen (z.B. ungültiger Operator), so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
-3 7 6 8 /

3 4 6 8 +

3 5 2 6 *

Ausgabedaten
-4 7

3 2

1 5

Bemerkung: Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java bruch < bruch.i1 > bruch.out1

Das erzeugte File bruch.out1 können Sie dann mit dem mitgelieferten Outputfile bruch.o1 vergleichen.