Hallo Leute,
ich brauche mal eure Hilfe. Ich muss ein Lottospiel programmieren und bin gerade dran, die Zahlen "anzukreuzen".
Mein Problem ist, wenn er Buchstaben oder Zeichen entgegennimmt, dass er in eine Endlosschelife mit der Fehlermeldung am ende vom Block springt. Mit Zahlen klappt alles.
Ich will jedoch, dass nur Zahlen verarbeitet werden und nichts anderes.
Wahrscheinlich liegt es daran, dass die übergebene Zahl an der jeweiligen Stelle das Array auf "true" setzt. Mit einem Buchstaben kann das Array nichts anfangen, richtig? Wie umgehe ich das Problem?
Die Sache mit dem bool für Zahlen muss erhalten bleiben. Das ist leider vorgegeben vom Prof.
btw
gegebenzahlen=6 und eine Konstante.
---------- Post added at 20:26 ---------- Previous post was at 20:18 ----------
Habe es schon selbst im Netz gefunden.
Jetzt klappt es. Es werden nur Zahlen angenommen ansonsten kommt eine Fehlermeldung.
Der "neue" Code falls es jemanden interessiert.
ich brauche mal eure Hilfe. Ich muss ein Lottospiel programmieren und bin gerade dran, die Zahlen "anzukreuzen".
Mein Problem ist, wenn er Buchstaben oder Zeichen entgegennimmt, dass er in eine Endlosschelife mit der Fehlermeldung am ende vom Block springt. Mit Zahlen klappt alles.
Ich will jedoch, dass nur Zahlen verarbeitet werden und nichts anderes.
Wahrscheinlich liegt es daran, dass die übergebene Zahl an der jeweiligen Stelle das Array auf "true" setzt. Mit einem Buchstaben kann das Array nichts anfangen, richtig? Wie umgehe ich das Problem?
Die Sache mit dem bool für Zahlen muss erhalten bleiben. Das ist leider vorgegeben vom Prof.
btw
gegebenzahlen=6 und eine Konstante.
Code:
// 6 zahlen ausw?hlen zwischen 1-49.
void Tippzettel::setzen()
{
int z;
cout<<"Geben sie "<< gegebenezahlen <<" Zahlen zwischen 1-49 ein."<<endl;
int counter=0;
while(counter<gegebenezahlen){
cin>>z;
if(z<auswahlzahlen && z>0 && zahl[z]==0 )
{
zahl[z]=true;
counter++;
}else
cout<<endl<<"Zahl ausserhalb vom Bereich oder wurde schon eingegeben. Bitte eine neue Zahl ankreuzen "<<endl;
}
---------- Post added at 20:26 ---------- Previous post was at 20:18 ----------
Habe es schon selbst im Netz gefunden.
Jetzt klappt es. Es werden nur Zahlen angenommen ansonsten kommt eine Fehlermeldung.
Der "neue" Code falls es jemanden interessiert.
Code:
cin>>z;
//Try and Catch damit nur Zahlen kommen
if (!cin.good()) {
cin.clear(); //clear the error flags
cin.sync(); //flush the input buffer
}