Programm-Erklärung(Switch+While)



  • Hallo!

    Kann mir wer bitte diese Programm erklären was die While-Schleife hier macht und das mit dem Switch Case, ansonsten kenn ich alle Begriffe die sich in diesem Programm befinden.
    Wenn irgendwas Falsch wäre dann bitte verbessern bzw. melden.

    LG C_Boy

    Hier das Programm:

    #include <stdio.h>

    int main ()
    {
    int x;
    int y;
    int k; //kartenpreis
    int m; //kertenmenge
    int z;
    int p; //preis

    z = 0;

    while(z!=1)
    {
    printf("druecken sie die 1 um den kartkenpreis aus zu waehlen\n");
    printf("druecken sie die 2 um di kartenanzahl aus zu waehlen\n");
    printf("druecken sie die 3 um das programm zu beenden\n");
    scanf("%d",&x);
    switch (x)
    {
    case 1:
    printf("weahlen sie den preis der karten aus(10,20,30)\n\n");
    scanf("%d",&y);

    switch 👍
    {
    case 1:
    printf("kartenpreis ist 10 euro\n");
    k = 10;
    break;
    case 2:
    printf("kartenpreis ist 20 euro\n");
    k = 20;
    break;

    case 3:
    printf("kartenpreis ist 30 euro\n");
    k = 30;
    break;

    default:
    printf("sie haben keine zahl zwischen 1 und 3 ausgewählt\n");
    }
    break;

    case 2:
    printf("geben sie die menge der karten ein\n");
    scanf("%d",&m);
    break;

    case 3:
    printf("Sie haben das Programm beendet\n");
    z=1;
    break;

    case 4:
    printf("sie haben keine zahl zischen 1 und 3 ausgewählt\n");
    break;
    }
    printf("Um den Preis oder die Personen zu ändern gebne Sie 0 ein.");
    scanf("%d",&z);
    }

    p = k * m;
    printf("der preis liegt derzeit bei %d euro\n\n",p);
    }


  • Mod

    😕
    Die machen nichts anderes als sonst auch, was verstehst du denn daran nicht? Hier ist keinerlei Trickserei im Spiel.

    P.S.: Und iher ist das C++-Forum, das C-Forum ist hier:
    http://www.c-plusplus.net/forum/viewforum-var-f-is-10.html



  • huhu,

    #include <iostream>
    using namespace std;
    
    int main ()
    {
        /*
            Du solltest die Variablen initialisieren, statt sie zu definieren.
        */
        int x;
        int y;
        int k; //kartenpreis
        int m; //kertenmenge
        int z = 0;
        int p; //preis
    
        /*
            Solange z ungleich 1 ist, ...
        */
        while(z!=1)
        {
            // ... tue folgendes
            cout << "druecken sie die 1 um den kartkenpreis aus zu waehlen\n";
            cout << "druecken sie die 2 um di kartenanzahl aus zu waehlen\n";
            cout << "druecken sie die 3 um das programm zu beenden\n";
    
            /*
                Es wird auf eine Eingabe gewartet.
                Wenn du z.B. 1 eingibst, ...
            */
            cin >> x;
            switch(x) // Fallunterscheidung
            {
                case 1:
                    /*
                        ... dann kommst du hier her.
                    */
                    cout << "weahlen sie den preis der karten aus(10,20,30)\n\n";
    
                    /*
                        Das Selbe wie oben.
                    */
                    cin >> y;
                    switch (y)
                    {
                        case 1:
                            cout << "kartenpreis ist 10 euro\n";
                            k = 10;
                            break;
                        case 2:
                            cout << "kartenpreis ist 20 euro\n";
                            k = 20;
                            break;
                        case 3:
                            cout << "kartenpreis ist 30 euro\n";
                            k = 30;
                            break;
                        default:
                            cout << "sie haben keine zahl zwischen 1 und 3 ausgewählt\n";
                    }
                    break;
    
                case 2:
                    cout << "geben sie die menge der karten ein\n";
                    break;
    
                case 3:
                    cout << "Sie haben das Programm beendet\n";
                    z=1;
                    break;
    
                case 4:
                    cout << "sie haben keine zahl zischen 1 und 3 ausgewählt\n";
                    break;
            }
    
            cout << "Um den Preis oder die Personen zu ändern gebne Sie 0 ein.";
        }
    
        p = k * m;
        cout << "der preis liegt derzeit bei euro" << p;
    
        /*
            Das Programm solltest du hier noch anhalten, damit du auch was siehst.
        */
        return 0;
    }
    

    PS: scanf und printf haben nichts mit C++ zu tun... das ist C ⚠



  • Oh mist, da hab ich mich wohl vertan das gehört ins C-Forum stimmt :D.
    War die Eklärung auch für C richtig oder nur für C++?


  • Mod

    C_Boy schrieb:

    War die Eklärung auch für C richtig oder nur für C++?

    Für switch und while: Ja. Kontrollstrukturen sind in beiden Sprachen gleich.


Log in to reply