Guten Abend!
Nach mehreren Stunden Hin und Her probieren gebe ich schließlich auf und frage hier nach.
Ich versuche mich gerade an Listen und es klappt immer noch nicht so wie ich es haben möchte.
Hat vielleicht jemand einen Link zu einem guten Tutorial? Ich habe mich schon durch das Internet gesucht, aber anscheinend habe ich es noch immer nicht verstanden.
Nachdem, was mir ausgegeben wird, sieht es so aus, als dass ich die Daten wenigstens dort habe, wo ich sie haben möchte, doch anstatt der gesamten Daten, die eingegeben werden, wird nur ein Datensatz ausgegeben.
Entweder ich habe die Liste komplett falsch aufgebaut oder es hat sich irgendwo ein Fehler eingeschlichen oder es ist doch noch etwas falsch an das ich noch gar nicht gedacht habe. Außerdem bin ich mir nicht so sicher, wo genau ich meinen Anfang hinsetzen muss.
Vorschläge?
Nach mehreren Stunden Hin und Her probieren gebe ich schließlich auf und frage hier nach.
Ich versuche mich gerade an Listen und es klappt immer noch nicht so wie ich es haben möchte.
Hat vielleicht jemand einen Link zu einem guten Tutorial? Ich habe mich schon durch das Internet gesucht, aber anscheinend habe ich es noch immer nicht verstanden.
Nachdem, was mir ausgegeben wird, sieht es so aus, als dass ich die Daten wenigstens dort habe, wo ich sie haben möchte, doch anstatt der gesamten Daten, die eingegeben werden, wird nur ein Datensatz ausgegeben.
Entweder ich habe die Liste komplett falsch aufgebaut oder es hat sich irgendwo ein Fehler eingeschlichen oder es ist doch noch etwas falsch an das ich noch gar nicht gedacht habe. Außerdem bin ich mir nicht so sicher, wo genau ich meinen Anfang hinsetzen muss.
Code:
#include <iostream>
using namespace std;
#include <string>
#include <fstream>
class Clpersonen
{
public:
Clpersonen *next;
int ozahl;
char rname[100];
char nickname[100];
} ;
enum zustand {zahl, rname, nickname};
int main()
{
char puffer[100],zeichen;
int zaehler;
enum zustand zustand;
int i=0;
Clpersonen *root, *node;
root= new Clpersonen;
root->next=NULL;
node= new Clpersonen;
node->next=NULL;
ifstream datei;
datei.open("personen.txt");
zustand=zahl;
zaehler=0;
for (;;)
{
datei.get(zeichen);
if (datei.eof()) {node->next=NULL; break;}
switch(zeichen)
{
case '"':
zustand=zahl;
puffer[zaehler]='\0';
zaehler=0;
break;
case '(':
i++;
node->ozahl=i;
if (zustand==zahl){
puffer[zaehler]='\0';
zaehler=0;
strcpy(node->rname,puffer);
zustand=rname;
}
break;
case ')':
if (zustand==rname){
puffer[zaehler]='\0';
zaehler=0;
strcpy(node->nickname,puffer);
zustand=nickname;
}
break;
case '\n':
break;
default:
puffer[zaehler]=zeichen;
zaehler++;
break;
}
}
root=node;
while(root!=NULL)
{
cout << root->ozahl << ' ' << root->rname << ' ' << root->nickname << endl;
root=root->next;
}
}
Vorschläge?