While schleife problem...



  • Also ich will ein kleines Passwortabfrageprogramm programmieren hab jedoch ein problem mit der while schleife. wenn ich das programm öffne, startet zwar die while schleife allerdings wird der rest des programms nicht ausgeführt.

    #include <iostream>
    #include <windows.h>
    #include <winable.h>
    
    using namespace std;
    
    int main(void)
    {
    
       int wdh=0;
       string zeile;
    
       while(wdh<=1)
       {
       SetCursorPos(700,500);
       }
    
       cout<<"Passwort eingeben: \n";
       cout<<"Bei falschem Passwort wird das Betriebssystem blockiert\n";
    
       if (getline(cin, zeile)) 
       {
    
       if(zeile=="passwort")
       {
            wdh=5;      
       }
       }
       else
       {
           BlockInput(1);
       }
    
    system("PAUSE");
    return 0; 
    }
    

    Bitte um hilfe danke schonmal



  • Man Alda, schau dir mal die Klammerung an. Musst du besser einrücken, dann siehst du voll den krassen Bug.



  • ich erkenne nix... hab das eingerückt und sehe trotzdem nix...

    #include <iostream>
    #include <windows.h>
    #include <winable.h>
    
    using namespace std;
    
    int main(void)
    {
    
       int wdh=0;
       string zeile;
    
       while(wdh<=1)
       {
                     SetCursorPos(700,500);
       }
    
       cout<<"Passwort eingeben: \n";
       cout<<"Bei falschem Passwort wird das Betriebssystem blockiert\n";
    
       {
                if (getline(cin, zeile)) 
                {
    
                        if(zeile=="passwort")
                        {
                             wdh=5;      
                        }
                 }
    
       else
       {
           BlockInput(1);
       }
    }
    
    system("PAUSE");
    return 0; 
    }
    

    😕



  • wenn ich mich nicht irre müsste es etwa so ausschauen

    #include <iostream>
    #include <windows.h>
    #include <winable.h>
    
    using namespace std;
    
    int main(void)
    {
    
       int wdh=0;
       string zeile;
    
       while(wdh<=1)
       {
                     SetCursorPos(700,500);         
    
       cout<<"Passwort eingeben: \n";
       cout<<"Bei falschem Passwort wird das Betriebssystem blockiert\n";
    
                   if (getline(cin, zeile))
                {
    
                        if(zeile=="passwort")
                        {
                             wdh=5;      
                        }
                 }
    
       else
       {
           BlockInput(1);
       }
    
    system("PAUSE");
    return 0;
    }
    }
    

    Edit: hatte einen Fehler gemacht^^



  • so funktioniert aber nicht, dass die maus ganze zeit auf einer stelle bleibt...



  • Erstemal machen schene, gelle?

    #include <windows.h>
    #include <iostream>
    #include <string>
    using namespace std;
    
    int main()
    {
    	int wdh = 0;
    	string zeile;
    
    	while(wdh <= 1)
    	{
    		SetCursorPos(700, 500);
    
    		cout << "Passwort eingeben: \n";
    		cout << "Bei falschem Passwort wird das Betriebssystem blockiert\n";
    
    		if(std::getline(cin, zeile))
    		{
    			if(zeile == "passwort")
    				wdh = 5;
    			else
    				Beep(1000, 100);
    		}
    	}
    
    	cin.get();
    }
    


  • es klappt immernoch nicht, dass man mit der maus nix machen kann... sonst kann man ja einfach das fenster wegklicken... der rest is schon gut...



  • oOSteveOo schrieb:

    es klappt immernoch nicht, dass man mit der maus nix machen kann... sonst kann man ja einfach das fenster wegklicken... der rest is schon gut...

    Dann schießt mans halt mit dem Taskmanager ab.



  • oOSteveOo schrieb:

    es klappt immernoch nicht, dass man mit der maus nix machen kann... sonst kann man ja einfach das fenster wegklicken... der rest is schon gut...

    das geht mit

    delete std::mouse;
    

    am anfang der main()



  • volkard schrieb:

    ...

    delete std::mouse;
    

    ...

    Ob er es wohl wirklich ausprobiert hat ? 😃


Anmelden zum Antworten