Zum Inhalt springen

Passwort abfrage! max 3 versuche


Empfohlene Beiträge

Geschrieben

Hallo Liebe Informatiker

Habe wieder eine neue Aufgabe wo ich an einer Stelle nicht weiter komme. Ich habe das Programm geschrieben da muss aber noch was eingefügt werden damit wenn ich Passwort falsch eingebe dort steht das ich noch 2 Versuche habe und wenn ich wieder falsch ein gebe noch 1 Versuch und beim 3. mal wenn ich Falsch eingege das das Programm abgebrochen wird. Dazu brauche ich eure Hilfe.

#include <iostream>

#include <string>

#include <conio.h>


using namespace std;


void main()


{




string pw="";

char zeichen;


cout <<"\n\n\t Geben Sie Ihr Passwort ein! <max 3 Versuche>";


while(true)

{


zeichen=getch();


if(zeichen!=13)

{

pw = pw + zeichen;

cout<<"*";


}

else break;


}


if(pw=="Entropie 48")

cout<<"\n\n\t Zugang erlaubt!" << endl << endl;


else


cout <<"\n\n\t Zugang nicht erlaubt!" << endl << endl;


}


Geschrieben


bool alles_ok = false;

for (int i=1; i<=3;i++)
{
while(true)
{
....
}

if(pw=="Entropie 48")
{
cout<<"\n\n\t Zugang erlaubt!" << endl << endl;
alles_ok = true;
break;
}
else
cout <<"\n\n\t Zugang nicht erlaubt!" << endl << endl;

}

if (alles_ok ==false)
{
//Programm beenden
}
[/code]

Frank

Geschrieben

Hej so klappt es aber wenn ich das Passwort falsch eingebe steht das ich ncith reinkommen kann dann kann ich nochmal passwort eingegen. Ist es möglich wenn ich falsch eingebe das da steht bitte versuchen sie es nochmal?

#include <iostream>

#include <string>

#include <conio.h>


using namespace std;


void main()


{





     string pw="";

	 char zeichen;


	 cout <<"\n\n\t Geben Sie Ihr Passwort ein! <max 3 Versuche>";


		bool alles_ok = false;


		for (int i=1; i<=3;i++)

{

		while(true)

		{


		zeichen=getch();


		if(zeichen!=13)

		{

		pw = pw + zeichen;

		cout<<"*";


		}

		else break;


	}


	if(pw=="Entropie 48")

	{

		cout<<"\n\n\t Zugang erlaubt!" << endl << endl;

		alles_ok = true;

		break;

	}

	else

		cout <<"\n\n\t Zugang nicht erlaubt!" << endl << endl;	


}


if (alles_ok ==false)

{

	//Programm beenden

}

}

Geschrieben

Hi

habe es jetzt so gemacht das wenn ich einmal falsch eingebe steht dort dann sie haben noch 2 versuche und wenn ich nochmal falsch eingebe steht dort sie haben noch 2 versuche wieder. Wie kann ich es machen das dort dann steht sie haben noch 1 Versuch? Und wenn ich 3 mal falsch eingebe kommt weder die aufforderung geben sie ihr passwort ein obwohl es nach dem 3.mal ncth kommen soll. Habe ein Bild dazu gemacht

#include <iostream>

#include <string>

#include <conio.h>


using namespace std;


void main()


{





     string pw="";

	 char zeichen;


	 cout <<"\n\n\t Geben Sie Ihr Passwort ein! <max 3 Versuche>";




		for (int i=1; i<=3;i++)

{


			while(true)

		{


		zeichen=getch();


		if(zeichen!=13)

		{

		pw = pw + zeichen;

		cout<<"*";


		}

		else break;


	}


	if(pw=="Entropie 48")

	{

		cout<<"\n\n\t Zugang erlaubt!" << endl << endl;

		break;

	}


		else

		cout <<"\n\n\t Zugang nicht erlaubt!" << endl << endl;	


		cout <<"\n\n\t Geben Sie Ihr Passwort ein! <noch 2 Versuche>";



	}



post-36364-14430447482512_thumb.jpg

Geschrieben

Ungefähr so.


string pw="";
char zeichen;

cout <<"\n\n\t Geben Sie Ihr Passwort ein! <max 3 Versuche>";

for (int i=3; i>=1;i++)
{
while(true)
{
zeichen=getch();

if(zeichen!=13)
{
pw = pw + zeichen;
cout<<"*";
}
else
break;
}

if(pw=="Entropie 48")
{
cout<<"\n\n\t Zugang erlaubt!" << endl << endl;
break;
}
else
{
cout <<"\n\n\t Zugang nicht erlaubt!" << endl << endl;

cout <<"\n\n\t Geben Sie Ihr Passwort ein! <noch << i << Versuche>";
}

}
[/code]

Frank

Geschrieben

und hier ist auch ein fehler drinne

cout <<"\n\n\t Geben Sie Ihr Passwort ein! <noch << i << Versuche>";

Und Ich habe eben vom freund erfahren das ich es mit Benutzername machen sollte. Benutzername ist Chef

wie kann ich das einbinden?

Geschrieben
und hier ist auch ein fehler drinne

cout <<"\n\n\t Geben Sie Ihr Passwort ein! <noch << i << Versuche>";

Ja, da fehlen ein paar Anführungszeichen.

Und Ich habe eben vom freund erfahren das ich es mit Benutzername machen sollte. Benutzername ist Chef

wie kann ich das einbinden?

Genauso wie das Passwort, mit einem weiteren String. Willst du dir alles vorsagen lassen? ;)
Geschrieben
Ja, da fehlen ein paar Anführungszeichen.

Genauso wie das Passwort, mit einem weiteren String. Willst du dir alles vorsagen lassen? ;)

Wo genau fehlen die Anführungszeichen? Und habe es mit 2. string versucht klappt aber net mache irgendwie fehler. Hmmm

Muss noch gewaltig dran arbeiten. Und nicht denken das ich es jahrelang mache. mache es erst seit 4 monaten

Geschrieben
Wo genau fehlen die Anführungszeichen? Und habe es mit 2. string versucht klappt aber net mache irgendwie fehler. Hmmm
"mache irgendwie fehler" ist keine ausreichende Fehlerbeschreibung. Zeig, was du gemacht hast, erklär, was du dir dabei gedacht hast (wichtig!) und zitiere genau, was der Compiler daran auszusetzen hatte.

Muss noch gewaltig dran arbeiten. Und nicht denken das ich es jahrelang mache. mache es erst seit 4 monaten
Ich habe irgendwie das Gefühl, dass du den Code nicht wirklich verstehst. Liege ich da richtig? Falls ja, bringt es dir praktisch nichts, wenn wir dir fertigen Code vorsetzen, der Lerneffekt geht da gegen Null.
Geschrieben

doch ich verstehe es schon;)

Also zum Fehler. Habe es so gemacht

#include <iostream>

#include <string>

#include <conio.h>


using namespace std;


void main()


{




	 string bn="";

     string pw="";


	 char zeichen;



	 cout <<"\n\n\t Geben Sie Ihren Benutzernamen ein!";	

	 cout <<"\n\n\t Geben Sie Ihr Passwort ein! <max 3 Versuche>";




		for (int i=3; i>=1;i--)

{


			while(true)

		{


		zeichen=getch();


		if(zeichen!=13)

		{

		pw = pw + zeichen;

		cout<<"*";


		}

		else break;


		}



		if(pw=="Entropie 48" & bn=="Chef")

		{

		cout<<"\n\n\t Zugang erlaubt!" << endl << endl;

		break;

		}


		else

		cout <<"\n\n\t Zugang nicht erlaubt! Passwort Falsch" << endl << endl;	


		cout <<"\n\n\t Geben Sie Ihr Passwort erneut ein!";



	}

So läuft das Programm aber ich kann oben nur passwort eingeben und auch wenn ich es richtig eingebe sthet das ich es falsch eingegeben habe

Geschrieben

So Habs jetzt einigeßen hinbekommen

//Passwortabfrage 

//(C) by M.Cakir



#include <iostream>

#include <string>

#include <conio.h>


using namespace std;


void main()


{




	 string bn="";

     string pw="";


	 char zeichen;



	 cout <<"\n\n\t Geben Sie Ihren Benutzernamen ein!";


		while(true)

		{


		zeichen=getch();


		if(zeichen!=13)

		{

		bn = bn + zeichen;

		cout<<"*";


		}

		else break;


		}



		if(bn=="Chef")


		{

		cout<<"\n\n\t Ihr Benutzername ist richtig!" << endl << endl;



		}


		else

		cout <<"\n\n\t Zugang nicht erlaubt! Benutzername Falsch" << endl << endl;	





		cout <<"\n\n\t Geben Sie Ihr Passwort ein! <max 3 Versuche>";





		for (int i=3; i>=1;i--)

{


			while(true)

		{


		zeichen=getch();


		if(zeichen!=13)

		{

		pw = pw + zeichen;

		cout<<"*";


		}

		else break;


		}



		if(pw=="Entropie 48" && bn=="Chef")


		{

		cout<<"\n\n\t Zugang erlaubt!" << endl << endl;

		break;

		}


		else

		cout <<"\n\n\t Zugang nicht erlaubt! Passwort Falsch" << endl << endl;	


		cout <<"\n\n\t Geben Sie Ihr Passwort erneut ein!";



	}





}

Aber Leider wenn ich Benutzername richtig eingebe und Passwort falsch steht dort da sich das PW neu eingeben soll und wenn ich es dann richtig eingebe steht da trotzdem das es falsch ist

Geschrieben

Bring doch mal deine Einrückung in Ordnung, denn die ist offen gesagt gräßlich. Ich kann da kaum erkennen, was wohin gehört.

Das Problem ist übrigens, dass in pw noch das alte, falsche Passwort drinsteht. Das solltest du vor dem zweiten Versuch schon löschen.

Geschrieben

So oder was?

//Passwortabfrage 

//(C) by M.Cakir


#include <iostream>

#include <string>

#include <conio.h>


using namespace std;


void main()


{

	    string bn="";

            string pw="";


	    char zeichen;


	    cout <<"\n\n\t Geben Sie Ihren Benutzernamen ein!";


		while(true)

		{


		zeichen=getch();


		if(zeichen!=13)

		{

		bn = bn + zeichen;

		cout<<"*";


		}

		else break;

		}

		if(bn=="Chef")


		{

		cout<<"\n\n\t Ihr Benutzername ist richtig!" << endl << endl;


		}


		else

		cout <<"\n\n\t Zugang nicht erlaubt! Benutzername Falsch" << endl << endl;	


		cout <<"\n\n\t Geben Sie Ihr Passwort ein! <max 3 Versuche>";


		for (int i=3; i>=1;i--)

		{

		while(true)

		{

		zeichen=getch();


		if(zeichen!=13)

		{

		pw = pw + zeichen;

		cout<<"*";


	     }

		else break;

	    }

		if(pw=="Entropie 48")


	    {

		cout<<"\n\n\t Zugang erlaubt!" << endl << endl;

		break;

	    }


		else

		cout <<"\n\n\t Zugang nicht erlaubt! Passwort Falsch" << endl << endl;	


		cout <<"\n\n\t Geben Sie Ihr Passwort erneut ein!";



	}


}

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...