Laden...

Wie programmiert man ein Logik-Regelwerk mit C#?

Letzter Beitrag vor 4 Jahren 5 Posts 1.394 Views
Wie programmiert man ein Logik-Regelwerk mit C#?

Hallo zusammen.
Ich bin neu hier und Grüße euch erstmal.
Ich habe schon fleißig gesucht, aber bin nicht fündig geworden.

Folgende Aufgabe für Konsolenanwendung:
Der Nutzer soll eingeben, ob er 3, 4 oder 5 Stück eines Artikels möchte.
Bei 3 gibt es 10% Rabatt, bei 4 15% und bei 5 20%.

Bis zum rabattierten Nettobetrag bin ich soweit durch. Das Passt.

Jetzt soll ich den Mehrwertsteuerbetrag ausgeben und dann den Bruttobetrag.
Also beide Beträge sollen ausgegeben werden.

Aber wie muss ich weitermachen? Erstmal muss ich ja feststellen, welchen Nettobetrag (10/15/20% Rabatt) ich nehme.
Arbeite ich hier mit "if/if-else"?
Arbeite mich gerade ein in das Thema und tu mir noch etwas schwer, was ich wann anwende.

Wäre für einen kurzen Tipp dankbar! 🙂
Auf die Lösung möchte ich selbst kommen, brauche nur jemand, der mich auf den richtigen Weg schickt.
DANKE!

🙂

Hi,

nun ja - Möglichkeiten gibt es hier viele.

If-Else würde funktionieren, du kannst aber auch auch objektorientierter arbeiten und quasi ein Ruleset dafür bauen mit welchem du nicht so viele Verzweigungen brauchst.

Im einfachsten Fall könnte es dann so aussehen:


public static double GetDiscount(int amount)
    {
        if (amount >= 5)
            return .2;
        if (amount == 4)
            return .15;
        if (amount == 3)
            return .1;
        return 0;
    }

LG

Ok, danke! 😃

🙂

Ich vermute stark dass die Stückzahlen von Artikel zu Artikel variieren. Beim einen gibt es zwei Rabattstufen, beim anderen vier. Beim einen gibts ab 5 Stück 10% Rabatt, beim nächsten erst ab 20 Stück 5% dafür aber ab 50 Stück 15% und ab 100 20%.
Das heißt, diese Einstufungen werden Teil des jeweiligen Artikels sein und individuell gestaltet sein. Oder zumindest es gibt eine Vorgabe die verwendet wird wenn ein Artikel keine eigenen Vorgaben macht.

Da würde ich mit einer Liste arbeiten. Sie enthält Stückzahl und Rabatt, davon so viele Einträge wie es aktuell eben gibt.
Dann schaust du in welchem Bereich die aktuelle Bestellung liegt und nimmst den passenden Rabatt.

@chilic
In dem Fall sollte man diese Informationen nicht mehr fest einprogrammieren.
Dann sollte man die Rabatte samt Artikel und Menge ab denen es Rabatt gibt z.B. in einer Datenbank hinterlegen.
Wenn es für den Artikel eine Einstufung gibt, muss nur geschaut werden ab welcher Menge welcher Rabatt fällig wäre.
Gerade Rabatte können sich regelmäßig ändern, da wäre es keine gute Idee mit Listen o.ä. fest hinterlegten Rabatten zu arbeiten.

Aber für die aktuelle Aufgabe wäre dies vermutlich etwas weit ausgeholt.
Die Aufgabe klingt wie eine übliche Schulaufgabe, die ich auch mal vor 15 Jahren machen musste 😃

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.