| Autor |
Nachricht |
neuling?!!
Mitglied
Benutzerprofil
Anmeldungsdatum: 07.06.2012
Beiträge: 2
|
neuling?!! Mitglied
11:12:11 07.06.2012 Titel: |
getch - Funktion. |
Zitieren |
Hallo,
ich bin absoluter Neuling!
Probiere es gerade ein Programm (mit einer Passwortabfrage) zu schreiben.
Funktioniert zwar soweit, aber ich möchte das man nur eine Taste drücken muss, ohne Enter zu drücken (mit der Funktion getch)
Was mache ich falsch?
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;
int main()
{
string password = "h";
string input;
cout << "Passwort:" << endl;
getch();
cin >>input;
if(!password.compare(input))
{
cout << "Zugriff gewaehrt.\n";
}
else
{
cout << "Zugriff verweigert.\n";
getch();
}
system("Pause");
return 0;
}
Vielen Dank für die Hilfe im v******. |
|
|
|
 |
C++ Forumbot
Forumbot
Benutzerprofil
Anmeldungsdatum: 29.02.2004
Beiträge: 17164
|
C++ Forumbot Forumbot
11:14:23 07.06.2012 Titel: |
|
Zitieren |
|
 |
Unregistrierter
|
Unregistrierter
11:26:09 07.06.2012 Titel: |
|
Zitieren |
Du musst das, was du mit getch einließt, auch irgendwo abspeichern:
| C++: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <iostream>
#include <string>
#include <conio.h>
using namespace std;
int main()
{
string password = "h";
string input;
cout << "Passwort:" << endl;
for(char c; (c=getch())!='\n' && c!='\r'; input+=c);
if(!password.compare(input))
{
cout << "Zugriff gewaehrt.\n";
}
else
{
cout << "Zugriff verweigert.\n";
}
cin.get();
return 0;
} | | |
|
|
|
 |
neuling?!!
Mitglied
Benutzerprofil
Anmeldungsdatum: 07.06.2012
Beiträge: 2
|
neuling?!! Mitglied
11:38:03 07.06.2012 Titel: |
|
Zitieren |
Vielen Dank, das klappt !
Ist die getch Funktion nicht auch dafür da das kein Enter gedrückt werden muss?
Und geht die Funktion nicht einfacher?
for(char c; (c=getch())!='\n' && c!='\r'; input+=c);
Ich verstehe das garnicht :( |
Zuletzt bearbeitet von neuling?!! am 11:38:53 07.06.2012, insgesamt 1-mal bearbeitet |
|
 |
Unregistrierter
|
Unregistrierter
11:53:34 07.06.2012 Titel: |
|
Zitieren |
| neuling?!! schrieb: | | Ist die getch Funktion nicht auch dafür da das kein Enter gedrückt werden muss? | Bei getch musst du kein Enter drücken. Aber irgendwie musst du doch sagen, wann dein Passwort zu Ende ist. Und eine Passworteingabe bestätigst du doch normal mit Enter. Im Endeffekt kannst du doch einfach einen std::string einlesen.
| neuling?!! schrieb: | | Und geht die Funktion nicht einfacher? | Eine Funktion? Ich sehe hier keine Funktion. Was ich sehe, ist eine for-Schleife. Der for-Schleifenkopf besteht aus 3 Anweisungen:
1. Definition einer Variablen.
2. Abbruchbedingung
3. Irgendwas, was nach jedem Schleifendurchgang passieren soll.
Was verstehst du da jetzt nicht? |
|
|
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|