<?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[problem mit dem auto(markt) :), brauche hilfe mit list&amp;lt;&amp;gt; push und pop!]]></title><description><![CDATA[<p>hi ich wollte mal ne kleine uebung zu listen machen, und habe folgendes beispiel konstruiert. es funktioniert auch, bis auf einen kleinen hacken</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#include &lt;iostream&gt;
#include &lt;list&gt;
    using namespace std;

#pragma hdrstop
#pragma argsused

void line( int c ) {

    for( int i = 0; i &lt; c; ++i ) {

        cout &lt;&lt; &quot;=&quot;;
    }
    cout &lt;&lt; endl;
}

class car {

    public:

        car();
        ~car();
        void buy( char *_Name );
        void sell( char *_Name );
        void myCars();

    private:

        list&lt;char&gt; autos;
        list&lt;char&gt;::iterator iter;
        int _autos;
        char _name[64];
};

    car::car() {

        _autos = 0;
        _name[0] = 0;
    }

    car::~car() {

        _autos = 0;
        _name[0] = 0;
    }

    void car::buy( char *_Name ) {

        strcpy( _name, _Name );
        _autos++;

        cout &lt;&lt; &quot; Sie haben sich das Auto [ &quot; &lt;&lt; _name &lt;&lt; &quot; ] gekauft und\n&quot;
                &quot; besitzen nun &quot; &lt;&lt; _autos &lt;&lt; &quot; Auto(s).&quot; &lt;&lt; endl;

        autos.push_back( *_name );
    }

    void car::sell( char *_Name ) {

        strcpy( _name, _Name );
        _autos--;

        cout &lt;&lt; &quot; Sie haben das Auto [ &quot; &lt;&lt; _name &lt;&lt; &quot; ] vergekauft und\n&quot;
                &quot; besitzen nun &quot; &lt;&lt; _autos &lt;&lt; &quot; Auto(s).&quot; &lt;&lt; endl;

        if( autos.size() ) {

            autos.remove( *_name );
        }
    }

    void car::myCars() {

        line( 50 );

         for( iter = autos.begin(); iter != autos.end(); ++iter ) {

            cout &lt;&lt; *iter &lt;&lt; endl;
         }
        line( 50 );
    }

int main(int argc, char* argv[]) {

    char kaufen[64];
    char verkaufen[64];
    int vote;
    bool done = false;

    car *p = new car;

    line( 80 );

    cout &lt;&lt; &quot; Automarkt &quot; &lt;&lt; endl;
    line( 80 );

    do {

        cout &lt;&lt; &quot; Was fuer ein Auto kaufst du dir?\n&quot;;
        cout &lt;&lt; &quot; Name: &quot;; cin &gt;&gt; kaufen;
        line( 50 );
        p-&gt;buy( kaufen );

        line( 80 );

        cout &lt;&lt; &quot; Moechtest du ein Auto verkaufen oder den Automarkt verlassen?\n&quot;
                &quot; Nutze folgende Optionen:\n&quot;
                &quot; [Verkaufen - 1 ] / [Kaufen - 2 ] / [Meine Autos - 3 ].\n&quot;
                &quot; [Verlassen - 4 ]&quot;;
        cout &lt;&lt; &quot; Wahl: &quot;; cin &gt;&gt; vote;

        switch( vote ) {

            case 1: {

                cout &lt;&lt; &quot; Was fuer ein Auto willst du verkaufen ?\n&quot;;
                line( 50 );
                cout &lt;&lt; &quot; Name: &quot;; cin &gt;&gt; verkaufen;

                p-&gt;sell( verkaufen );

                line( 80 );
                break;
            }

            case 2: {

                done = false;
                break;
            }

            case 3: {

                cout &lt;&lt; &quot; Deine momentanen Autos sin: &quot; &lt;&lt; endl;
                p-&gt;myCars();
                break;
            }
            case 4: {

                done = true;
            }
        }

    } while( !done );

    return 0;
}
</code></pre>
<p>wenn ich mit der funktion myAutos() meine autos anschaun will sehe ich das immer nur der erste buchstabe in die liste gepackt wurde und nicht der ganze name, also statt Mercedes nur das M. woran liegt das???</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/164072/problem-mit-dem-auto-markt-brauche-hilfe-mit-list-lt-gt-push-und-pop</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 14:25:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164072.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 04 Nov 2006 19:00:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to problem mit dem auto(markt) :), brauche hilfe mit list&amp;lt;&amp;gt; push und pop! on Sat, 04 Nov 2006 19:00:36 GMT]]></title><description><![CDATA[<p>hi ich wollte mal ne kleine uebung zu listen machen, und habe folgendes beispiel konstruiert. es funktioniert auch, bis auf einen kleinen hacken</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------

#include &lt;iostream&gt;
#include &lt;list&gt;
    using namespace std;

#pragma hdrstop
#pragma argsused

void line( int c ) {

    for( int i = 0; i &lt; c; ++i ) {

        cout &lt;&lt; &quot;=&quot;;
    }
    cout &lt;&lt; endl;
}

class car {

    public:

        car();
        ~car();
        void buy( char *_Name );
        void sell( char *_Name );
        void myCars();

    private:

        list&lt;char&gt; autos;
        list&lt;char&gt;::iterator iter;
        int _autos;
        char _name[64];
};

    car::car() {

        _autos = 0;
        _name[0] = 0;
    }

    car::~car() {

        _autos = 0;
        _name[0] = 0;
    }

    void car::buy( char *_Name ) {

        strcpy( _name, _Name );
        _autos++;

        cout &lt;&lt; &quot; Sie haben sich das Auto [ &quot; &lt;&lt; _name &lt;&lt; &quot; ] gekauft und\n&quot;
                &quot; besitzen nun &quot; &lt;&lt; _autos &lt;&lt; &quot; Auto(s).&quot; &lt;&lt; endl;

        autos.push_back( *_name );
    }

    void car::sell( char *_Name ) {

        strcpy( _name, _Name );
        _autos--;

        cout &lt;&lt; &quot; Sie haben das Auto [ &quot; &lt;&lt; _name &lt;&lt; &quot; ] vergekauft und\n&quot;
                &quot; besitzen nun &quot; &lt;&lt; _autos &lt;&lt; &quot; Auto(s).&quot; &lt;&lt; endl;

        if( autos.size() ) {

            autos.remove( *_name );
        }
    }

    void car::myCars() {

        line( 50 );

         for( iter = autos.begin(); iter != autos.end(); ++iter ) {

            cout &lt;&lt; *iter &lt;&lt; endl;
         }
        line( 50 );
    }

int main(int argc, char* argv[]) {

    char kaufen[64];
    char verkaufen[64];
    int vote;
    bool done = false;

    car *p = new car;

    line( 80 );

    cout &lt;&lt; &quot; Automarkt &quot; &lt;&lt; endl;
    line( 80 );

    do {

        cout &lt;&lt; &quot; Was fuer ein Auto kaufst du dir?\n&quot;;
        cout &lt;&lt; &quot; Name: &quot;; cin &gt;&gt; kaufen;
        line( 50 );
        p-&gt;buy( kaufen );

        line( 80 );

        cout &lt;&lt; &quot; Moechtest du ein Auto verkaufen oder den Automarkt verlassen?\n&quot;
                &quot; Nutze folgende Optionen:\n&quot;
                &quot; [Verkaufen - 1 ] / [Kaufen - 2 ] / [Meine Autos - 3 ].\n&quot;
                &quot; [Verlassen - 4 ]&quot;;
        cout &lt;&lt; &quot; Wahl: &quot;; cin &gt;&gt; vote;

        switch( vote ) {

            case 1: {

                cout &lt;&lt; &quot; Was fuer ein Auto willst du verkaufen ?\n&quot;;
                line( 50 );
                cout &lt;&lt; &quot; Name: &quot;; cin &gt;&gt; verkaufen;

                p-&gt;sell( verkaufen );

                line( 80 );
                break;
            }

            case 2: {

                done = false;
                break;
            }

            case 3: {

                cout &lt;&lt; &quot; Deine momentanen Autos sin: &quot; &lt;&lt; endl;
                p-&gt;myCars();
                break;
            }
            case 4: {

                done = true;
            }
        }

    } while( !done );

    return 0;
}
</code></pre>
<p>wenn ich mit der funktion myAutos() meine autos anschaun will sehe ich das immer nur der erste buchstabe in die liste gepackt wurde und nicht der ganze name, also statt Mercedes nur das M. woran liegt das???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1168483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1168483</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Sat, 04 Nov 2006 19:00:36 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit dem auto(markt) :), brauche hilfe mit list&amp;lt;&amp;gt; push und pop! on Sat, 04 Nov 2006 19:03:09 GMT]]></title><description><![CDATA[<p>Liegt sehr wahrscheinlich daran, dass deine liste 'autos' auch nur Zeichen und keine Strings speichert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1168487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1168487</guid><dc:creator><![CDATA[Der Meister]]></dc:creator><pubDate>Sat, 04 Nov 2006 19:03:09 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit dem auto(markt) :), brauche hilfe mit list&amp;lt;&amp;gt; push und pop! on Sat, 04 Nov 2006 19:06:33 GMT]]></title><description><![CDATA[<p>hmm und wenn ich list&lt;char*&gt; mache, dann wird zwar der ganze name gespichert, aber will ich dann noch nen auto kaufen, wird der erste name irgendwie mit dem neuen ueberschrieben...also</p>
<p>1. eingabe:<br />
Mercedes</p>
<p>2. eingabe:<br />
BMW</p>
<p>das resultat ist dann:<br />
BMW<br />
BMW</p>
<p>3. eingabe:<br />
LOL</p>
<p>resultat:<br />
LOL<br />
LOL<br />
LOL</p>
<p>usw., was mach ich falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1168489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1168489</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Sat, 04 Nov 2006 19:06:33 GMT</pubDate></item><item><title><![CDATA[Reply to problem mit dem auto(markt) :), brauche hilfe mit list&amp;lt;&amp;gt; push und pop! on Sat, 04 Nov 2006 19:15:12 GMT]]></title><description><![CDATA[<p>Du speicherst jedesmal den zeiger auf den selben Puffer und überschreibst diesen jedes mal.</p>
<p>Nimm doch einfach std::string, damit ersparst du dir diese (und weitere) Probleme gleich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1168493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1168493</guid><dc:creator><![CDATA[Der Meister]]></dc:creator><pubDate>Sat, 04 Nov 2006 19:15:12 GMT</pubDate></item></channel></rss>