<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Übungsbsp. einer Telefonliste zeigt Einträge nicht an]]></title><description><![CDATA[<p>Hallo an alle!</p>
<p>Ich beschäftige mich mit C++ und arbeite gerade das Buch &quot;C++ lernen und professionell anwenden&quot; durch. In Kapitel 16 Übungsaufgabe 5 (Falls jemand das Buch zur Hand haben sollte) wird ein Programm zur Erstellung und Pflege einer Telefonliste erstellt. Dieses Programm leuchtet mir auch ein, nur kann ich keine Einträge anzeigen lassen, obwohl standardmäßig ein Eintrag (&quot;Peter Lustig&quot;) vorhanden sein sollte! Der Compiler findet keine Fehler und ich habe schon mehrfach die gegebene Lösung mit meiner auf Fehler hin abgeglichen und nichts gefunden. Ich kann neue Einträge verfassen die anscheinend auch gespeichert werden (In der Ausgabe werden die reservierten Zeilen angelegt, jedoch nicht mit Einträgen gefüllt!) Da ich schon lange an diesem Problem sitze und nicht mehr weiter weiß, wollte ich Euch fragen ob ihr da mal drüber schauen könnt. Das Programm entspricht der Lösung, also dürfte eigentlcih nichts mehr großartig hinzuzufügen sein. Ich schätze es ist irgendein Fehler in der print()-Methode!<br />
Hier mal der Quellcode der Header-Datei integriert in das Anwenderprogramm:</p>
<pre><code class="language-cpp">//--------------------------------------------
// telList.h
// Eine Klasse telList zur Darstellung einer Liste mit Telefonnummern und Namen
//--------------------------------------------

#ifndef _TelList_
#define _TelList_

#include&lt;string&gt;
using namespace std;
#define PSEUDO -1                             // Preudoposition
#define MAX 100                               // Maximalanzahl der Elemente

// Typ eines Listen-Elements
struct Element { string name, telNr; };        // öffentliche Schnittstelle struct des neuen Types &quot;Element&quot;, was aus zwei strings
                                               // besteht: name und telNr

class TelList
{
      private:
              Element v[MAX];                  // Vektor mit Maximaler Anzahl an Elementen
              int count; 

      public:
             TelList() { count = 0; }           // Default-Konstruktor der den Zähler count auf 0 setzt
             int getCount()const { return count; }
             Element *retrieve( int i )         // Methode retrieve() liefert zu einem Index einen Zeiger auf das entsprechende Element
             {
                     return (i &gt;= 0 &amp;&amp; i &lt; count)? &amp;v[i] : NULL;  // &amp;&amp; -&gt; UND Operator
                     /* obere Zeile entspricht: if( i &gt;=0 &amp;&amp; i &lt; count)
                                                {
                                                    return &amp;v[i]
                                                }
                                                else
                                                {
                                                    return NULL        (Nullzeiger zurückgeben)
                                                }*/
             }
             bool append( const Element&amp; el )
             {
                  return append (el.name, el.telNr );      // Neuen Eintrag in List hinzufügen
             }
             bool append( const string&amp; name,
                          const string&amp; telNr );
             bool erase( const string&amp; name );
             int search( const string&amp; name)const;         // Read-Only-Methode, es kann nur lesend darauf zugergriffen werden!
             void print()const;
             int print( const string&amp; name) const;
             int getNewEntries();
};
#endif       //_TelList_

// Implementierung der telList-Methoden
//-----------------------------------------
#include &quot;telList.h&quot;
#include&lt;iostream&gt;
#include&lt;iomanip&gt;
using namespace std;

bool TelList::append( const string&amp; name,   // Anhängen 
                      const string&amp; telNr) 
{
   if( count &lt; MAX                  // noch Platz im Vektor
       &amp;&amp; name.length() &gt; 1         // und mind. zwei Zeichen langer Name
       &amp;&amp; search(name) == PSEUDO)   // und noch nicht vorhanden
       {
          v[count].name == name;
          v[count].telNr == telNr;
          ++count;
          return true;
       }
       return false;
}

bool TelList::erase( const string&amp; key)    // Löschen
{
     int i = search(key);
     if( i != PSEUDO )
     {                                     
         v[i] = v[count -1];               // letztes Element in Position i kopieren
         --count;
         return true;
     }
     return false;
}

int TelList::search( const string&amp; key )const // suchfunktion (Nur read-only-implementiert!)
{
    for( int i = 0; i &lt; count; i++)
    if( v[i].name == key )
        return i;        // gefunden
    return PSEUDO;       // nicht gefunden
}

// Hilfsfunktion für die Ausgabe:
inline void tabHeader()          // Überschrift der Tabelle
{
       cout &lt;&lt; &quot;\n  Name                        Telefon-Nr\n&quot;
               &quot;--------------------------------------------&quot;
            &lt;&lt; endl;
}
inline void printline( const Element&amp; el)
{
       cout &lt;&lt; left &lt;&lt; setw(30) &lt;&lt; el.name &lt;&lt; el.telNr &lt;&lt; endl;
}

void TelList::print() const     // Alle Einträge ausgeben
{
     if( count == 0)
         cout &lt;&lt; &quot;\nDie Telefonliste ist leer!&quot; &lt;&lt; endl;
     else
     {
         tabHeader();
         for( int i = 0; i &lt; count; ++i)
              printline( v[i]);
     }
}

int TelList::print( const string&amp; name) const      // Alle Einträge die mit Name beginnen
{
    int matches = 0, len = name.length();

    for( int i = 0; i &lt; count; ++i)
    {
         if( v[i].name.compare(0, len, name) == 0) // Der Methode werden nur der anfang eines Namens übergeben, alle passenden Einträge
                                                   // werden dann danach angezeigt!
         {
           if( matches == 0) tabHeader();          // Überschrift vor erster Ausgabe         
           ++matches;
           printline( v[i]);
         }
    }
    if( matches == 0)
        cout &lt;&lt; &quot;Kein passender Eintrag gefunden!&quot; &lt;&lt; endl;
    return matches;
}

int TelList::getNewEntries()    // Neue Einträge im Dialog einlesen
{
    int inputCount = 0;
    cout &lt;&lt; &quot;\nNeuen Namen und Telefonnummern eingeben:&quot;
            &quot;\nEnde mit leerer Eingabe!&quot;
         &lt;&lt; endl;
    Element el;
    while( true)
    {
       cout &lt;&lt; &quot;\nNeuer Nachname, Vorname:  &quot;;
       cin.sync();
       getline( cin, el.name);
       if( el.name.empty())
           break;
       cout &lt;&lt; &quot;\nTelefonnummer:  &quot;;
       cin.sync();
       getline( cin, el.telNr);

       if( !append( el))
       {
           cout &lt;&lt; &quot;Name wurde nicht eingef\x81 \bgt!&quot; &lt;&lt; endl;
           if( count == MAX)
           {
               cout &lt;&lt; &quot;Die Tabelle ist voll!&quot; &lt;&lt; endl;
               break;
           }
           if( search( el.name) != PSEUDO)
               cout &lt;&lt; &quot;Name schon vorhanden!&quot; &lt;&lt; endl;
       }
       else
       {
           ++inputCount;
           cout &lt;&lt; &quot;Neues Element wurde eingef\x81 \bgt!&quot; &lt;&lt; endl;
       }
    }
    return inputCount;
}

// -----------------------------------
// TelList_.cpp
// Mit der Klasse TelList eine Telefonliste verwalten.
// -----------------------------------
#include &quot;TelList.h&quot;
#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;cctype&gt;
using namespace std;

inline void cls()
{
       cout &lt;&lt; &quot;\n&quot;;           // Nur New-Lines ausgeben, falls ANSI-Steuerzeichen nicht verfügbar.
}

inline void weiter()
{
       cout &lt;&lt; &quot;\n\nWeiter mit der Return-Taste!  &quot;;
       cin.sync();
       cin.clear();                   // Nur neue Eingabe
       while( cin.get() !='\n')
              ;
}

int menu();    // Ein Kommando einlesen

char header[] =
&quot;\n\n             *****  Telefonliste  *****\n\n&quot;;

TelList myFriends;       // Eine Telefonliste

int main()
{
    int aktion = 0;      // Kommando
    string name;         // zum Einlesen eines Namens

    myFriends.append(&quot;Lustig, Peter&quot;, &quot;0203-1234567&quot;);

    while( aktion != 'B')
    {
       aktion = menu();
       cls();
       cout &lt;&lt; header &lt;&lt; endl;

       switch( aktion)
       {
          case 'A':                    // Alles Anzeigen
                    myFriends.print();
                    weiter();
                    break;
          case 'F':                    // Suchen
                    cout &lt;&lt; 
                       &quot;\n--- Telefonnummer finden. ---\n &quot;
                       &quot;\nDen Anfang eines Namens eingeben:  &quot;;
                       getline( cin, name);
                       if( !name.empty())
                       {
                           myFriends.print( name);
                           weiter();
                       }
                       break;
          case 'H':                 // Hinzufügen
                    myFriends.getNewEntries();
                    break;
          case 'L':                 // Löschen
                    cout &lt;&lt;
                         &quot;\n--- Telefoneintrag l\x94 \bschen. ---\n &quot;
                         &quot;\nDen vollst\x84 \bndigen Namen eingeben: &quot;;
                         getline( cin, name);
                         if( !name.empty())
                         {
                             if( !myFriends.erase( name))
                                  cout &lt;&lt; name &lt;&lt; &quot; nicht gefunden!&quot;
                                       &lt;&lt; endl;
                             else
                                 cout &lt;&lt; &quot;Eintrag für &quot; &lt;&lt; name
                                      &lt;&lt; &quot; gel\x94 \bscht! &quot; &lt;&lt; endl;
                             weiter();
                         }
                         break;
          case 'B':                   // Beenden
                    cls();
                    break;
       }
    }  // Ende while!
    return 0;
}

int menu()
{
    static char menuStr[] =
    &quot;\n\n             A = Anzeigen aller Eintr\x84 \bge&quot;
    &quot;\n\n             F = Finden einer Telefonnummer&quot;
    &quot;\n\n             H = Hinzuf\x81 \bgen eines Eintrages&quot;
    &quot;\n\n             L = L\x94 \bschen eines Eintrages&quot;
    &quot;\n\n             B = Beenden des Programms&quot;
    &quot;\n\n Ihre Wahl:  &quot;;

    cls();
    cout &lt;&lt; header &lt;&lt; menuStr;

    char wahl;
    cin.sync();
    cin.clear();   // Nur neue Eingabe
    if( !cin.get(wahl))
        wahl = 'B';
    else
        wahl = toupper(wahl);

        cin.sync();          // Eingabepuffer löschen
        return wahl;
}
</code></pre>
<p>Ich hoffe ich habe die Forenregeln eingehalten und danke Euch im Voraus schonmal für eure Mühen!</p>
<p>Gruß<br />
Fritz</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/307906/übungsbsp-einer-telefonliste-zeigt-einträge-nicht-an</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 08:08:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/307906.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 08 Sep 2012 14:58:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Übungsbsp. einer Telefonliste zeigt Einträge nicht an on Sat, 08 Sep 2012 14:58:29 GMT]]></title><description><![CDATA[<p>Hallo an alle!</p>
<p>Ich beschäftige mich mit C++ und arbeite gerade das Buch &quot;C++ lernen und professionell anwenden&quot; durch. In Kapitel 16 Übungsaufgabe 5 (Falls jemand das Buch zur Hand haben sollte) wird ein Programm zur Erstellung und Pflege einer Telefonliste erstellt. Dieses Programm leuchtet mir auch ein, nur kann ich keine Einträge anzeigen lassen, obwohl standardmäßig ein Eintrag (&quot;Peter Lustig&quot;) vorhanden sein sollte! Der Compiler findet keine Fehler und ich habe schon mehrfach die gegebene Lösung mit meiner auf Fehler hin abgeglichen und nichts gefunden. Ich kann neue Einträge verfassen die anscheinend auch gespeichert werden (In der Ausgabe werden die reservierten Zeilen angelegt, jedoch nicht mit Einträgen gefüllt!) Da ich schon lange an diesem Problem sitze und nicht mehr weiter weiß, wollte ich Euch fragen ob ihr da mal drüber schauen könnt. Das Programm entspricht der Lösung, also dürfte eigentlcih nichts mehr großartig hinzuzufügen sein. Ich schätze es ist irgendein Fehler in der print()-Methode!<br />
Hier mal der Quellcode der Header-Datei integriert in das Anwenderprogramm:</p>
<pre><code class="language-cpp">//--------------------------------------------
// telList.h
// Eine Klasse telList zur Darstellung einer Liste mit Telefonnummern und Namen
//--------------------------------------------

#ifndef _TelList_
#define _TelList_

#include&lt;string&gt;
using namespace std;
#define PSEUDO -1                             // Preudoposition
#define MAX 100                               // Maximalanzahl der Elemente

// Typ eines Listen-Elements
struct Element { string name, telNr; };        // öffentliche Schnittstelle struct des neuen Types &quot;Element&quot;, was aus zwei strings
                                               // besteht: name und telNr

class TelList
{
      private:
              Element v[MAX];                  // Vektor mit Maximaler Anzahl an Elementen
              int count; 

      public:
             TelList() { count = 0; }           // Default-Konstruktor der den Zähler count auf 0 setzt
             int getCount()const { return count; }
             Element *retrieve( int i )         // Methode retrieve() liefert zu einem Index einen Zeiger auf das entsprechende Element
             {
                     return (i &gt;= 0 &amp;&amp; i &lt; count)? &amp;v[i] : NULL;  // &amp;&amp; -&gt; UND Operator
                     /* obere Zeile entspricht: if( i &gt;=0 &amp;&amp; i &lt; count)
                                                {
                                                    return &amp;v[i]
                                                }
                                                else
                                                {
                                                    return NULL        (Nullzeiger zurückgeben)
                                                }*/
             }
             bool append( const Element&amp; el )
             {
                  return append (el.name, el.telNr );      // Neuen Eintrag in List hinzufügen
             }
             bool append( const string&amp; name,
                          const string&amp; telNr );
             bool erase( const string&amp; name );
             int search( const string&amp; name)const;         // Read-Only-Methode, es kann nur lesend darauf zugergriffen werden!
             void print()const;
             int print( const string&amp; name) const;
             int getNewEntries();
};
#endif       //_TelList_

// Implementierung der telList-Methoden
//-----------------------------------------
#include &quot;telList.h&quot;
#include&lt;iostream&gt;
#include&lt;iomanip&gt;
using namespace std;

bool TelList::append( const string&amp; name,   // Anhängen 
                      const string&amp; telNr) 
{
   if( count &lt; MAX                  // noch Platz im Vektor
       &amp;&amp; name.length() &gt; 1         // und mind. zwei Zeichen langer Name
       &amp;&amp; search(name) == PSEUDO)   // und noch nicht vorhanden
       {
          v[count].name == name;
          v[count].telNr == telNr;
          ++count;
          return true;
       }
       return false;
}

bool TelList::erase( const string&amp; key)    // Löschen
{
     int i = search(key);
     if( i != PSEUDO )
     {                                     
         v[i] = v[count -1];               // letztes Element in Position i kopieren
         --count;
         return true;
     }
     return false;
}

int TelList::search( const string&amp; key )const // suchfunktion (Nur read-only-implementiert!)
{
    for( int i = 0; i &lt; count; i++)
    if( v[i].name == key )
        return i;        // gefunden
    return PSEUDO;       // nicht gefunden
}

// Hilfsfunktion für die Ausgabe:
inline void tabHeader()          // Überschrift der Tabelle
{
       cout &lt;&lt; &quot;\n  Name                        Telefon-Nr\n&quot;
               &quot;--------------------------------------------&quot;
            &lt;&lt; endl;
}
inline void printline( const Element&amp; el)
{
       cout &lt;&lt; left &lt;&lt; setw(30) &lt;&lt; el.name &lt;&lt; el.telNr &lt;&lt; endl;
}

void TelList::print() const     // Alle Einträge ausgeben
{
     if( count == 0)
         cout &lt;&lt; &quot;\nDie Telefonliste ist leer!&quot; &lt;&lt; endl;
     else
     {
         tabHeader();
         for( int i = 0; i &lt; count; ++i)
              printline( v[i]);
     }
}

int TelList::print( const string&amp; name) const      // Alle Einträge die mit Name beginnen
{
    int matches = 0, len = name.length();

    for( int i = 0; i &lt; count; ++i)
    {
         if( v[i].name.compare(0, len, name) == 0) // Der Methode werden nur der anfang eines Namens übergeben, alle passenden Einträge
                                                   // werden dann danach angezeigt!
         {
           if( matches == 0) tabHeader();          // Überschrift vor erster Ausgabe         
           ++matches;
           printline( v[i]);
         }
    }
    if( matches == 0)
        cout &lt;&lt; &quot;Kein passender Eintrag gefunden!&quot; &lt;&lt; endl;
    return matches;
}

int TelList::getNewEntries()    // Neue Einträge im Dialog einlesen
{
    int inputCount = 0;
    cout &lt;&lt; &quot;\nNeuen Namen und Telefonnummern eingeben:&quot;
            &quot;\nEnde mit leerer Eingabe!&quot;
         &lt;&lt; endl;
    Element el;
    while( true)
    {
       cout &lt;&lt; &quot;\nNeuer Nachname, Vorname:  &quot;;
       cin.sync();
       getline( cin, el.name);
       if( el.name.empty())
           break;
       cout &lt;&lt; &quot;\nTelefonnummer:  &quot;;
       cin.sync();
       getline( cin, el.telNr);

       if( !append( el))
       {
           cout &lt;&lt; &quot;Name wurde nicht eingef\x81 \bgt!&quot; &lt;&lt; endl;
           if( count == MAX)
           {
               cout &lt;&lt; &quot;Die Tabelle ist voll!&quot; &lt;&lt; endl;
               break;
           }
           if( search( el.name) != PSEUDO)
               cout &lt;&lt; &quot;Name schon vorhanden!&quot; &lt;&lt; endl;
       }
       else
       {
           ++inputCount;
           cout &lt;&lt; &quot;Neues Element wurde eingef\x81 \bgt!&quot; &lt;&lt; endl;
       }
    }
    return inputCount;
}

// -----------------------------------
// TelList_.cpp
// Mit der Klasse TelList eine Telefonliste verwalten.
// -----------------------------------
#include &quot;TelList.h&quot;
#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;cctype&gt;
using namespace std;

inline void cls()
{
       cout &lt;&lt; &quot;\n&quot;;           // Nur New-Lines ausgeben, falls ANSI-Steuerzeichen nicht verfügbar.
}

inline void weiter()
{
       cout &lt;&lt; &quot;\n\nWeiter mit der Return-Taste!  &quot;;
       cin.sync();
       cin.clear();                   // Nur neue Eingabe
       while( cin.get() !='\n')
              ;
}

int menu();    // Ein Kommando einlesen

char header[] =
&quot;\n\n             *****  Telefonliste  *****\n\n&quot;;

TelList myFriends;       // Eine Telefonliste

int main()
{
    int aktion = 0;      // Kommando
    string name;         // zum Einlesen eines Namens

    myFriends.append(&quot;Lustig, Peter&quot;, &quot;0203-1234567&quot;);

    while( aktion != 'B')
    {
       aktion = menu();
       cls();
       cout &lt;&lt; header &lt;&lt; endl;

       switch( aktion)
       {
          case 'A':                    // Alles Anzeigen
                    myFriends.print();
                    weiter();
                    break;
          case 'F':                    // Suchen
                    cout &lt;&lt; 
                       &quot;\n--- Telefonnummer finden. ---\n &quot;
                       &quot;\nDen Anfang eines Namens eingeben:  &quot;;
                       getline( cin, name);
                       if( !name.empty())
                       {
                           myFriends.print( name);
                           weiter();
                       }
                       break;
          case 'H':                 // Hinzufügen
                    myFriends.getNewEntries();
                    break;
          case 'L':                 // Löschen
                    cout &lt;&lt;
                         &quot;\n--- Telefoneintrag l\x94 \bschen. ---\n &quot;
                         &quot;\nDen vollst\x84 \bndigen Namen eingeben: &quot;;
                         getline( cin, name);
                         if( !name.empty())
                         {
                             if( !myFriends.erase( name))
                                  cout &lt;&lt; name &lt;&lt; &quot; nicht gefunden!&quot;
                                       &lt;&lt; endl;
                             else
                                 cout &lt;&lt; &quot;Eintrag für &quot; &lt;&lt; name
                                      &lt;&lt; &quot; gel\x94 \bscht! &quot; &lt;&lt; endl;
                             weiter();
                         }
                         break;
          case 'B':                   // Beenden
                    cls();
                    break;
       }
    }  // Ende while!
    return 0;
}

int menu()
{
    static char menuStr[] =
    &quot;\n\n             A = Anzeigen aller Eintr\x84 \bge&quot;
    &quot;\n\n             F = Finden einer Telefonnummer&quot;
    &quot;\n\n             H = Hinzuf\x81 \bgen eines Eintrages&quot;
    &quot;\n\n             L = L\x94 \bschen eines Eintrages&quot;
    &quot;\n\n             B = Beenden des Programms&quot;
    &quot;\n\n Ihre Wahl:  &quot;;

    cls();
    cout &lt;&lt; header &lt;&lt; menuStr;

    char wahl;
    cin.sync();
    cin.clear();   // Nur neue Eingabe
    if( !cin.get(wahl))
        wahl = 'B';
    else
        wahl = toupper(wahl);

        cin.sync();          // Eingabepuffer löschen
        return wahl;
}
</code></pre>
<p>Ich hoffe ich habe die Forenregeln eingehalten und danke Euch im Voraus schonmal für eure Mühen!</p>
<p>Gruß<br />
Fritz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249575</guid><dc:creator><![CDATA[Fritz83]]></dc:creator><pubDate>Sat, 08 Sep 2012 14:58:29 GMT</pubDate></item><item><title><![CDATA[Reply to Übungsbsp. einer Telefonliste zeigt Einträge nicht an on Sat, 08 Sep 2012 15:35:23 GMT]]></title><description><![CDATA[<p>Die append Funktion müsste wenn dann so aussehen:</p>
<pre><code class="language-cpp">bool TelList::append( const string&amp; name,   // Anhängen
                      const string&amp; telNr)
{
   if( count &lt; MAX                  // noch Platz im Vektor
       &amp;&amp; name.length() &gt; 1         // und mind. zwei Zeichen langer Name
       &amp;&amp; search(name) == PSEUDO)   // und noch nicht vorhanden
       {
          v[count].name = name;
          v[count].telNr = telNr;
          ++count;
          return true;
       }
       return false;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2249579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249579</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 08 Sep 2012 15:35:23 GMT</pubDate></item><item><title><![CDATA[Reply to Übungsbsp. einer Telefonliste zeigt Einträge nicht an on Sat, 08 Sep 2012 15:48:16 GMT]]></title><description><![CDATA[<p>Tatsächlich! Das war der Fehler! Vielen Dank! Zumal es in der Lösung auch wirklich nur mit einfachem Gleichheitszeichen steht! Das hab ich echt übersehen!<br />
Damit ist dieser Beitrag geschlossen...</p>
<p>Danke nochmal!</p>
<p>Gruß<br />
Fritz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249580</guid><dc:creator><![CDATA[Fritz83]]></dc:creator><pubDate>Sat, 08 Sep 2012 15:48:16 GMT</pubDate></item><item><title><![CDATA[Reply to Übungsbsp. einer Telefonliste zeigt Einträge nicht an on Sat, 08 Sep 2012 15:52:35 GMT]]></title><description><![CDATA[<p>Noch ein paar Anmerkungen:<br />
1. Benutze niemals using namespace in einer Header.<br />
2. Benutze für Konstanten const, und nicht define.<br />
3. Da die Anzahl der Einträge dynamisch ist, benutze std::vector und kein rohes Array.<br />
4. Benutze eine Initialisierungsliste.<br />
5. Wieso ist das Array in der main static?<br />
6. Die Deklaration einer Funktion vor der main und deren Implementierung nach der main, macht man normal auch nicht, denn was bringt dir das? Definiere die Funktion einfach vor der main.<br />
7. <code>cin.sync()</code> ist eine schlechte Idee, da es nicht auf jedem System funktioniert. Darum benutzt man immer <code>std::cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(),'\n')</code></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249581</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 08 Sep 2012 15:52:35 GMT</pubDate></item><item><title><![CDATA[Reply to Übungsbsp. einer Telefonliste zeigt Einträge nicht an on Sat, 08 Sep 2012 16:11:20 GMT]]></title><description><![CDATA[<p>Danke für die Anmerkungen! Ich arbeite das Buch chronologisch durch! Ich werd mir merken habs erst mal nur so gemacht wie dies da beschrieben haben!<br />
Danle vielmals nocheinmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249585</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249585</guid><dc:creator><![CDATA[Fritz83]]></dc:creator><pubDate>Sat, 08 Sep 2012 16:11:20 GMT</pubDate></item><item><title><![CDATA[Reply to Übungsbsp. einer Telefonliste zeigt Einträge nicht an on Sat, 08 Sep 2012 16:21:50 GMT]]></title><description><![CDATA[<p>Fritz83 schrieb:</p>
<blockquote>
<p>Danke für die Anmerkungen! Ich arbeite das Buch chronologisch durch! Ich werd mir merken habs erst mal nur so gemacht wie dies da beschrieben haben!<br />
Danle vielmals nocheinmal!</p>
</blockquote>
<p>Noch etwas: Ich kenne dieses Buch zwar nicht, aber define und einige Rezensionen lassen darauf schließen, dass das Buch nur bedingt gut ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249586</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 08 Sep 2012 16:21:50 GMT</pubDate></item><item><title><![CDATA[Reply to Übungsbsp. einer Telefonliste zeigt Einträge nicht an on Sat, 08 Sep 2012 16:27:23 GMT]]></title><description><![CDATA[<p>Naja, dies fängt halt beim Urschleim an!<br />
Kennst du bessere?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249588</guid><dc:creator><![CDATA[Fritz83]]></dc:creator><pubDate>Sat, 08 Sep 2012 16:27:23 GMT</pubDate></item><item><title><![CDATA[Reply to Übungsbsp. einer Telefonliste zeigt Einträge nicht an on Sat, 08 Sep 2012 16:44:34 GMT]]></title><description><![CDATA[<p>1. bruce eckel thinking in c++<br />
2. der c++ programmierer von ulrich breymann<br />
3. Einführung in die Programmierung mit C++ von Bjarne Stroustrup</p>
<p>Alle auf deutsch ehhältich und ersteres sogar kostenlos.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249590</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249590</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 08 Sep 2012 16:44:34 GMT</pubDate></item><item><title><![CDATA[Reply to Übungsbsp. einer Telefonliste zeigt Einträge nicht an on Sat, 08 Sep 2012 16:47:36 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>1. bruce eckel thinking in c++<br />
2. der c++ programmierer von ulrich breymann<br />
3. Einführung in die Programmierung mit C++ von Bjarne Stroustrup</p>
<p>Alle auf deutsch ehhältich und ersteres sogar kostenlos.</p>
</blockquote>
<p>Ups. ich meinte: 3. Die C++-Programmiersprache von Bjarne Stroustrup...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249591</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 08 Sep 2012 16:47:36 GMT</pubDate></item><item><title><![CDATA[Reply to Übungsbsp. einer Telefonliste zeigt Einträge nicht an on Sun, 09 Sep 2012 07:06:09 GMT]]></title><description><![CDATA[<p>Vielen Dank! Musste gestern erst mal auf Arbeit!<br />
Ich werd mir die mal zur Gemüte führen!</p>
<p>Gruß<br />
Fritz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249677</guid><dc:creator><![CDATA[Fritz83]]></dc:creator><pubDate>Sun, 09 Sep 2012 07:06:09 GMT</pubDate></item><item><title><![CDATA[Reply to Übungsbsp. einer Telefonliste zeigt Einträge nicht an on Mon, 10 Sep 2012 11:17:25 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>6. Die Deklaration einer Funktion vor der main und deren Implementierung nach der main, macht man normal auch nicht, denn was bringt dir das? Definiere die Funktion einfach vor der main.</p>
</blockquote>
<p>Sehe ich nicht so. Ich mach das z.B. gerne, weil es mir lieber ist, wenn die main gleich am Anfang steht und ich gleich sehe, wie das Programm startet. Dazu gab es, glaube ich, vor anderthalb Jahren eine Diskussion, die gezeigt hat, dass das schon nicht wenige so machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249920</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249920</guid><dc:creator><![CDATA[Beifahrer]]></dc:creator><pubDate>Mon, 10 Sep 2012 11:17:25 GMT</pubDate></item></channel></rss>