Habe mal wieder ein kleibes Problemchen...
Und zwar habe ich (natürlich nur ich, weil ich mal wieder die vorlaute Klappe nicht halten konnte ), ne Extraaufgabe von unserem Prog. Dozenten bekommen.
Und zwar soll ich ein Hangman-Spiel schreiben.
Soweit kein Thema,aber es soll mit einer Art Benutzerverwaltung und Highscore laufen.
Kleiner PAP:
Frage ob Account vorhanden
wenn nein
{
eingabe username
eingabe password
speichern beider in einer Textdatei
}
wenn ja
{
Abfrage der Daten und Vergleich dieser mit den in der Textdatei abgelegten Daten
funktion hang wird aufgerufen
in der das eigentliche programm statt findet
}
Hier mal der Source meiner main.cpp
#include "jan.h" //Beinhaltet das eigentliche Programm
#include "login.h" //Beinhaltet die Klasse player und die
//...Deklaration des Objektes user, weiterhin auslesen der DATA.DAT
//...zur Verifizierung der Nutzerdaten
int main()
{
farbe(magenta);
cout << "\t\tHangman V 0.1\n\n";
farbe(hellgrau);
login();
if(einloggen==true)
{
system("CLS");
cout << "Hallo " << user.username << "!\n\n";
cout << "Lets start the game!\n\n";
hang();
}
if (einloggen==false)
{
cout << "Falscher Log-In!\nDas Programm wird nun beendet!\n\n";
}
#include "highscore.h"
system("pause");
return 0;
}
So, habe folgendes Problem, Ich habe für die Variablen der Nutzerdaten eine Klasse angelegt die folgendermassen aussieht
class player //Klasse player wird initialisiert
{
public:
string username; //Öffentliche Variable für den Nutzernamen
string password; //Öffentliche Variable für das Passwort
//char username[10];
//char password[10];
unsigned int points; //Variable für die Punktzahl
};
player user;
So, nun möchte ich meine Eingaben ja in einer Datei speichern.
Das funktioniert auch, wenn ich die char Array nehme, aber dann werden die nicht belegten Stellen des Array mit \0 belegt.
Dies macht es aber nicht mehr auslesbar, wenn ich meine Datei mit strtok schrittweise auslesen möchte (Trennzeichen = .
Einen String (so wie momentan im Beispiel) funktioniert auch nicht, da dann folgendes nicht mehr funktioniert
fputs(user.username,log);
fputs(";",log);
fputs(user.password,log);
fputs("\n",log);
fclose(log);
Da meckert er dann, folgenden Satz
115 C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\CPP\hang\login.h cannot convert `std::string' to `const char*' for argument `1' to `int fputs(const char*, FILE*)'
Habe noch einige andere kleine Problemchen, aber das hier ist erst mal das wichtigste...
Wäre klasse, wenn einer von euch da ne Idee hättte!
Lieben Gruss!
Daddy