muca89 Geschrieben 10. Dezember 2006 Geschrieben 10. Dezember 2006 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; } Zitieren
robotto7831a Geschrieben 10. Dezember 2006 Geschrieben 10. Dezember 2006 Hallo, dafür brauchst Du noch einen Zähler. Und eine weitere Schleife um deine while Schleife drum herum. Frank Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 Hej Danke wenn ich mal wüsste wo ich es herbekomme:D Zitieren
robotto7831a Geschrieben 10. Dezember 2006 Geschrieben 10. Dezember 2006 :confused: Wie wo man den herbekommt? Frank Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 :confused: Wie wo man den herbekommt? Frank ja wir haben noch mit zählern nicth gearbeitet. Ich kenn es also nicht Zitieren
robotto7831a Geschrieben 10. Dezember 2006 Geschrieben 10. Dezember 2006 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 Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 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 } } Zitieren
robotto7831a Geschrieben 10. Dezember 2006 Geschrieben 10. Dezember 2006 Dafür brauchst Du doch nur nach der Zeile cout <<"\n\n\t Zugang nicht erlaubt!" << endl << endl; eine weitere Ausgabe machen. Frank Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 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>"; } Zitieren
robotto7831a Geschrieben 10. Dezember 2006 Geschrieben 10. Dezember 2006 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 Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 das geht leider net. wenn ich es so mache wie du kann ich es so oft eingeben wie ich es will Zitieren
robotto7831a Geschrieben 10. Dezember 2006 Geschrieben 10. Dezember 2006 Hast Recht. Die Zeile muss lauten: for (int i=3; i>=1;i--) Frank Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 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? Zitieren
Klotzkopp Geschrieben 10. Dezember 2006 Geschrieben 10. Dezember 2006 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? Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 ich finde es schon kalsse das ihr mir überhaupt hilft Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 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 Zitieren
Klotzkopp Geschrieben 10. Dezember 2006 Geschrieben 10. Dezember 2006 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 monatenIch 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. Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 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 Zitieren
robotto7831a Geschrieben 10. Dezember 2006 Geschrieben 10. Dezember 2006 Du fragst ja auch nur einmal. if(pw=="Entropie 48" & bn=="Chef") [/code] Da fehlt noch ein & und bei deinem jetzigen Code kann nur falsch raus kommen. Frank Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 ja wie wär es denn richtig:confused: also was ist dran falsch? Zitieren
robotto7831a Geschrieben 10. Dezember 2006 Geschrieben 10. Dezember 2006 if(pw=="Entropie 48" && bn=="Chef") [/code] Frank Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 danke hatte es schon so versucht aber ich brauch auch benutzernamen abfrage muss es also irgendwie eingeben könne. mit dem code da oben geht es net Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 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 Zitieren
Klotzkopp Geschrieben 10. Dezember 2006 Geschrieben 10. Dezember 2006 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. Zitieren
muca89 Geschrieben 10. Dezember 2006 Autor Geschrieben 10. Dezember 2006 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!"; } } Zitieren
Empfohlene Beiträge
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.