Beispiel 5: Rekursion und verknüpfte Listen I

19.12.2016 04:31 Uhr
#include <iostream>

using namespace std;
#include <fstream>

#include "token5.h"

void einruecken(int ebene);

int main()
{
ifstream eingabe;
ClToken *token, *child;

eingabe.open("daten2.xml");
token=new ClToken;

if (token->getToken(eingabe)!=0)
   {
   einruecken(1);
   cout << "Token: " << token->name() << " - " << token->inhalt() << endl;
   if (token->att.zahlAtt() > 0)
      {
      einruecken(1);
      for (int i=0;i<token->att.zahlAtt();i++)
           cout << "Attribut " << token->att.zeigeAttName(i) << " hat den Wert "
                << token->att.zeigeAttWert(i) << endl;
      }
   if (token->child()!=NULL)
      {
      child=token->child();
      einruecken(2);
      cout << "Token: " << child->name() << " - " << child->inhalt() << endl;
      if (child->att.zahlAtt() > 0)
         {
         einruecken(2);
         for (int i=0;i<child->att.zahlAtt();i++)
           cout << "Attribut " << child->att.zeigeAttName(i) << " hat den Wert "
                << child->att.zeigeAttWert(i) << endl;
         }
      }
   }
eingabe.close();
}

void einruecken(
int             ebene)
{
while (ebene > 0)
      {
      cout << "| ";
      ebene = ebene - 1;
      }
}

Anhang: example5.zip

Schlagwörter: