String Problem



  • Seid gegrüßt, Suchfunktion et cetera hab ich benutzt, auch das Zeugs eingegeben, allerdings kann ich immernoch keine strings deklarieren:

    #include <iostream>
    #include <string>
    #include <cstdlib>
    #include <cstdio>
    
    using namespace std;
    
    int main()
    {
          string passwort;
          passwort = pw;
          cout<<"Test123\n";
          cin>>passwort;
    
          system("pause");
          }
    

    Eigentlich sollte das ganze ja soweit funktionieren - Allerdings sagt der Compiler mir, die Funktion passwort sei noch nicht deklariert worden 😮

    'pw' undeclared (first use this function)

    Danke für eure Hilfe 🙂



  • Nicht passwort ist unbekannt, sondert pw. Was ist denn pw? Wo hast Du es deklariert und definiert?



  • Ich wollte es so machen, das man später als passwort 'pw' eingeben muss.



  • #include <iostream>
    #include <string>
    #include <cstdlib>
    #include <cstdio>
    
    using namespace std;
    
    int main()
    {
          string passwort;
          string pw;       //Du musst es hier schon definieren..
          passwort = pw;
          cout<<"Test123\n";
          cin>>passwort;
    
          system("pause");
          }
    


  • Hatte die Anführungszeichen vergessen, daran lag es. Ich wollte, das 'pw' eingegeben werden muss, um Zugriff auf daten xyz zu bekommen 🤡



  • Selbst dann wirst Du nicht den gewünschten Effekt erzielen. Du weist mit passwort = "pw" einen Wert zu, den Du (durch die Anweisung cin >> passwort) mit der Eingabe des Users überschreibst. Du musst einen Vergleich durchführen. Dies kann zB durch if (passwort == "pw") erfolgen.



  • #include <iostream>
    #include <string>
    #include <cstdlib>
    #include <cstdio>
    
    using namespace std;
    
    int main(int nNumberofArgs, char* pszArgs[])
    {
        cout.setf(cout.boolalpha);
          string pw;
          string passwort;
          passwort = "testpw";
          cout<<"Program (c)2008 by jeansoft.\n";
          cout<<"Please enter the password.\n";
          cin>>pw;
          if (pw == passwort);
           {
                 cout<<"Sie sind nun eingeloggt.\n";
                 cout<<endl;
           }
           else (pw != passwort);
           {
                cout<<"Falsches Passwort.\n";
           }
    
          system("pause");
          }
    

    So sieht der Code bis jetzt aus, allerdings sagt er mir jetzt noch folgendes, was ich nicht nachvollziehen kann - in dem Büchlein, mit dem ich C++ "lerne", ist es mit einem anderen Programm auch nicht anders:

    expected primary-expression before "else"

    expected `;' before "else"

    Wass möchte er noch für einen Audruck vor else, und wo fehlt noch ein ';'?



  • Das Semikolon ist beim if und beim else zu viel!



  • Okay, vielen Dank 🙂

    Jetzt habe ich noch das Problem, das ich mich einloggen kann, auch nur mit dem testpw(So wie es sein sollte), allerdings kommt danach noch ein "Falsches Passwort", wie bekomme ich das 'weg'?



  • Das else muß else if( pw != passwort) heißen. Am einfachsten wäre aber einfach nur else.

    #include <iostream>
    #include <string>
    #include <cstdlib>
    #include <cstdio>
    
    using namespace std;
    
    int main(int nNumberofArgs, char* pszArgs[])
    {
        cout.setf(cout.boolalpha);
          string pw;
          string passwort;
          passwort = "testpw";
          cout<<"Program (c)2008 by jeansoft.\n";
          cout<<"Please enter the password.\n";
          cin>>pw;
          if (pw == passwort)
           {
                 cout<<"Sie sind nun eingeloggt.\n";
                 cout<<endl;
           }
           else
           {
                cout<<"Falsches Passwort.\n";
           }
    
          system("pause");
    }
    


  • Dankeschön, funktioniert jetzt perfekt 🙂

    Ich glaube, ich muss mich hier mal anmelden 🙂


Anmelden zum Antworten