Login Modul
-
Hallo Leute!
Ich bin ein C++ Einsteiger und wollte mithilfe des Konsolen-Experten einfach mal ein winzig kleines Benutzerlogin Programm schreiben... Und bei der Überprüfung auf das richtige Passwort und den richtigen Benutzernamen hänge ich fest... Kann mir da jemand helfen? Ich hoffe der Code hilft ein wenig weiter:
#pragma hdrstop
#include <conio.h>
#include <stdio.h>
#include <string.h>
//---------------------------------------------------------------------------
char iName[10];
char iPruefen[10];#pragma argsused
int main(int argc, char* argv[])
{
printf("Benutzername: ");
gets(iName);printf("Passort: ");
gets(iPruefen);if (iName=="admin",iPruefen=="admin")
printf("Login erfolgreich!");
else
printf("Benutzername oder Passwort falsch! Das wars!");getch();
return 0;
}Danke im Voraus
MfG
Jäm
-
Entschuldigung der genaue Fehler ist, dass ich unten Name und Passwort mit der if Abfrage prüfen will, er mir aber IMMER trotz richtig verwendeten Namens und richtigem Passwort immer nur den else fall anzeigt (Hier in meinem Falle: "Name oder Passwort falsch!")
Und da komme ich nicht weiter... Wo liegt der Fehler?
-
Du kannst den Vergleichsoperator (==) nicht auf C-Strings anwenden.
Schau mal unter strcmp().Außerdem solltest Du die Code-Tags verwenden. Und, obwohl Du den BCB-Builder verwendest, gehören Probleme mit Konsolenprogrammen in das C++-Forum. Der Thread wird bestimmt gleich von einem Mod verschoben. Bitte auf keinen Fall dort einen neuen Thread aufmachen.
[Edit:]
Gehört natürlich ins C-Forum, da es sich hier um reines C handelt...
-
der fehler liegt darin, das du unbedingt dir nochmal ein gutes! c++ buch durchlesen solltest!
du hast fehler im vergleich wie auch in der if-anweisung selbst!
du benutzt eigentlich c und kein c++!
so würde es ungefähr in c++ aussehen:
#include <iostream> //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { std::string username; std::cout<<"Geben Sie den Benutzername ein:"; std::cin>>username; //ließt Name bis zum ersten Leerzeichen ein std::string password; std::cout<<"Geben Sie das Passwort ein:"; std::cin>>password; if((username=="admin")&&(password=="admin")) //überprüfen std::cout<<"login erfolgreich"; else std::cout<<"login nicht erfolgreich"; return 0; }
-
ser1al_ausgeloggt schrieb:
du hast fehler im vergleich wie auch in der if-anweisung selbst!
Ups, das hatte ich nicht gesehen...