Aufgabe switch case



  • #include <iostream>
    using namespace std;
    int main()
    
    {
    int anz; 	// Anzahl der Produkte
    int rabattstufe
    float preis1;
    float preis2;
    float preis3;
    float preis4;
    
    cout << "Geben Sie an wieviele Produkte Sie kaufen \n";
    cin >> anz;
    
    preis1 = anz * 100;
    preis2 = anz * 100 * 0.95;
    preis3 = anz * 100 * 0.9;
    preis4 = anz * 100 * 0.85;
    
    {
    if      (anz >= 0 and anz <= 9) rabattstufe = 1;
    else if (anz >= 10 and anz <= 50) rabattstufe = 2;
    else if (anz >= 51 and anz <= 99) rabattstufe = 3;
    else if (anz >=100 and anz <= 9999999999) rabattstufe = 4;
    
    switch (rabattstufe)
    {
        case 1 : cout << preis1 ; break;
        case 2 : cout << preis2 ; break;
        case 3 : cout << preis3 ; break;
        case 4 : cout << preis4 ; break;
    }
    }
    return 0;
    }
    

    Ich weiß es ist bisschen spät.. aber ich bin gerade auf dieses Forum gestoßen und bin totaler noob was programmieren betrifft. daher meine Frage falls dieses Forum noch aktiv ist.
    Kann man das so lösen oder ist dies nicht gewünscht?


  • Mod

    Hi, es spricht zwar allgemein nicht direkt etwas dagegen, Fragen zu alten Threads zu stellen, aber dein Beitrag hier ist schon etwas komisch:
    -Es ist eine Antwort zu einer uralten Frage, die schon längst beantwortet ist
    -An der Antwort sind mehrere Dinge falsch:
    --Es ist C++.
    --Es löst die Aufgabe nicht wirklich gut, sondern versucht bloß die Klausel "benutzen sie die switch-Anweisung" rein formell zu erfüllen. Genausogut hättest du auch alles in der if-Kaskade machen können (was eine vernünftige Lösung der Aufgabe, aber ohne switch, wäre) und am Ende ein leeres switch. Dann hättest du auch eine switch-Anweisung benutzt.
    --Geld und Fließkommazahlen geht gar nicht. Das macht man nicht als Lösungsvorschlag vor.


Anmelden zum Antworten