PasswortAbgrage Programm läuft nicht?ich komme nicht weiter...
-
@DirkB sagte in PasswortAbgrage Programm läuft nicht?ich komme nicht weiter...:
(oder ich habe das mangels vernünftiger Formatierung falsch überblickt)
Ich war mal so frei, ohne zu wissen, ob der TO sich das so gedacht hat.
//PasswortAbfrage erstellen: #include <iostream> #include <conio.h> #include <string.h> #include <windows.h> bool passwortAbfrage(string);//zeigt immer Fehlermeldung using namespace std; int main() { for (int i = 0; i <= 2; i++) {//max 3 Falsche Eingabe cout << "Passwort: "; if (passwortAbfrage("hallo Welt")) { cout << "\nPasswort akzeptiert "; break; } else { Beep(500, 50); Beep(500, 50); cout << "Falsches Passwort!"; } } cin.sync(); drückt cin.get(); return 0; } bool passwortAbfrage(string richtigesPasswort) { char einZeichen; string ganzesPasswort; einZeichen = getch(); while (einZeichen != 0x0D) {//solange das eigegebene Zeiche nicht //die EnterTaste(0x0D im hexadezimal) ist if (einZeichen != 0x08) {//0x08 ist RuckTaste im Hexadezimal ganzesPasswort += einZeichen; putch("*"); } else if (einZeichen == 0x08 && ganzesPasswort.length() - 1) { ganzesPasswort.resize(ganzesPasswort.length() - 1); //letztes Zeichen löschen putch(0x08); putch(""); putch(0x08); einZeichen = getch(); } if (ganzesPasswort == richtigesPasswort) { return true;//Passwort und die Eingabe sind igentisch } else { return false;//Passwort und die Eingabe unterscheiden sich } } }
-
@zeropage Da fehlt noch
bool passwortAbfrage(string richtigesPasswort){
zwischen Zeile 35 und 36.
-
Ahja, danke. Jetzt ergibt es auch Sinn. Habe ich oben korrigiert.
-
@DirkB Hallo Dirk,
ja es wird nach jedem Zeichen geprüft ,ob das Passwort stimmt!
Aber der große Fehler zeigte bei mir dass die Funktion:
bool passwortAbfrage(string); Nicht deklariert wurde!
Das Problem liegt nicht ins Detail sondern die Funktion!
-
Was sagt dir die Zeile darunter:
bool passwortAbfrage(string);//zeigt immer Fehlermeldung using namespace std;
?
PS: Des weiteren fehlt bei dir
#include <string>
(statt<string.h>
).
-
@Th69 #include <string> (statt <string.h>).Danke es war ein Tipfehler!
habe Felermeldung:
9': **string' was not declared in this scope:**gemeint ist die Funktion...
using namespace std;:
Damit ich nicht überall bei cout oder cin nochmal schreiben musste!
-
Und dasselbe gilt eben auch für
std::string
.
-
@pook420 sagte in PasswortAbgrage Programm läuft nicht?ich komme nicht weiter...:
using namespace std;:
Damit ich nicht überall bei cout oder cin nochmal schreiben musste!Kannst du zwar machen, solange du es nur in .cpp-Dateien machst, aber der Aufwand für das Schreiben des zusätzlichen "std::" hält sich doch in Grenzen. Niemals solltest du das using namespace in Header-Dateien verwenden.
Lies dazu bitte auch:
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rs-using
https://isocpp.org/wiki/faq/coding-standards#using-namespace-stdAlso: wenn du dir dieser Guidelines/FAQ bewusst bist und nur nen kleines Progrämmchen hast, wo es sowieso keine Kollisionen mit Namen gibt, kannst du using namespace std in der cpp-Datei verwenden. Generell rate ich aber sonst davon ab.
-
@wob Hallo Wob,
mein Programm läuft jetzt !!!
using namespace std;:war falsch aus Versehen platziert ,
die Zeilen mit
bool passwortAbfrage(string);//zeigt immer Fehlermeldung
und mit:
using namespace std;
waren vertauscht!!!
Aber Danke für die Hinweise von dir auch!!!
-
@Th69 hallo Th69
mein Programm läuft jetzt !!!
using namespace std;:war falsch aus Versehen platziert ,
die Zeilen mit
bool passwortAbfrage(string);//zeigt immer Fehlermeldung
und mit:
using namespace std;
waren vertauscht!!!
Aber Danke !!
-
@zeropage
Das Programm läuft jetzt !!!
using namespace std;:war falsch aus Versehen platziert ,
die Zeilen mit
bool passwortAbfrage(string);//zeigt immer Fehlermeldung
und mit:
using namespace std;
waren vertauscht!!!
Aber Danke !
-
Ich glaube, sie haben's kapiert. Du musst nicht jedem persönlich den gleichen Dankesbeitrag schreiben.