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...