Listen



  • Hallo
    ich versuche eine Verketete Liste zu erstellen, leider stelle ich mich zu blöd an kann jemand helfen?

    Hier mein ansatz:

    #include <iostream>

    using namespace std;

    class
    Daten
    {
    public:
    int m_Zahl;
    Daten *m_pNext;
    };

    class Liste
    {
    Daten *m_pAnfang;
    int m_Wert;

    public:

    Liste()
    {
    m_pAnfang = 0;
    };

    void dazu()
    {
    Daten *m_pNeudat = new Daten;
    cout <<"Eine Zahl eingeben :";
    cin >>m_Wert;
    m_pNeudat->m_Zahl = m_Wert;
    m_pNeudat->m_pNext = m_pAnfang;
    m_pAnfang = m_pNeudat;
    };

    void ausgabe()
    {

    do
    {
    cout <<m_pAnfang->m_Zahl;
    m_pAnfang = m_pAnfang->m_pNext;
    }while (m_pAnfang->m_pNext !=0);
    };

    };

    int main()
    {
    char ein;
    int m_pWert;
    Liste l1;

    do
    {
    cout <<"Eingabe <e> Ausgabe <a> Ende <x>";
    cin >>ein;

    switch (ein)
    {
    case 'e':
    l1.dazu();
    break;

    case 'a':
    l1.ausgabe();
    break;
    }

    }while (ein != 'x');

    return (0);
    }

    😕



  • was sucht das im mfc forum ?????



  • Dieser Thread wurde von Moderator/in Unix-Tom aus dem Forum MFC mit dem Visual C++ in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • versuchs mal damit:

    #include <iostream> 
    
    class Liste  {
    
    private:
      struct Daten  {  
        int Zahl; 
        Daten *pNext; 
      };  
      Daten *pAnfang;
    
      void delete_list ( Daten* node )  {
        if ( node )
          delete_list ( node->pNext );
        delete node;
      };   
    public: 
      Liste() : pAnfang ( 0 )  {}; 
    
      void dazu()  { 
        Daten *pNeudat = new Daten; 
        std::cout << "Eine Zahl eingeben :"; 
        std::cin >> pNeudat->Zahl; 
        pNeudat->pNext = pAnfang; 
        pAnfang = pNeudat; 
      }; 
    
      void ausgabe()  {
        Daten* beg = pAnfang; 
        while ( pAnfang != 0 )  { 
          std::cout << pAnfang->Zahl; 
          pAnfang = pAnfang->pNext;
        } 
        pAnfang = beg;     
      };
    
      ~Liste ()  {
        delete_list ( pAnfang );
      };
    }; 
    
    int main()  { 
      char ein; 
      int pWert; 
      Liste l1; 
    
      do  { 
        std::cout << "Eingabe <e> Ausgabe <a> Ende <x>"; 
        std::cin >> ein; 
    
        switch ( ein )  { 
          case 'e': 
            l1.dazu (); 
            break; 
    
          case 'a': 
            l1.ausgabe (); 
            break; 
        } 
    
      } while ( ein != 'x' ); 
    
      std::cin.clear ();
      std::cin.ignore ( std::cin.rdbuf () -> in_avail () );
      std::cin.get ();
      return 0; 
    };
    

    mfg,
    was aucuh immer


Anmelden zum Antworten