Lotto Programm



  • Hallo,

    Ich habe ein Lotto Programm Programm programmiert, was würdet ihr da noch verbessern oder ändern??

    #include <iostream>
    #include <cstdio>
    #include <conio.h>
    #include <ctime>
    using namespace std;
    
    class Lotto
    {
          private:
                  int ziehung[6];
                  int richtige;
                  int auswertung();
    
          public:
                 int zahlen[6];
                 int bearbeiten();
    };
    
    int Lotto::auswertung()
    {
        richtige = 0;     
        srand ((unsigned) time (NULL));
    
        for(int i = 0; i <= 5; i++)
        {
                ziehung[i] = (rand()%10);
    
                if(ziehung[i] == zahlen[i])
                {
                              richtige++;
                }
                else
                {
                }
        }
                cout << "\nZiehung ";
        for(int i = 0; i <= 5; i++)
                cout << ziehung[i] << " ";
    
                cout << "\nEingabe ";
        for(int i = 0; i <= 5; i++)
                cout << zahlen[i] << " ";
    
        cout << "\n\n**********************";
        cout << "\n* Du hast " << richtige << " richtige *";
        cout << "\n**********************";
        getch();
    }
    int Lotto::bearbeiten()
    {
        cout << "\n\n\tGebe deine sechs Zahlen ein, getrennt von einem Leerzeichen!!\n";
        cin >> zahlen[0] >> zahlen[1] >> zahlen[2] >> zahlen[3] >> zahlen[4] >> zahlen[5];
        Lotto::auswertung();
    }
    
    int main()
    {
        Lotto lotto;
        for(;;)
        lotto.bearbeiten();
    }
    

    bye Benny



  • #include <iostream>
    #include <cstdio>
    #include <conio.h>
    #include <ctime>
    using namespace std;
    
    class Lotto
    {
          private:
                  int ziehung[6];
                  int richtige;
                  void auswertung(); // kein-return wert, also void
    
          public:
                 int zahlen[6];
                 void bearbeiten(); // hier auch
    };
    
    void Lotto::auswertung()
    {
        richtige = 0;     
    // hier vielleicht "nRichtige" schreiben, um zu zeigen, dass eine menge gezählt wird   
    
        srand ((unsigned) time (NULL)); 
    
    // immer pre-inkrement op verwenden, da der compiler das bei 
    // komplexeren klassen nicht mehr optimieren kann
    
        cout << "\nZiehung ";
    
        for(int i = 0; i <= 5; ++i) 
        {
                ziehung[i] = (rand()%10);
                cout << ziehung[i] << " "; 
    // spart zeit, da keine zweite for-schleife gebraucht wird, der user merkt's nicht
    
                if(ziehung[i] == zahlen[i])
                              ++richtige;
    // solange nach if oder else nur eine anweisung folgt, 
    //könen die klammern weggelassen werden
                // brauchst nicht unbedingt else zu schreiben, wenn else nix zu tun hat
        }
        cout << "\nEingabe ";
        for(int i = 0; i <= 5; ++i)
                cout << zahlen[i] << " ";
    
        cout << "\n\n**********************";
        cout << "\n* Du hast " << richtige << " Richtige *";
        cout << "\n**********************";
        getch();
    }
    void Lotto::bearbeiten()
    {
        cout << "\n\n\tGebe deine sechs Zahlen ein, getrennt von einem Leerzeichen!!\n";
        cin >> zahlen[0] >> zahlen[1] >> zahlen[2] >> zahlen[3] >> zahlen[4] >> zahlen[5];
        Lotto::auswertung();
    }
    
    int main()
    {
        Lotto lotto;
    // abbruchoption für den otto-normal-user
        for(;;) // vllcht. "while(true)" nehmen, ist imo besser 
        lotto.bearbeiten();
    }
    

    mfg



  • ??Linux schrieb:

    Ich habe ein Lotto Programm Programm programmiert, was würdet ihr da noch verbessern oder ändern??

    am wichtigsten: es nicht in so eine Klasse packen.



  • std::random_shuffle verwenden und und der wesentlich programmteil ist maximal ein dreizeiler...


Anmelden zum Antworten