Schleifendurchlauf



  • hi, hab mal ne Frage zu dam Sourcecode:

    #include <iostream>
    #include <string>
    using namespace std;
    
    int main(){
    	int anzahl;    // Für Menge der Durchläufe
    	char jnvar;    // Für Wiederholung j/n
    	int wdh;       // Für Wiederholung
    	string pw;     // Passwort
    	cout<<"*************************************"<<endl;
    	cout<<"         Passwort eingeben:          "<<endl;
    	cout<<"*************************************"<<endl;
    	cin>>pw;
    	if(pw=="test"){
    		do{
    		cout<<"Wie viele Durchläufe?"<<endl;
    		cin>>anzahl;       // Wie kann man verhindern, dass
                                       // ein Buchstabe oder eine Dezimalzahl
                                       // eingegeben wird?
    		for(int i=0; i<anzahl; i++){
    		cout<<i+1<<". Schleifendurchlauf"<<endl;
    		}
    		cout<<"Soll die Schleife wiederholt werden? (J/N)"<<endl;
    		cin>>jnvar;
    		switch(jnvar){
    		case 'j':
    			cout<<"Wiederholung..."<<endl;
    			wdh = 1;
    			break;
    		case 'n':
    			cout<<"Ende..."<<endl;
    			wdh = 0;
    			break;
    		default:
    			cerr<<"Falsche eingabe!"<<endl;
    			wdh = 0;
    			break;
    		}
    	}while(wdh == 1);
    	}
    	else {
    		cerr<<"Das Passwort "<<pw<<" war leider Falsch!"<<endl;
    
                           // Wie komme ich beim falschen Passwort
                           // wieder zurück zu der Passworteingabe?
    	}
    	system("PAUSE");
    	return 0;
    }
    


  • do {
        std::cout << "Passwort: " << std::flush;
    }while (std::cin >> pw && pw != "test" && std::cout << "Falsch!" << std::endl);
    

    sollte gehen 😛


Anmelden zum Antworten