Trait Geometry zur Berechnung von Fläche und Umfang

Rust Medium traits

Aufgabe «Trait Geometry zur Berechnung von Fläche und Umfang»

Implementieren Sie das Trait Geometry mit den Methoden area() -> f64 und perimeter() -> f64. Erstellen Sie die Strukturen Circle (Radius), Rectangle (Breite, Höhe) und Triangle (Seiten a, b, c). Implementieren Sie für jede Struktur das Trait Geometry. Lesen Sie in main drei Zeilen von stdin: für den Kreis den Radius (f64), für das Rechteck Breite und Höhe (f64 durch Leerzeichen getrennt), für das Dreieck die drei Seiten (f64 durch Leerzeichen getrennt). Geben Sie für jede Figur die Fläche und den Umfang durch ein Leerzeichen getrennt aus, jedes Paar in einer neuen Zeile. Runden Sie Fläche und Umfang auf zwei Nachkommastellen. Falls das Dreieck nicht existiert (die Dreiecksungleichung ist nicht erfüllt), geben Sie "Invalid triangle" anstelle der Zahlen aus.

Eingabeformat

Drei Zeilen. Erste: eine f64-Zahl – der Radius des Kreises. Zweite: zwei f64-Zahlen durch Leerzeichen getrennt – Breite und Höhe des Rechtecks. Dritte: drei f64-Zahlen durch Leerzeichen getrennt – die Seiten des Dreiecks.

Ausgabeformat

Drei Zeilen. Für die ersten beiden Figuren: Fläche und Umfang durch Leerzeichen getrennt, auf zwei Nachkommastellen gerundet. Für das Dreieck: Fläche und Umfang durch Leerzeichen getrennt, auf zwei Nachkommastellen gerundet, oder die Zeichenkette "Invalid triangle".

Beispiele

Beispiel 1

EINGABE
1.0 2.5 3.5 1.0 2.0 3.0
AUSGABE
3.14 6.28 8.75 12.00 Invalid triangle

Beispiel 2

EINGABE
3 кот дом стол
AUSGABE
кот дом стол

Beispiel 3

EINGABE
2 я мы
AUSGABE
я мы
main.rs