C# – Verschieben und Teilen

Heute gibt es mal eine kleine C# Aufgabe aus dem Studium =).

Es soll ein Programm erstellt werden, dass zwei Gleitkommazahlen einließt und dann die größere durch die kleinere Zahl teilt.

Hört sich erstmal nicht schwer an. Ich habe diese Aufgabe erstmal in drei Teilaufgaben zerlegt.

  1. Dafür sorgen, dass x immer die kleinere Zahl ist
  2. Das teilen an sich
  3. Dafür sorgen, dass nicht durch 0 geteilt wird.

Dann schauen wir uns mal die einzelnen Teilaufgaben an. Ich werde hier immer nur den für den Teilschritt relevanten Code zeigen und am Ende des Artikels den kompletten Code

x immer kleiner als y

Zuerst müssen wir prüfen, welche der beiden Gleitkommazahlen die größere ist. Anschließend wird ggf. der Wert von x und y getauscht.

Um dies zu realisieren, verwende ich noch eine Helfervariable h. Der Code sieht dann wie folgt aus:

Zuerst prüfe ich ob x größer als y ist. Trifft dies zu, muss ich den Wert von x nach y bekommen und umgedreht.
Dafür Speicher ich zuerst den Inhalt der Variable x in h zwischen. Anschließend kann ich ohne Probleme den Wert von y in x Speicher. Zu guter letzt speichere ich dann den Wert aus h in y. So einfach und unkompliziert

Teilen

Ich denke wie man eine Zahl durch die andere teilt, muss ich hier nicht weiter erläutern. =)

Nicht durch 0 teilen

Ja da gibt es ja so ein math. Gesetzt, dass man nicht durch 0 teilen darf. Das müssen wir natürlich auch irgendwie in unser Programm einbauen. Dafür habe ich die folgende einfache Bedingung geschrieben.

Ich prüfe zuerst, ob y nicht 0 ist. Wenn dass der Fall ist, wird geteilt und das Ergebnis ausgegeben.

Sollte der Fall, y ungleich 0 nicht eintreffen, dann können wir davon ausgeben, dass y gleich 0 ist. In diesem Fall wird dem Anwender eine Fehlermeldung ausgegeben.

Das komplette Programm

Hier folgt nun noch einmal das komplette Programm.

Ich habe mit dazu entschlossen, die beiden Gleitkommazahlen direkt bei Aufruf des Programms zu übergeben. Dafür wurde hier args verwendet und die Eingabe in nachhinein zu einem double Wert konvertiert.

About Christian Piazzi

Ich blogge hier über alles, was mir so in meinem ITler Altag über den Weg läuft =)
Man findet mich privat bei Google+ und Twitter

Speak Your Mind

*