WinFuture-Forum.de: C++, Der Einstieg! - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

C++, Der Einstieg! bitte um Hilfe


#1 Mitglied ist offline   Ponte 

  • Gruppe: aktive Mitglieder
  • Beiträge: 558
  • Beigetreten: 18. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niederbayern
  • Interessen:Politik, PC, Krav Maga, Fußball, Fitness

geschrieben 30. Januar 2008 - 22:51

Hi Leute, bin sehr interressiert an C++ Programmierung! Hab hier dann mal paar Tips ausm Net geholt und angefangen so ne kleine Sach mit Visual Studio zu erstellen. Unten beigefügt mein Quellcode, den ich Programmiert hab! Nun eure Meinung, würde das Programm funktionieren? Wenn ja wie muss ich weiter vorgehen, wie bring ich es zum laufen oder irgendwie. Ich hab jetz hier nen Code und weiß nicht was ich damit anfangen soll bzw. wie draus ein Programm wird....Auch wenn mich jetz einige hasse, da ich ein neuling in dem Genre bin, aber würde es gern lernen....
Danke schon mal


#include <string>

class Admin
{
std::string benutzernamen;
std::string passwort;
std::string client-id;

public
void Programm_oeffnen (void)
bool benutzername_eingeben (void);
bool passwort_eingeben(void);
bool client-id (void);
};

#include <string>

class System
{
std::string Benutzername;
std::string Passwort;
std::string Clien-ID;

public
bool benutzername_eingeben (std::string Benutzername);
bool passwort_eingeben(std::string Passwort);
bool client-id (std::string Client-ID);
};



#include "System.h"

void System::init(std::string Benutzername; std::string Passwort; std::string Client-ID)
{
Benutzername = Ponte;
Passwort = 123456
Client-ID = 001
}

bool System::Daten_ueberpruefen(std::string Benutzername; std::string Passwort; std::string Client-ID)
{
if( Benutzername == Ponte && Passwort == 123456 && Client-ID == 001)
retuern true;
}
return false;
}

#include "admin.h"
#include <iostream>
#include <string>
#include "System.h"

system System;

void admin::programm_oeffnen()
{
std::cout << "Programm wurde erfolgreich geöffnet:" << std::flush;
}

bool admin::benutzernamen_eingeben()
{
std::cout << "Geben sie ihren Benutzernamen ein:" << std::flush;
std::string Benutzername;
std::cin >> Benutzername;
}

bool admin::passwort_eingeben()
{
std::cout << "Geben sie ihr Passwort ein:" << std::flush;
std::string Passwort;
std::cin >> Passwort;
}

bool admin::client-id_eingeben()
{
std::cout << "Geben sie ihre Client-ID ein:" << std::flush;
std::string Client-ID;
std::cin >> Client-ID;
}

#include "Admin.h"
#include "System.h"
#inlcude <iostream>

extern system System;

int main()
{
admin Admin;
System.init ("Ponte";"123456";"001")

for (;:)
{
Admin.benutzernamen_eingeben();

if (Admin.passwort_eingeben() == true)
{
if (Admin.client-id_eingeben() == true)
{
std::cout << "Hallo Ponte:" << std::endl;
}
}
else
{
std::cout << "leider draußen bleiben:" << std::endl;
}
}
}
}
}

Dieser Beitrag wurde von Ponte bearbeitet: 30. Januar 2008 - 22:53

Dell XPS 15Z (Core i7, 16GB Ram, 512GB SSD)
Thermaltake Ponte (Core i7, 16GB, Geforce 570GTX, 4TB Raid 1)

~Politiker sind keine Lügner, denn um lügen zu können muss man Ahnung
haben, wovon man redet!~
0

Anzeige



#2 _Fenix_

  • Gruppe: Gäste

geschrieben 30. Januar 2008 - 23:40

Sieht schon mal ganz nett aus. Das ganze müsstest du erstmal compilieren, auf linux empfiehlt sich gcc (einfach g++ dateinamen -o nameVomFertigenProgramm) und unter Windows vielleicht, wenns nichts kosten soll, DevC++.
Zum Programm selbst:
Wenn du hinter die includes using namespace std schreibst, brauchst du nicht jedes mal std::string und std::cout benutzen, sondern dann werden automatisch aus dem std Namensraum die passenden Dinge geholt.
Im Programm selbst sind noch ein paar kleinere Fehler, wie vergessene Anführungszeichen in if( Benutzername == Ponte && .. und das Überschreiben der Parameter von Admin, weil du sie mit std::string jedes mal neu deklarierst, ehe du mit cin einliest.
Eventuell solltest du dir auch mal Konzepte wie Delegation und Vererbung anschauen, denn System und Admin könnte man damit gut verbinden.
0

#3 Mitglied ist offline   rubbishbin 

  • Gruppe: aktive Mitglieder
  • Beiträge: 95
  • Beigetreten: 31. Januar 06
  • Reputation: 0
  • Wohnort:Universum, lokaler Superhaufen, lokale Gruppe von Galaxien, Milchstraßensystem, Umgebung des Orion-Arms, Nachbarschaft der Sonne, Sonnensystem, Erde, Europa, Deutschland, Berlin, Berlin-Schöneberg

geschrieben 31. Januar 2008 - 08:15

Hi,

wenn ich richtig verstanden habe, hast du bereits Visual Studio (Version wäre interessant). Damit ist es relativ einfach (jedenfalls einfacher als unter Linux) den Quellcode compilieren zu lassen. Ich könnte jetzt versuchen, dir das zu erklären, aber das wuerde wohl zu lange dauern und wäre wahrscheinlich nicht sehr verständlich.

Auf jeden Fall ist es bei Visual Studio so, dass du das Projekt, indem sich dein Quelltext befindet, debuggen musst. Dazu gibt es auch einen Menuepunkt, den du einfach finden solltest. In jedem Projekt muss sich eine main.cpp Datei befinden. In dieser sollte dein Quellcode stehen. Dann kannst du das Projekt ueber den Menuepunkt debuggen starten. Visual Studio erstellt auch gleich einen neuen Ordner in deinem Projekt, der debug heisst. Dort findest du dann auch eine EXE die du jederzeit ausfuehren kannst.

In dem MSDN (Microsoft Developer Network) wird der Umgang mit Visual Studio auch ganz gut erklärt.

Edit: http://msdn2.microso...y/zdbe067e.aspx
Hier kannst du dich mal durchklicken. Da wird nochmal erklärt, wie man Projekte mit Visual Studio erstellt, debuggt und ausfuehrt.

Dieser Beitrag wurde von rubbishbin bearbeitet: 31. Januar 2008 - 08:20

0

#4 Mitglied ist offline   Ponte 

  • Gruppe: aktive Mitglieder
  • Beiträge: 558
  • Beigetreten: 18. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niederbayern
  • Interessen:Politik, PC, Krav Maga, Fußball, Fitness

geschrieben 31. Januar 2008 - 08:44

erst mal danke für die antworten! hab die 2005er version...debug hab ich schon probiert, da steht unten dann erstell 0, fehler 0, 1, 0überschrieben! keine ahnung was das heißt! ^^
mit der exe nachm debug könnt ich das programm starten oder wie? läuft das übern dos modus ab, oder bekomm ich da ne bentzeroberfläche oder irgendwie sowas bzw. wie könnt ich sowas wie ne oberfläche erstellen, wo das Programm dann ausgeführt wird, wo dann Ben. Pass. und Client drin is, sowas wie ein Logon Bildschirm ind er Art hätt ich mir gedacht....
Dell XPS 15Z (Core i7, 16GB Ram, 512GB SSD)
Thermaltake Ponte (Core i7, 16GB, Geforce 570GTX, 4TB Raid 1)

~Politiker sind keine Lügner, denn um lügen zu können muss man Ahnung
haben, wovon man redet!~
0

#5 Mitglied ist offline   rubbishbin 

  • Gruppe: aktive Mitglieder
  • Beiträge: 95
  • Beigetreten: 31. Januar 06
  • Reputation: 0
  • Wohnort:Universum, lokaler Superhaufen, lokale Gruppe von Galaxien, Milchstraßensystem, Umgebung des Orion-Arms, Nachbarschaft der Sonne, Sonnensystem, Erde, Europa, Deutschland, Berlin, Berlin-Schöneberg

geschrieben 31. Januar 2008 - 09:18

Also...

Ich muss dir leider sagen, dass dein Projekt noch sehr viele Fehler hat. Aber das ist ja nicht schlimm, denn aus Fehlern lernt man ja bekanntlich. Ich hab mal dein Beispiel genommen und daraus in Visual Studio ein Projekt gemacht. Hat ein bisschen gedauert, weil ich jetzt seit ueber nem Jahr nicht mehr wirklich in C++ programmiert habe. Vielleicht guckst du dir die Struktur einfach erstmal an.

Es gibt noch einige Probleme aber guck es dir trotzdem erstmal an.

Zu deinem Vorhaben gleich auf Oberflächen umzusteigen wuerde ich dir abraten. Man kann auch mit Konsolenapplikationen erstmal Spass haben und du wärst nur frustriert, weil das nochmal um einiges komplizierter ist.

Anmerkungen folgen noch.

Edit: Anmerkungen zu deinem Projekt (was mir so auf die Schnelle einfällt):
  • Header und C++-Dateien: Du hast bereits richtig angefangen. Zunächst kommt immer der Header. Darin steht die Deklaration der Klasse. Das heisst hier wird die Grundstruktur festgelegt. In deinem Fall sind es zwei Header, einmal admin.h und einmal system.h. Diese beiden Dateien musst du deinem Projekt hinzufuegen. Darin kommen dann die Deklaration. Sieh dir dazu einfach die Dateien an, die ich im Anhang erstellt habe. Hast du die Header, dann kommen die C++-Dateien. Hier gehört die Definition rein. Definition folgt nach Deklaration! Die Definition ist dann der eigentliche Teil wo Algorithmen und ähnliches reinkommen. In deinem Fall wären es die admin.cpp und system.cpp. Achtung: Achte genau auf Gross und Kleinschreibung. Der Header und die C++-Datei einer Klasse muessen namentlich genau uebereinstimmen. Auch hier, guck dir einfach das Beispiel an.
  • "int main()": Jedes Projekt hat irgendeine C++-Datei in der die Funktion "int main()" vorkommt. Diese sollte in einer eigenen C++-Datei stehen. In meinem Fall die main.cpp. Da die Funktion einen Ruckgabeparameter hat, sollte man eigentlich auch mit "return 0;" am Ende der Funktion, eine fehlerfreie Ausfuehrung angeben.
  • Du solltest System nicht als Klassenname verwenden. Da wird es sicherlich noch zu Komplikationen kommen, da schon Klassen und Variablen mit dem Namen existieren. Erstell am besten nochmal einen neuen Header und eine neue C++-Datei mit einem anderen Namen und trag hier nochmal die Deklaration und Definition der Klasse ein. Ist auch eine gute Uebung.
  • Jede Klasse hat einen Konstruktor. Hier können bereits Startwerte uebergeben werden. Visual Studio meckert zwar nicht immer wenn der Konstruktor fehlt, aber man sollte ihn trotzdem programmieren. Dazu solltest du im Internet noch mehr Informationen finden.


Das Projekt weist immernoch einige Fehler auf. Ich wuerde dir empfehlen, nochmal ein neues Projekt zu erstellen. Beherzige die Tipps und such auch im Internet nach weiteren Tutorials. Dann hast du sicherlich bald ein nettes Programm. Versuch vielleicht auch mal ohne Klassen anzufangen und erstmal nur in der main-Funktion zu basteln.

Wenn du noch weitere Fragen hast, steh ich natuerlich gerne zur Verfuegung.

Angehängte Datei(en)

  • Angehängte Datei  ponte.zip (5,25K)
    Anzahl der Downloads: 139

Dieser Beitrag wurde von rubbishbin bearbeitet: 31. Januar 2008 - 09:36

0

#6 Mitglied ist offline   Ponte 

  • Gruppe: aktive Mitglieder
  • Beiträge: 558
  • Beigetreten: 18. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niederbayern
  • Interessen:Politik, PC, Krav Maga, Fußball, Fitness

geschrieben 31. Januar 2008 - 11:39

ok, werde mir nach der arbeit gleich die Datei anschauen! Wie ist das eigentlich mit den headern, muss ich den kompletten quelltext in ein Datei einfügen, oder genügt es wenn ich den header separat in einer datei abspeicher und in dann im main mit #include "..." einfüg?
Dell XPS 15Z (Core i7, 16GB Ram, 512GB SSD)
Thermaltake Ponte (Core i7, 16GB, Geforce 570GTX, 4TB Raid 1)

~Politiker sind keine Lügner, denn um lügen zu können muss man Ahnung
haben, wovon man redet!~
0

#7 Mitglied ist offline   rubbishbin 

  • Gruppe: aktive Mitglieder
  • Beiträge: 95
  • Beigetreten: 31. Januar 06
  • Reputation: 0
  • Wohnort:Universum, lokaler Superhaufen, lokale Gruppe von Galaxien, Milchstraßensystem, Umgebung des Orion-Arms, Nachbarschaft der Sonne, Sonnensystem, Erde, Europa, Deutschland, Berlin, Berlin-Schöneberg

geschrieben 31. Januar 2008 - 11:49

Versteh deine Frage nicht so ganz.

Die Struktur sieht folgendermassen aus:

Du hast eine main.cpp (kann auch anders heissen) in der sich die "int main()" Funktion befindet.

Alternativ kann man auch Klassen erstellen, so wie du es gemacht hast. Fuer jede Klasse, die du erstellst, brauchst du 2 Dateien. Einmal einen Header (z.B.: klasse1.h) und passend dazu eine C++-Datei (z.B.: klasse1.cpp).

In den Header kommt dann z.B. sowas:
class MeineKlasse
{
private:
  int variable1;
  bool variable2;
public:
  MeineKlasse(); //Das ist der Konstruktor von dem ich gesprochen habe.
  void funktion1();
};


In die C++-Datei kommt dann z.B. sowas:
#include "klasse1.h"

MeineKlasse::MeineKlasse()
{
  variable1 = 0;
  variable2 = false;
}

void MeineKlasse::funktion1()
{
  //irgendwas
}


//Edit: JUHUUUUUU :) Mein 100er Post!!!11einself

Dieser Beitrag wurde von rubbishbin bearbeitet: 31. Januar 2008 - 11:51

0

#8 Mitglied ist offline   UnZeN 

  • Gruppe: aktive Mitglieder
  • Beiträge: 439
  • Beigetreten: 29. Juli 03
  • Reputation: 0

geschrieben 31. Januar 2008 - 11:57

Beitrag anzeigenZitat (rubbishbin: 31.01.2008, 11:49)

//Edit: JUHUUUUUU :) Mein 100er Post!!!11einself


:imao: :)

Gratulation
0

#9 Mitglied ist offline   Ponte 

  • Gruppe: aktive Mitglieder
  • Beiträge: 558
  • Beigetreten: 18. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niederbayern
  • Interessen:Politik, PC, Krav Maga, Fußball, Fitness

geschrieben 01. Februar 2008 - 08:04

von mir auch gratulation und ich glaub dank dir habs ichs jetz verstanden! top ^^
jetz muss ich nur noch mit den ganzen variablen etc. durchsteigen, aber der anfang klappt jetz normal... vielen dank
falls ich wieder fragen hab, meld ich mich!

Edit:

So mein Programm sieht jetz genauso aus, wie das deine,nur beim Debuggen bringt er mir jetz nen Fehler ich post das Protokoll mal! Kannst mir bitte weiterhelfen?

Buildprotokoll Erstellen wurde gestartet: Projekt: "Login", Konfiguration: "Debug|Win32"
Befehlszeilen Die temporäre Datei "g:\My Music\c++\Test Programm\Login\Login\Debug\RSP00000337323276.rsp" wird erstellt. Inhalt:
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /FD /EHa /MDd /Yu"stdafx.h" /Fp"Debug\Login.pch" /Fo"Debug\\" /Fd"Debug\vc80.pdb" /W3 /c /Zi /clr /TP /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.XML.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll"

".\main.cpp"

".\Login.cpp"
]Erstellen der Befehlszeile "cl.exe @"g:\My Music\c++\Test Programm\Login\Login\Debug\RSP00000337323276.rsp" /nologo /errorReport:prompt"Die temporäre Datei "g:\My Music\c++\Test Programm\Login\Login\Debug\RSP00000437323276.rsp" wird erstellt. Inhalt:
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /FD /EHa /MDd /Yc"stdafx.h" /Fp"Debug\Login.pch" /Fo"Debug\\" /Fd"Debug\vc80.pdb" /W3 /c /Zi /clr /TP /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.XML.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll"

".\system.cpp"
]Erstellen der Befehlszeile "cl.exe @"g:\My Music\c++\Test Programm\Login\Login\Debug\RSP00000437323276.rsp" /nologo /errorReport:prompt" Ausgabefenster Kompilieren...
system.cpp
g:\my music\c++\test programm\login\login\System.h(5) : error C2869: 'System': Wurde bereits als Namespace definiert
.\system.cpp(3) : error C2039: 'System': Ist kein Element von 'System'
.\system.cpp(4) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
.\system.cpp(4) : fatal error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen.
Ergebnisse Das Buildprotokoll wurde unter "file://g:\My Music\c++\Test Programm\Login\Login\Debug\BuildLog.htm" gespeichert.
Login - 4 Fehler, 0 Warnung(en)

Dieser Beitrag wurde von Ponte bearbeitet: 04. Februar 2008 - 12:12

Dell XPS 15Z (Core i7, 16GB Ram, 512GB SSD)
Thermaltake Ponte (Core i7, 16GB, Geforce 570GTX, 4TB Raid 1)

~Politiker sind keine Lügner, denn um lügen zu können muss man Ahnung
haben, wovon man redet!~
0

#10 Mitglied ist offline   Ponte 

  • Gruppe: aktive Mitglieder
  • Beiträge: 558
  • Beigetreten: 18. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niederbayern
  • Interessen:Politik, PC, Krav Maga, Fußball, Fitness

geschrieben 04. Februar 2008 - 12:13

Danke schon mal, das Protokoll hab ich oben gepostet!
Dell XPS 15Z (Core i7, 16GB Ram, 512GB SSD)
Thermaltake Ponte (Core i7, 16GB, Geforce 570GTX, 4TB Raid 1)

~Politiker sind keine Lügner, denn um lügen zu können muss man Ahnung
haben, wovon man redet!~
0

#11 Mitglied ist offline   rubbishbin 

  • Gruppe: aktive Mitglieder
  • Beiträge: 95
  • Beigetreten: 31. Januar 06
  • Reputation: 0
  • Wohnort:Universum, lokaler Superhaufen, lokale Gruppe von Galaxien, Milchstraßensystem, Umgebung des Orion-Arms, Nachbarschaft der Sonne, Sonnensystem, Erde, Europa, Deutschland, Berlin, Berlin-Schöneberg

geschrieben 04. Februar 2008 - 16:44

Hi,

also folgendes:

beim ersten Fehler hast du schonmal die Header-Datei "System.h" irgendwo included. Da musst du mal gucken, ob du nicht irgendwo doppelt included hast.

Kleine Info zum Befehl
#include "irgendwas.h"
Dieser macht eigentlich nichts anderes als den kompletten Inhalt des entsprechenden Headers an der Stelle einzufügen. Hast du also folgenden Header:
class MeineKlasse
{
private:
  int variable1;
  bool variable2;
public:
  MeineKlasse(); //Das ist der Konstruktor von dem ich gesprochen habe.
  void funktion1();
};

...dann macht der Befehl nichts anderes als an der Stelle den kompletten Inhalt einzufuegen. Wenn du jetzt den Header mehrmals includest, dann ist in dem Fall natürlilch zweimal die Klasse "MeineKlasse" deklariert. Daher der Fehler.

Manchmal lässt es sich nicht vermeiden, einen Header mehrmals zu includen, z.B. bei der Vererbung. Daher gibt es einen kleinen Trick, dass man den Header zwar mehrmals über den "#include"-Befehl includen kann, der enthaltene Quellcode aber nur einmal ausgeführt wird. Ich habe das obere Beispiel einfach mal entsprechend abgeändert:
#ifndef MEINEKLASSE_H
  #define MEINEKLASSE_H

class MeineKlasse
{
private:
  int variable1;
  bool variable2;
public:
  MeineKlasse(); //Das ist der Konstruktor von dem ich gesprochen habe.
  void funktion1();
};

#endif

Du musst einfach immer nur am Anfang die zwei Zeilen mit dem "#ifndef" und "#define" und am Ende die Zeile mit dem "#endif" reinhauen. Damit sollte der erste Fehler dann auch verschwinden.

Bei den restlichen Fehler gibt es wohl Probleme mit der Definition der Klasse "System". Wie ich glaub ich schon erwähnt habe, sollte man bei solchen Klassennamen aufpassen, da auch die Bibliothek mit ihren vorgefertigten Klassen einen solchen Klassennamen verwendet. Die einfachste Möglichkeit wäre den Namen der Klasse umzubennen. Mach aus "System" einfach "Systemlogin" oder irgendwas anderes.

Mehr kann ich dir dazu leider erstmal nicht sagen. Wenn du gar nicht weiterkommst, dann poste einfach mal dein bisheriges Projekt, vielleicht kann ich dann weiterhelfen.

Noch ein kleiner Tipp, falls du es noch nicht weißt: Du kannst auf die Zeilen wo der Fehler steht, auch Doppelklicken, dann führt dich Visual Studio genau dorthin wo der Fehler aufgetreten ist. Meistens findet man dann den Fehler besser.
0

#12 Mitglied ist offline   Ponte 

  • Gruppe: aktive Mitglieder
  • Beiträge: 558
  • Beigetreten: 18. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niederbayern
  • Interessen:Politik, PC, Krav Maga, Fußball, Fitness

geschrieben 06. Februar 2008 - 12:53

k, danke, hab jetz alle fehler wegbekommen bis auf einen, keine ahnung, die Datei wo der Fehler sein soll, is gar nicht in meinem Programm....

Login.h:

#include <string>
using namespace std;

class Login
{
private:
string benutzername;
string passwort;

public:
Login();
void programm_oeffnen();
void benutzername_eingeben();
void passwort_eingeben();
};




Systemlogin.h

#include <string>
using namespace std;

class Systemlogin
{
private:
string benutzername;
string passwort;

public:
Systemlogin();
Systemlogin(string sbenutzername, string spasswort);
bool daten_ueberpruefen(string sbenutzername, string spasswort);

};


Login.cpp

#include "Login.h"
#include <iostream>

Login::Login()
{
benutzername = "";
passwort = "";

}

void Login::programm_oeffnen()
{
cout << "Programm wurde erfolgreich geöffnet:" << flush;

}

void Login::benutzername_eingeben()
{
cout << "Geben sie ihren Benutzernamen ein:" << flush;
cin >> Login::benutzername; >>

}

void Login::passwort_eingeben()
{
cout << "Geben sie ihr Passwort ein:" << flush;
cin >> passwort;

}



Systemlogin.cpp

#include "Systemlogin.h"

Systemlogin::Systemlogin()
{
benutzername = "Ponte";
passwort = "123456";

}

Systemlogin::Systemlogin(string sbenutzername, string spasswort)
{
benutzername = sbenutzername;
passwort = spasswort;

}

bool Systemlogin::daten_ueberpruefen(string sbenutzername, string spasswort)
{
if(sbenutzername == benutzername && spasswort == passwort)
return (true);
else
return (false);

};


main.cpp

#include "Login.h"
#include "Systemlogin.h"

#include <iostream>
using namespace std;

int main()
{
cout << "Servus Ponte \n\n";
system ("pause");

}


und als Fehler kommt:


1>Systemlogin.cpp
1>c:\Program Files\Microsoft Visual Studio 8\VC\include\xlocnum(123) : error C2857: Die mit der Befehlszeilenoption /Ycstdafx.h festgelegte '#include'-Anweisung konnte in der Quelldatei nicht gefunden werden
Dell XPS 15Z (Core i7, 16GB Ram, 512GB SSD)
Thermaltake Ponte (Core i7, 16GB, Geforce 570GTX, 4TB Raid 1)

~Politiker sind keine Lügner, denn um lügen zu können muss man Ahnung
haben, wovon man redet!~
0

#13 Mitglied ist offline   rubbishbin 

  • Gruppe: aktive Mitglieder
  • Beiträge: 95
  • Beigetreten: 31. Januar 06
  • Reputation: 0
  • Wohnort:Universum, lokaler Superhaufen, lokale Gruppe von Galaxien, Milchstraßensystem, Umgebung des Orion-Arms, Nachbarschaft der Sonne, Sonnensystem, Erde, Europa, Deutschland, Berlin, Berlin-Schöneberg

geschrieben 06. Februar 2008 - 14:51

Beitrag anzeigenZitat (Ponte: 06.02.2008, 12:53)

void Login::benutzername_eingeben()
{
cout << "Geben sie ihren Benutzernamen ein:" << flush;
cin >> Login::benutzername; >>

}

Soweit ich das sehe, liegt dein Fehler hier in der "Login.h". Das unterstrichene muss weg. Die Fehlermeldung kann ich mir jetzt ehrlich gesagt auch nicht erklären. Einen anderen Fehler kann ich nicht sehen.

PS: Sende nächste mal einfach dein gesamtes Projekt, dann kann ich das auch direkt bei mir überprüfen!

Dieser Beitrag wurde von rubbishbin bearbeitet: 06. Februar 2008 - 14:52

0

#14 Mitglied ist offline   Chris1974 

  • Gruppe: Mitglieder
  • Beiträge: 1
  • Beigetreten: 08. Februar 08
  • Reputation: 0

geschrieben 08. Februar 2008 - 14:09

Hallo jungs!

ist euch bei dieser meldung nichts aufgefallen :smokin: ?

/Od /D "WIN32" /D "_DEBUG" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /FD /EHa /MDd /Yc"stdafx.h" /Fp"Debug\Login.pch" /Fo"Debug\\" /Fd"Debug\vc80.pdb" /W3 /c /Zi /clr /TP /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.XML.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll"

Er hat beim Anlegen des Projekts das .NET-Framework-Project gewält. Sobald das Framework aktiviert ist der Namensraum System schon belegt. Desweiteren hat er das Projekt für die Win32-Umgebung und nicht für die Konsole gewählt. Damit ist die main-funktion intern von der Umgebung schon belegt.

Er hat zwei Möglichkeiten:

1.) Das Projekt für Win32 zu Programmieren (für Anfänger absolut nicht zu empfehlen, da sie NOCH zu komplizier für ihn sein wird.)

2.) Das Projekt neu anlegen als "Win32 Consolen Project".
Siehe Bild

mfg Christian

Angehängte Miniaturbilder

  • Angehängtes Bild: bildschirmfoto1.GIF

0

#15 Mitglied ist offline   Ponte 

  • Gruppe: aktive Mitglieder
  • Beiträge: 558
  • Beigetreten: 18. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niederbayern
  • Interessen:Politik, PC, Krav Maga, Fußball, Fitness

geschrieben 08. Februar 2008 - 17:03

ok danke, programm läuft jetz! wenn ich es jetz starte kommt console mit Servus Ponte und mit tastendruck beendet es sich wieder!

Ich dachte eigentlich da kommt Bildschirm wo ich Benutzername und Passwort eingeben muss und dann erst Servus Ponte oder Fehler kommt falls falsch ist....
hmm!
Dell XPS 15Z (Core i7, 16GB Ram, 512GB SSD)
Thermaltake Ponte (Core i7, 16GB, Geforce 570GTX, 4TB Raid 1)

~Politiker sind keine Lügner, denn um lügen zu können muss man Ahnung
haben, wovon man redet!~
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0