Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » ANFÄNGER: Probleme mit makefile / strings

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
17.06.2004, 23:21 Uhr
songbird




Zitat:
Windalf postete
was genau ist denn dein problem?

du mixt auf jeden fall ordentlich c und c++ wiso noch char-arrays nehmen wenn du std::strings hast?

auf jeden fall nimmt strcmp keine std::strings... die kannst du gleich mit = vergleichen oder du musst std::string::c_str() verwenden um ein const char* zu bekommen das du dann strcmp übergeben kannst...


wo nehm ich denn char-arrays?

und strcmp haben wir auf www.cplusplus.com gefunden, das uns als referenz empfohlen wurde...
vergleichen müsste ich dann aber mit == oder?

in der datei hagelt es au jedenfall unverständliche fehler (15)

Dieser Post wurde am 17.06.2004 um 23:21 Uhr von songbird editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
17.06.2004, 23:25 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


äh ja vergleich ist mit ==... hab da beim tippen wohl eins unterschlagen...
von char-arrays bin ich ausgegangen weil du bei strcmp

persons[ i ].getUsername und nicht persons[ i ].getUsername.c_str() übergeben hast...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
17.06.2004, 23:33 Uhr
songbird



mit persons[ i ].getUsername.c_str() kann ich ehrlichgesagt gar nix anfangen...

aber der verleich müsste also mit persons[ i ].getUsername == inputname gehen???

was ist denn zB an der void mainMenu-Methode falsch!? allein da gibt's schon 2 fehler...

C++:
persons = {user1, user2, user3, user4};


das ist angeblich auch falsch...

kann das wirklich an uns liegen??? oder kann das am makefile oder am compiler (mingw32) liegen???
hat jemand ne empfehlung für nen guten editor (wir benutzen eclipse mit cdt-plugin), der zB makefiles automatisch erstellt?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
17.06.2004, 23:50 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


jo ist falsch du musst die user schon einzeln zuweisen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
17.06.2004, 23:55 Uhr
songbird




Zitat:
Windalf postete
jo ist falsch du musst die user schon einzeln zuweisen...


???
nein, man kann doch ein array folgenermaßen definieren:

C++:
typ feldname[] = {wert1, wert2, ..., wertn-1};


oder nicht???

Dieser Post wurde am 17.06.2004 um 23:56 Uhr von songbird editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
18.06.2004, 00:00 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


also ich bin in solchen sachen nicht 100%ig firm aber soweit ich weiss geht das nur wenn du deklaration und definition in einem machst... feldname ist ja eigentlich nur ein zeiger auf das erste element deines arrays... würde mich doch stark wundern wenn das so wie du es versuchst geht...

nach deiner theorie müsste ja sonst auch folgendes gehen


C++:
char x[]="Hallo";
x="trala";


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
18.06.2004, 00:03 Uhr
songbird




Zitat:
Windalf postete
also ich bin in solchen sachen nicht 100%ig firm aber soweit ich weiss geht das nur wenn du deklaration und definition in einem machst... feldname ist ja eigentlich nur ein zeiger auf das erste element deines arrays... würde mich doch stark wundern wenn das so wie du es versuchst geht...

nach deiner theorie müsste ja sonst auch folgendes gehen


C++:
char x[]="Hallo";
x="trala";





ahso, du meinst wenn man deklaration und definition trennt, geht es nicht... das kann natürlich sein...

aber das kann ja nicht der grund für 15 fehler sein!?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
18.06.2004, 00:08 Uhr
(un)wissender
Niveauwart


Die guten alten Folgefehler...wenn du es schaffst, den Parser zu verwirren, kannst du nicht viel auf Anzahl der Fehler oder Fehlermeldungen geben.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
18.06.2004, 00:20 Uhr
songbird



ok, wenn ich es nach dem schema

C++:
persons[0] = user1;
...


mache, verschwinden einige Fehler. Danke schonmal dafür.

und ich hab grad noch n zieeeemlich doofen fehler gefunden.....
Bei

C++:
persons[posi].getName()


haben wir die klammern vergessen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
18.06.2004, 00:26 Uhr
songbird



Nur noch 6 Fehler.
Haben einige Sachen geändert.
Hier nochmal der überarbeitete Quelltext (die Fehlermeldungen stehen als Kommentare hinter den jeweiligen Zeilen zwischen Sternchen)


C++:
#include "dvd.h"
#include "user.h"
#include "main.h"

#include <string>
#include <iostream>
using namespace std;

User persons[4];

void mainMenu(int posi)
{        //**previous declaration of 'void mainMenu(int)'********
      cout << "Herzlich Willkommen " << persons[posi].getName() << "!" << endl
         << "Was möchten Sie tun ?" << endl;
}

int main()
{
    User user1("Admin", "admin", "Ad Min", true);
    User user2("Glenn", "glenn", "Glenn Langemeier", false);
    User user3("Frank", "frank", "Frank C++", false);
    User user4("Arne", "arne", "Arne Kuhlmann", false);//Erstellung von 4 Usern
    
    persons[0] = user1;
    persons[1] = user2;
    persons[2] = user3;
    persons[3] = user4;
    
    Dvd dvd1("Star Wars - A new hope", "George Lucas", "Sci-Fi", 001, 116, "15.06.04");
    Dvd dvd2("Star Wars - The Empire strikes back", "Irvin Kershner", "Sci-Fi", 002, 125, "10.06.04");
    Dvd dvd3("Star Wars - Return of the Jedi", "Richard Marquand", "Sci-Fi", 003, 131, "10.06.03");
    Dvd dvd4("Indiana Jones - Raiders of the lost Ark", "George Lucas", "Adventure", 004, 126, "09.11.03");
    Dvd dvd5("Indiana Jones - The last Crusade", "Steven Spielberg", "Adventure", 005, 132, "14.12.03");
    
    string inputname("");
    string inputpass("");
    bool access = false;
    int pos = 0;
    
    while (access == false)
    {
        cout << "Herzlich Willkommen in Ihrer DVD-Verwaltung !" << endl <<
                "Bitte geben Sie Ihren Benutzernamen und Passwort durch Leerzeichen getrennt ein !" << endl;
        cin >> inputname >> inputpass;
        
        for (int i = 0; i < 4; i++)
        {
            if(strcmp(const char* persons[i].getUsername(),const char* inputname) == 0) && (strcmp(const char* persons[i].getPassword(),const char* inputpass) == 0) //**parse error before 'char'********
            {
                access = true;
                pos = i;
            }
        }
        
        if (access == false)
        {
            cout << "Das System konnte Sie leider nicht anmelden. Bitte versuchen Sie es noch einmal" << endl;
        }
    }  
    
    mainMenu(pos);   //**'int mainMenu redeclaredas different kind of symbol / 'pos' was not declared  in this scope / ISO C++ forbids declaration of 'mainMenu' with no type*************
    
    return 0;    //***parse error before 'return'*********
}


Dieser Post wurde am 18.06.2004 um 00:33 Uhr von songbird editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: