lotto



  • Ich hab ein Programm geschrieben was einem Lotto spiel nachamen soll.

    Aber ich möchte gerne während der Eingabe der Zahlen, dass wenn jemand eine Zahl über 49 eintippt eine fehlermeldung kommt, wie mache ich das?

    #include <iostream>
    #include <stdlib.h>
    #include <time.h>
    #include <windows.h>
    
    using namespace std;
    
    int main (){
    
    	int lotto [6];
    	int i, j;
    	bool neueZahl;
    	int tipp1, tipp2, tipp3, tipp4, tipp5, tipp6;
    	int superzahl;
    
    	cout << "Geben Sie ihren Tipp ein: " << endl;
    	Sleep(2000);
    	system ("cls");
    
    	cout << "1. ";
    	cin >> tipp1;
    	system ("cls");
    
    	cout << "2. ";
    	cin >> tipp2;
    	system("cls");
    
    	cout << "3. ";
    	cin >> tipp3;
    	system ("cls");
    
    	cout << "4. ";
    	cin >> tipp4;
    	system ("cls");
    
    	cout << "5. ";
    	cin >> tipp5;
    	system ("cls");
    
    	cout << "6. ";
    	cin >> tipp6;
    	system ("cls");
    
    	cout << "Die Superzahl: ";
    	cin >> superzahl;
    	system ("cls");
    
    	srand( (unsigned)time( NULL ));
    	superzahl = rand () % 9 +1;
    
    	srand( (unsigned)time( NULL ) );
    	for ( i=0; i<6; i++ ){
    
    		do{
    			lotto [i] = rand() % 49+1;
    			neueZahl =true;
    			for ( j=0; j<i; j++ ){
    
    				if ( lotto[j] == lotto [i] ){
    
    					neueZahl = false;
    				}
    			}
    		} while (!neueZahl);
    	}
    
    	if (tipp1 == lotto[0] && tipp2 == lotto[1] && tipp3 == lotto[2] && tipp4 == lotto[3] && tipp4 == lotto[4] && tipp5 == lotto[5] && tipp6 == lotto[6]){
    
    	cout << "HERZLICHEN GLUEKWUNSCH DU HAST 1.000.000 EURO GEWONNEN!!!!!";
    
    	}
    	else {
    		"LEIDER VERLOREN";
    		cout << "\a\a\a\a\a\a\a\a";
    	}
    
    	cout << "1. " << lotto [0] << endl 
    		 << "2. " << lotto [1] << endl
    		 << "3. " << lotto [2] << endl
    		 << "4. " << lotto [3] << endl
    		 << "5. " << lotto [4] << endl
    		 << "6. " << lotto [5] << endl
    		 << "Superzahl: " << superzahl;
    
    cin.get();
    return 0;
    }
    

    DANKE für die Antworten



  • Nach dem Einlesen (entweder unmittelbar danach oder vor der Ziehung) musst du die Tipps überprüfen.

    Bsp.

    if (tipp1 < 1 || tipp1 > 49)
    {
      // Fehlermeldung ausgeben
    }
    

    Da dieser Codeteil für jeden Tipp vorkommt, lohnt es sich diesen in eine Funktion auszulagern.



  • hmm ich weis nicht ganz wo ich das einbauen soll die fehler meldung soll ja direkt unmitelbar nachdem er auf enter gedrückt hat kommen.

    #include <iostream>
    #include <stdlib.h>
    #include <time.h>
    #include <windows.h>
    
    using namespace std;
    
    int main (){
    
    	int lotto [6];
    	int i, j;
    	bool neueZahl;
    	int tipp1, tipp2, tipp3, tipp4, tipp5, tipp6;
    	int superzahl;
    
    	cout << "Geben Sie ihren Tipp ein: " << endl;
    	Sleep(2000);
    	system ("cls");
    
    if (tipp1, tipp2, tipp3, tipp4, tipp5, tipp6 < 1 || tipp1, tipp2, tipp3, tipp4, tipp5, tipp6 > 49){
    
    	cout << "1. ";
    	cin >> tipp1;
    	system ("cls");
    
    	cout << "2. ";
    	cin >> tipp2;
    	system("cls");
    
    	cout << "3. ";
    	cin >> tipp3;
    	system ("cls");
    
    	cout << "4. ";
    	cin >> tipp4;
    	system ("cls");
    
    	cout << "5. ";
    	cin >> tipp5;
    	system ("cls");
    
    	cout << "6. ";
    	cin >> tipp6;
    	system ("cls");
    
    	cout << "Die Superzahl: ";
    	cin >> superzahl;
    	system ("cls");
    
    	cout << "Du kannst nur zahlen von 1-49 auswealen";
    }
    	srand( (unsigned)time( NULL ));
    	superzahl = rand () % 9 +1;
    
    	srand( (unsigned)time( NULL ) );
    	for ( i=0; i<6; i++ ){
    
    		do{
    			lotto [i] = rand() % 49+1;
    			neueZahl =true;
    			for ( j=0; j<i; j++ ){
    
    				if ( lotto[j] == lotto [i] ){
    
    					neueZahl = false;
    				}
    			}
    		} while (!neueZahl);
    	}
    
    	if (tipp1 == lotto[0] && tipp2 == lotto[1] && tipp3 == lotto[2] && tipp4 == lotto[3] && tipp4 == lotto[4] && tipp5 == lotto[5] && tipp6 == lotto[6]){
    
    	cout << "HERZLICHEN GLUEKWUNSCH DU HAST 1.000.000 EURO GEWONNEN!!!!!";
    
    	}
    	else {
    		"LEIDER VERLOREN";
    		cout << "\a\a\a\a\a\a\a\a";
    	}
    
    	cout << "1. " << lotto [0] << endl 
    		 << "2. " << lotto [1] << endl
    		 << "3. " << lotto [2] << endl
    		 << "4. " << lotto [3] << endl
    		 << "5. " << lotto [4] << endl
    		 << "6. " << lotto [5] << endl
    		 << "Superzahl: " << superzahl;
    
    cin.get();
    return 0;
    }
    


  • Überleg dir doch mal, an welcher Stelle deines Programmes du überhaupt wissen kannst, welchen Wert der user jeweils eingeben hat.



  • Ich komme nicht drauf. 😞 😞



  • Du solltest mit dem Programmieren lernen ganz vorne und ganz klein und mit einem Buch beginnen, und nicht mit irgendwelchen aus dem INet zusammengeklaubten Codeschnipseln, die Du nicht verstehst.



  • Ich lese gerade das Buch Einstieg in C++ von Arnold Willemer und ich war beim Thema Arrays.

    Ich wollte dann nur weil ich am Ende des Themas bin ein Programm schreiben das etwas komplexar wo Arrays ein thema ist.

    Vllt. komme ich grad nicht drauf da ich momentan nciht klar denken kann war gestern lange aus und habe kaum geschlafen vllt. ist es nicht die beste Vorraussetzung um zu Programmieren^^ 🤡 🤡



  • bitte keine antworten auf meine obengenannte fragen schicken ich leg mich hin und dann löse ich das alleine



  • Kenne das Buch nicht, aber fang erstmal von neumen an zu Lesen. Nachdem du eine Runde geschlafen hast.

    Wirklich, fang von vorne an und fang auch von vorne an, nebenbei die einzelnen Code-Beispiele umzusetzten.
    Und zwar jeden Kram, egal wie simpel er aussieht, einfach mal eintippen und nachvollziehen. Paar Werte ändern und schauen was passiert.

    Und was meine Frage betraf: Mal im Ernst, wenn dein Leher dich nach deinem Namen fragt, meinst du er kann bevor du überhaupt geantwortet hast entscheiden, ob ihm dein Name gefällt?



  • Ich war gestern "benebelt" und ubermudet, am liebsten wurde ich den Beitrag entfernen.



  • Sgaf schrieb:

    Ich war gestern "benebelt" und ubermudet, am liebsten wurde ich den Beitrag entfernen.

    PS: Ich hab es geschafft^^


Anmelden zum Antworten