<?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[Fragen zu Listing]]></title><description><![CDATA[<p>Hi, ich hab ein paar Fragen zu folgendem Listing:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

struct geburtstage {
    char name[50];
    int tag;
    int monat;
    int jahr;
};

const int DATA = 10;

void input( int&amp; zaehler, struct geburtstage* ptr );
void output( int zaehler, struct geburtstage* ptr );

int main()
{
    struct geburtstage geb[DATA];
    int zaehler = 0, wahl;
    do
    {
        cout &lt;&lt; &quot;\nGeburtstage-Verwaltung\n&quot;;
        cout &lt;&lt; &quot;------------------------\n&quot;;
        cout &lt;&lt; &quot;-1- Eingeben&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;-2- Ausgeben&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;-3- Ende&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Ihre Auswahl bitte: &quot;;
        cin &gt;&gt; wahl;
        switch ( wahl )
        {
            case 1 :
            input( zaehler, geb );
            break;

            case 2 :
            output( zaehler, geb );
            break;

            case 3 :
            break;

            default :
            cout &lt;&lt; &quot;Falsche Eingabe&quot; &lt;&lt; endl;
        }
    }
    while( wahl != 3);
    return 0;
}

void input( int&amp; zaehler, struct geburtstage* ptr )
{
    cout &lt;&lt; &quot;Name: &quot;;
    cin &gt;&gt; ptr[zaehler].name;
    cout &lt;&lt; &quot;Tag: &quot;;
    cin &gt;&gt; ptr[zaehler].tag;
    cout &lt;&lt; &quot;Monat: &quot;;
    cin &gt;&gt; ptr[zaehler].monat;
    cout &lt;&lt; &quot;Jahr: &quot;;
    cin &gt;&gt; ptr[zaehler].jahr;
    zaehler++;  
}

void output( int zaehler, struct geburtstage* ptr )
{
    for(int i = 0; i &lt; zaehler; i++)
    {
        cout &lt;&lt; ptr[i].name &lt;&lt; &quot; - &quot;
             &lt;&lt; ptr[i].tag &lt;&lt; &quot;.&quot;
             &lt;&lt; ptr[i].monat &lt;&lt; &quot;.&quot;
             &lt;&lt; ptr[i].jahr &lt;&lt; endl;
    }
    cout &lt;&lt; &quot;\n\n&quot;;
}
</code></pre>
<p>1. Warum wird in folgender Zeile nur die Adresse von zaehler übergeben und nicht zaehler selbst?</p>
<pre><code class="language-cpp">void input( int&amp; zaehler, struct geburtstage* ptr )
</code></pre>
<p>2. Warum wird hier nicht mit dem Pfeiloperator (-&gt;) gearbeitet? ptr ist doch ein Zeiger, müsste dass nicht einen Fehler hervorrufen?</p>
<pre><code class="language-cpp">void input( int&amp; zaehler, struct geburtstage* ptr )
{
    cout &lt;&lt; &quot;Name: &quot;;
    cin &gt;&gt; ptr[zaehler].name;
    cout &lt;&lt; &quot;Tag: &quot;;
    cin &gt;&gt; ptr[zaehler].tag;
    cout &lt;&lt; &quot;Monat: &quot;;
    cin &gt;&gt; ptr[zaehler].monat;
    cout &lt;&lt; &quot;Jahr: &quot;;
    cin &gt;&gt; ptr[zaehler].jahr;
    zaehler++;  
}

void output( int zaehler, struct geburtstage* ptr )
{
    for(int i = 0; i &lt; zaehler; i++)
    {
        cout &lt;&lt; ptr[i].name &lt;&lt; &quot; - &quot;
             &lt;&lt; ptr[i].tag &lt;&lt; &quot;.&quot;
             &lt;&lt; ptr[i].monat &lt;&lt; &quot;.&quot;
             &lt;&lt; ptr[i].jahr &lt;&lt; endl;
    }
    cout &lt;&lt; &quot;\n\n&quot;;
}
</code></pre>
<p>Danke im voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/271893/fragen-zu-listing</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 05:20:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/271893.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Aug 2010 19:22:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fragen zu Listing on Thu, 05 Aug 2010 19:22:07 GMT]]></title><description><![CDATA[<p>Hi, ich hab ein paar Fragen zu folgendem Listing:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

struct geburtstage {
    char name[50];
    int tag;
    int monat;
    int jahr;
};

const int DATA = 10;

void input( int&amp; zaehler, struct geburtstage* ptr );
void output( int zaehler, struct geburtstage* ptr );

int main()
{
    struct geburtstage geb[DATA];
    int zaehler = 0, wahl;
    do
    {
        cout &lt;&lt; &quot;\nGeburtstage-Verwaltung\n&quot;;
        cout &lt;&lt; &quot;------------------------\n&quot;;
        cout &lt;&lt; &quot;-1- Eingeben&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;-2- Ausgeben&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;-3- Ende&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Ihre Auswahl bitte: &quot;;
        cin &gt;&gt; wahl;
        switch ( wahl )
        {
            case 1 :
            input( zaehler, geb );
            break;

            case 2 :
            output( zaehler, geb );
            break;

            case 3 :
            break;

            default :
            cout &lt;&lt; &quot;Falsche Eingabe&quot; &lt;&lt; endl;
        }
    }
    while( wahl != 3);
    return 0;
}

void input( int&amp; zaehler, struct geburtstage* ptr )
{
    cout &lt;&lt; &quot;Name: &quot;;
    cin &gt;&gt; ptr[zaehler].name;
    cout &lt;&lt; &quot;Tag: &quot;;
    cin &gt;&gt; ptr[zaehler].tag;
    cout &lt;&lt; &quot;Monat: &quot;;
    cin &gt;&gt; ptr[zaehler].monat;
    cout &lt;&lt; &quot;Jahr: &quot;;
    cin &gt;&gt; ptr[zaehler].jahr;
    zaehler++;  
}

void output( int zaehler, struct geburtstage* ptr )
{
    for(int i = 0; i &lt; zaehler; i++)
    {
        cout &lt;&lt; ptr[i].name &lt;&lt; &quot; - &quot;
             &lt;&lt; ptr[i].tag &lt;&lt; &quot;.&quot;
             &lt;&lt; ptr[i].monat &lt;&lt; &quot;.&quot;
             &lt;&lt; ptr[i].jahr &lt;&lt; endl;
    }
    cout &lt;&lt; &quot;\n\n&quot;;
}
</code></pre>
<p>1. Warum wird in folgender Zeile nur die Adresse von zaehler übergeben und nicht zaehler selbst?</p>
<pre><code class="language-cpp">void input( int&amp; zaehler, struct geburtstage* ptr )
</code></pre>
<p>2. Warum wird hier nicht mit dem Pfeiloperator (-&gt;) gearbeitet? ptr ist doch ein Zeiger, müsste dass nicht einen Fehler hervorrufen?</p>
<pre><code class="language-cpp">void input( int&amp; zaehler, struct geburtstage* ptr )
{
    cout &lt;&lt; &quot;Name: &quot;;
    cin &gt;&gt; ptr[zaehler].name;
    cout &lt;&lt; &quot;Tag: &quot;;
    cin &gt;&gt; ptr[zaehler].tag;
    cout &lt;&lt; &quot;Monat: &quot;;
    cin &gt;&gt; ptr[zaehler].monat;
    cout &lt;&lt; &quot;Jahr: &quot;;
    cin &gt;&gt; ptr[zaehler].jahr;
    zaehler++;  
}

void output( int zaehler, struct geburtstage* ptr )
{
    for(int i = 0; i &lt; zaehler; i++)
    {
        cout &lt;&lt; ptr[i].name &lt;&lt; &quot; - &quot;
             &lt;&lt; ptr[i].tag &lt;&lt; &quot;.&quot;
             &lt;&lt; ptr[i].monat &lt;&lt; &quot;.&quot;
             &lt;&lt; ptr[i].jahr &lt;&lt; endl;
    }
    cout &lt;&lt; &quot;\n\n&quot;;
}
</code></pre>
<p>Danke im voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1936763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1936763</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Thu, 05 Aug 2010 19:22:07 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Listing on Thu, 05 Aug 2010 20:06:33 GMT]]></title><description><![CDATA[<p>Der Zähler wird per Referenz ( &amp; ) übergeben, damit das Hochzählen auch einen Einfluss auf den Zähler im Programm hat. Du brauchst kein -&gt; da dies bei array[i] automatisch gemacht wird.</p>
<p>Das Programm wird krachen wenn der allokierte Speicher voll ist ... versuch mal 11 Adressen einzugeben. Du solltest in der Input darauf achten und evtl. kein neuen Datensatz anlegen wenn zaehler == DATA</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1936785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1936785</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Thu, 05 Aug 2010 20:06:33 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Listing on Thu, 05 Aug 2010 20:06:41 GMT]]></title><description><![CDATA[<p>Du hast in beiden Fällen unrecht:</p>
<pre><code class="language-cpp">void input( int&amp; zaehler, struct geburtstage* ptr )
</code></pre>
<p>Das &amp;-Zeichen hat hier eine andere Bedeutung als der Adressoperator. Es bedeutet, dass zaehler eine <em>Referenz</em> ist. Was das ist, schlägst du am besten im Lehrbuch deiner Wahl nach. Es handelt sich um eine äußerst wichtige und nützliche Sache.</p>
<p>Zur zweiten Frage:<br />
Ja, ptr ist ein Zeiger. Aber wenn man den Arrayzugriffsoperator[] darauf anwendet, dann wird er dereferenziert. Genau genommen wird aus <code>ptr[i]</code> folgendes gemacht: <code>*(ptr+i)</code> Und deshalb braucht man nicht mehr selbst zu dereferenzieren. Und diese kleine Umformung ist auch schon das große Geheimnis wie Arrays funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1936787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1936787</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 05 Aug 2010 20:06:41 GMT</pubDate></item></channel></rss>