<?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[1. Prog. zu Funktionen]]></title><description><![CDATA[<p>Huhu, ich hänge mal wieder fest an Funktion aufrufen.<br />
Hier mein Programm, bekomme immer 0 raus am ende <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<pre><code class="language-cpp">//1. Programm zu Funktionen/Return

#include &lt;iostream&gt;

using namespace std;

int ermitteln (int Schaden, int HP, int Rest, int Hits); //Prototyp

//Hauptprogramm
int main ()
{
    //Variablen
    int Schaden = 0;
    int HP = 0;
    int Hits = 0;
    int Rest;

    //funktionsaufruf
    Rest = ermitteln (Schaden, HP, Rest, Hits);

    //Dialog
    cout &lt;&lt; &quot;Ich brauche sofort einen Statusreport ueber meine HP!&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Nicht verfuegbar~&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Kannst du es ermitteln?&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;\nBitte erhaltene Hits eingeben: &quot;;
    cin &gt;&gt; Hits;
    cout &lt;&lt; endl;
    cout &lt;&lt; &quot;Nun bitte den Schaden der Hits eintippen: &quot;;
    cin &gt;&gt; Schaden;
    cout &lt;&lt; endl;
    cout &lt;&lt; &quot;... Was waren deine Start-HP: &quot;;
    cin &gt;&gt; HP;
    cout &lt;&lt; &quot;Werte werden ermittelt~&quot;;
    cout &lt;&lt; &quot;Rest HP: &quot; &lt;&lt; Rest &lt;&lt; endl;
    cout &lt;&lt; &quot;~Vorgang abgeschlossen~&quot; &lt;&lt; endl;

    system (&quot;PAUSE&quot;); 
    return(0);

}

int ermitteln (int Schaden, int HP, int Rest, int Hits)
{
    int Temp; 

    Temp = HP - Hits * Schaden;

    return Temp; //rückgabe des ergebnisses
}
</code></pre>
<p>Hoffe auf NETTE und hilfreiche antworten <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/306826/1-prog-zu-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 07 Aug 2026 04:39:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/306826.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Aug 2012 11:47:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 11:47:16 GMT]]></title><description><![CDATA[<p>Huhu, ich hänge mal wieder fest an Funktion aufrufen.<br />
Hier mein Programm, bekomme immer 0 raus am ende <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<pre><code class="language-cpp">//1. Programm zu Funktionen/Return

#include &lt;iostream&gt;

using namespace std;

int ermitteln (int Schaden, int HP, int Rest, int Hits); //Prototyp

//Hauptprogramm
int main ()
{
    //Variablen
    int Schaden = 0;
    int HP = 0;
    int Hits = 0;
    int Rest;

    //funktionsaufruf
    Rest = ermitteln (Schaden, HP, Rest, Hits);

    //Dialog
    cout &lt;&lt; &quot;Ich brauche sofort einen Statusreport ueber meine HP!&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Nicht verfuegbar~&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Kannst du es ermitteln?&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;\nBitte erhaltene Hits eingeben: &quot;;
    cin &gt;&gt; Hits;
    cout &lt;&lt; endl;
    cout &lt;&lt; &quot;Nun bitte den Schaden der Hits eintippen: &quot;;
    cin &gt;&gt; Schaden;
    cout &lt;&lt; endl;
    cout &lt;&lt; &quot;... Was waren deine Start-HP: &quot;;
    cin &gt;&gt; HP;
    cout &lt;&lt; &quot;Werte werden ermittelt~&quot;;
    cout &lt;&lt; &quot;Rest HP: &quot; &lt;&lt; Rest &lt;&lt; endl;
    cout &lt;&lt; &quot;~Vorgang abgeschlossen~&quot; &lt;&lt; endl;

    system (&quot;PAUSE&quot;); 
    return(0);

}

int ermitteln (int Schaden, int HP, int Rest, int Hits)
{
    int Temp; 

    Temp = HP - Hits * Schaden;

    return Temp; //rückgabe des ergebnisses
}
</code></pre>
<p>Hoffe auf NETTE und hilfreiche antworten <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/2240016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240016</guid><dc:creator><![CDATA[TsunaxXxHonoo]]></dc:creator><pubDate>Wed, 08 Aug 2012 11:47:16 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 11:49:17 GMT]]></title><description><![CDATA[<p>Natürlich kommt da 0 raus. 0 + 0*0 = 0</p>
<p>Du darfst &quot;ermitteln&quot; erst aufrufen, wenn du die Eingaben gelesen hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240017</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 08 Aug 2012 11:49:17 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 11:50:07 GMT]]></title><description><![CDATA[<p>Wie wärs, wenn du die Funktion aufrufst, nachdem du die Daten eingegebn hast und bevor du das Ergebnis ausgibst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240018</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Wed, 08 Aug 2012 11:50:07 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 11:54:07 GMT]]></title><description><![CDATA[<p>thihihi, dankeschön, jetzt geht es <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="🙂"
    /><br />
Wusste nicht dass man die Funktion erst zu einem gewissen Zeitpunkt aufrufen darf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240019</guid><dc:creator><![CDATA[TsunaxXxHonoo]]></dc:creator><pubDate>Wed, 08 Aug 2012 11:54:07 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 11:55:32 GMT]]></title><description><![CDATA[<p>Lerne frühzeitig, mit dem Debugger umzugehen. Dann findest du solche Fehler in &lt; 1 Minute (mit anschließendem *kopfklatsch* <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> ).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240020</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 08 Aug 2012 11:55:32 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 11:57:28 GMT]]></title><description><![CDATA[<p>NekoHiTsuna schrieb:</p>
<blockquote>
<p>thihihi, dankeschön, jetzt geht es <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="🙂"
    /><br />
Wusste nicht dass man die Funktion erst zu einem gewissen Zeitpunkt aufrufen darf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Dein Programm läuft <strong>sequentiell</strong>. Eine Zeile nach der anderen wird abgearbeitet. Wenn du eine Funktion aufrufst und ihr Werte übergibst, arbeitet sie selbstverständlich mit diesen Werten. Nicht mit Werten, die du eventuell irgendwann später im Programm noch erzeugst. In deinem Fall übergibst du der Funktion ermitteln ausschließich Nullen. Und damit rechnet sie dann nun mal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240023</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 08 Aug 2012 11:57:28 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 11:59:27 GMT]]></title><description><![CDATA[<p>NekoHiTsuna schrieb:</p>
<blockquote>
<p>thihihi, dankeschön, jetzt geht es <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="🙂"
    /><br />
Wusste nicht dass man die Funktion erst zu einem gewissen Zeitpunkt aufrufen darf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Welche Werte soll er denn für die Funktionsparameter annehemen?<br />
Die Namen der Variablen sind Schall und Rauch.<br />
Der Prototyp braucht die Namen noch nicht einmal:</p>
<pre><code class="language-cpp">int ermitteln (int, int, int, int); //Geht auch
// Nur dann weißt du nicht mehr wofür die Parameter stehen :-(
</code></pre>
<p>Da kannst du auch direkt Zahlenwerte einsetzten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240025</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Wed, 08 Aug 2012 11:59:27 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 12:00:08 GMT]]></title><description><![CDATA[<p>hm, ja ok Danke <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>
<p>ja hatte halt gedacht dass das bei Funktionen übertragen anders ist... naja hinterher ist mal immer schlauer, aus Fehlern lernt man <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240026</guid><dc:creator><![CDATA[TsunaxXxHonoo]]></dc:creator><pubDate>Wed, 08 Aug 2012 12:00:08 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 12:04:37 GMT]]></title><description><![CDATA[<p>DirkB schrieb:</p>
<blockquote>
<p>NekoHiTsuna schrieb:</p>
<blockquote>
<p>thihihi, dankeschön, jetzt geht es <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="🙂"
    /><br />
Wusste nicht dass man die Funktion erst zu einem gewissen Zeitpunkt aufrufen darf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Welche Werte soll er denn für die Funktionsparameter annehemen?<br />
Die Namen der Variablen sind Schall und Rauch.<br />
Der Prototyp braucht die Namen noch nicht einmal:</p>
<pre><code class="language-cpp">int ermitteln (int, int, int, int); //Geht auch
// Nur dann weißt du nicht mehr wofür die Parameter stehen :-(
</code></pre>
<p>Da kannst du auch direkt Zahlenwerte einsetzten.</p>
</blockquote>
<p>hmmm? meinst du also dass ich nach int gleich die zahl setzen könnte? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
aber dann ist dass doch gar nicht für die variable definiert... oder? *verwirrt sei* <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240028</guid><dc:creator><![CDATA[TsunaxXxHonoo]]></dc:creator><pubDate>Wed, 08 Aug 2012 12:04:37 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 12:14:12 GMT]]></title><description><![CDATA[<p>Nee, beim Funktionsaufruf kannst du Zahlenwerte einsetzen:<br />
<a href="//z.B">//z.B</a>.</p>
<pre><code class="language-cpp">Rest = ermitteln (Schaden, HP, 0, Hits); // den 3. Parameter nutzt du in der Funktion eh nicht.
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">Rest = ermitteln (100, 100000, 0, 2);
</code></pre>
<p>War schlecht formuliert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240033</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Wed, 08 Aug 2012 12:14:12 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 12:20:05 GMT]]></title><description><![CDATA[<p>DirkB schrieb:</p>
<blockquote>
<p>Nee, beim Funktionsaufruf kannst du Zahlenwerte einsetzen:<br />
<a href="//z.B">//z.B</a>.</p>
<pre><code class="language-cpp">Rest = ermitteln (Schaden, HP, 0, Hits); // den 3. Parameter nutzt du in der Funktion eh nicht.
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">Rest = ermitteln (100, 100000, 0, 2);
</code></pre>
<p>War schlecht formuliert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>hm, ist mir noch ein klein wenig unklar (klingt für mich noch unlogisch)<br />
aber trotzdem danke für deine antwort <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="🙂"
    /><br />
ich werde dann mal mein buch weiterlesen, mal schauen was da jetzt noch alles zu diesem thema kommt <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/2240038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240038</guid><dc:creator><![CDATA[TsunaxXxHonoo]]></dc:creator><pubDate>Wed, 08 Aug 2012 12:20:05 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 13:02:08 GMT]]></title><description><![CDATA[<p>NekoHiTsuna schrieb:</p>
<blockquote>
<p>DirkB schrieb:</p>
<blockquote>
<p>Nee, beim Funktionsaufruf kannst du Zahlenwerte einsetzen:<br />
<a href="//z.B">//z.B</a>.</p>
<pre><code class="language-cpp">Rest = ermitteln (Schaden, HP, 0, Hits); // den 3. Parameter nutzt du in der Funktion eh nicht.
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">Rest = ermitteln (100, 100000, 0, 2);
</code></pre>
<p>War schlecht formuliert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>hm, ist mir noch ein klein wenig unklar (klingt für mich noch unlogisch)<br />
aber trotzdem danke für deine antwort <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="🙂"
    /><br />
ich werde dann mal mein buch weiterlesen, mal schauen was da jetzt noch alles zu diesem thema kommt <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>
</blockquote>
<p>jetzt verstehe ich was du meinst nachdem ich weitergelesen habe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
... es wird dann erklärt dass es genügt den datentyp reinzuschreiben aber die reihenfolge sollte man einhalten (die reihenfolge der datentypen vor dem aufrufen der funktion)deswegen ist es übersichtlicher dann noch einen name dazuzuschreiben, aber nötig ist es nicht <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>
<p>wenn ich das so richtig verstanden habe <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/2240059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240059</guid><dc:creator><![CDATA[TsunaxXxHonoo]]></dc:creator><pubDate>Wed, 08 Aug 2012 13:02:08 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 13:32:22 GMT]]></title><description><![CDATA[<p>Kennst du Funktionen aus dem Mathe-Unterricht? So f(x)=y und so? Unsere Funktionen sind gar nicht unähnlich. Die wollen irgendwelche Werte übergeben bekommen (x) und spucken dafür einen Rückgabewert aus (y). Woher der Übergabewert x kommt, ist egal. Ob du jetzt direkt eine 3 übergibst, oder ob du eine Variable übergibst, die den Wert 3 hat, kommt für die Funktion aufs Gleiche raus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240075</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 08 Aug 2012 13:32:22 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 13:49:54 GMT]]></title><description><![CDATA[<p>hm, achso.</p>
<p>mal was anderes nebenbei: habe gerade ein beispiel gehabt wo es um Stack geht...<br />
naja schaut auch am besten mal das programm an, dann wisst ihr was ich meine, ich verstehe halt nicht wieso es gleich bleibt:</p>
<pre><code class="language-cpp">//Funktion intern: Der Stack
#include &lt;iostream&gt;

using namespace std;

void erhoehePunkte (int Punkte);

//Hauptprogramm
int main ()
{
    //Variablen
    int Punkte = 1000;  //Punkte

    cout &lt;&lt; &quot;Punkte vor Funktionsaufruf :&quot; &lt;&lt; Punkte &lt;&lt; endl;

    erhoehePunkte (Punkte);

    cout &lt;&lt; &quot;Punkte nach Funktionsaufruf: &quot; &lt;&lt; Punkte &lt;&lt; endl;
    system (&quot;PAUSE&quot;);
    return 0;
}
//erhoehe Punkte
void erhoehePunkte (int Punkte)
{
     Punkte+=100;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2240086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240086</guid><dc:creator><![CDATA[TsunaxXxHonoo]]></dc:creator><pubDate>Wed, 08 Aug 2012 13:49:54 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 14:10:10 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Kennst du Funktionen aus dem Mathe-Unterricht? So f(x)=y und so? Unsere Funktionen sind gar nicht unähnlich. Die wollen irgendwelche Werte übergeben bekommen (x) und spucken dafür einen Rückgabewert aus (y). Woher der Übergabewert x kommt, ist egal. Ob du jetzt direkt eine 3 übergibst, oder ob du eine Variable übergibst, die den Wert 3 hat, kommt für die Funktion aufs Gleiche raus.</p>
</blockquote>
<p>Naja, die andere Auffassung ist im Matheunterricht aber auch nicht unverbreitet. Es geht hier um den Unterschied zwischen strict evaluation und non-strict evaluation. Beides sind berechtige Ansichten zum Nutzen von Funktionen und beides findet man sowohl im Alltagsgebrauch als auch in verschiedenen Programmiersprachen. C++ nutzt strict evaluation, der Threadersteller geht von lazy evaluation aus. Das geht natürlich nicht gut.</p>
<p>Ein typisches Beispiel für eine Sprache mit lazy evaluation ist der C-Präprozessor:</p>
<pre><code class="language-cpp">#define X 1
#define Y 2

#define foo X + Y

#undef X
#undef Y
#define X 4
#define Y 6

foo   // 4 + 6
</code></pre>
<p>edit: Zumindest die Ursprungfrage hatte dieses Problem. Weiteres Lesen des Threads lässt mich vermuten, dass da noch mehr falsche Vorstellungen sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240092</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 08 Aug 2012 14:10:10 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 14:00:05 GMT]]></title><description><![CDATA[<p>Die Variable &quot;Punkte&quot; in &quot;erhoehePunkte&quot; ist eine andere Variable als &quot;Punkte&quot; in &quot;main&quot; - die beiden heißen nur gleich.</p>
<p>Vergleich: Du hast zwei Mülleimer. Einen in der Küche und einen im Keller. Wenn du etwas in den Mülleiner in der Küche reinwirfst, verändert sich der Mülleimer im Keller nicht.</p>
<p>Das Zauberwort heißt hier &quot;Call-by-value&quot; vs. &quot;Call-by-reference&quot;. Danach kannst du ja mal googlen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240094</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 08 Aug 2012 14:00:05 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 14:21:29 GMT]]></title><description><![CDATA[<p>die zahl 1000 von Punkte wurde ja dennoch an die funktion übertragen...und... hmmm... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>*jumping out the basement-window*</p>
<p>edit: sehe gerade bei <a href="http://blog.gungfu.de/archives/2005/07/05/der-unterschied-zwischen-call-by-value-und-call-by-reference/" rel="nofollow">http://blog.gungfu.de/archives/2005/07/05/der-unterschied-zwischen-call-by-value-und-call-by-reference/</a> dass dort steht dass eine kopie übertragen wird aber x nicht verändert wird. also Punkte=Punkte*100, &quot;die veränderung ist nicht sichtbar innerhalb einer methode&quot; so stand es da ca.. und Punkte bleibt? oder wie ist das zu verstehen... ~bei int &amp; punkte ist es ja sichtbar~ (seid geduldig mit mir, ich brauche immer meine zeit bis ich was verstehe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240102</guid><dc:creator><![CDATA[TsunaxXxHonoo]]></dc:creator><pubDate>Wed, 08 Aug 2012 14:21:29 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 16:14:41 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;

void func1(int i) {
  i=2;  //i ist eine lokale Kopie des übergebenen Wertes.
}

void func2(int&amp; i) {
  i=2;  //i ist eine Referenz auf die übergebene Variable
}

int main() {
  int test=1;

  func1(test);   //Übergabe by-value
  std::cout &lt;&lt; test;  //test ist immer noch 1

  func2(test);   //Übergabe by-reference
  std::cout &lt;&lt; test;  //test ist nun 2
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2240114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240114</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 08 Aug 2012 16:14:41 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 15:14:48 GMT]]></title><description><![CDATA[<p>wann kommen diese 2 varianten denn zum einsatz?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240130</guid><dc:creator><![CDATA[TsunaxXxHonoo]]></dc:creator><pubDate>Wed, 08 Aug 2012 15:14:48 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 16:22:22 GMT]]></title><description><![CDATA[<p>NekoHiTsuna schrieb:</p>
<blockquote>
<p>wann kommen diese 2 varianten denn zum einsatz?</p>
</blockquote>
<p>Na ja, call-by-value ist quasi der Standard. call-by-reference nimmst du immer dann, wenn du einen Grund dazu hast. Beispiel: du willst eine Funktion schreiben, die die Werte zweier int-Variablen vertauscht. Hier bietet sich call-by-reference an:</p>
<pre><code class="language-cpp">void swap(int&amp; a, int&amp; b) {
  int temp=a;
  a=b;
  b=temp;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2240152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240152</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 08 Aug 2012 16:22:22 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Wed, 08 Aug 2012 16:43:20 GMT]]></title><description><![CDATA[<p>Sobald du Abstrakte Datentypen (ADT) benutzt (kommt später denke ich mal) möchtest du nicht jedesmal das komplette Objekt kopieren, deshalb ist es dort auch in etwa 95% der Fälle ein Call-Per-Referenz.</p>
<p>Zum lazy-Evaluation: Haskell ist auch ein typisches Beispiel. Streng genommen benutzt der Präprozessor nicht lazy-Evaluation, weil das ist definiert durch leftmost-outermost-Graphreduction, und letzteres ist dabei nicht erfüllt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240159</guid><dc:creator><![CDATA[Cyres]]></dc:creator><pubDate>Wed, 08 Aug 2012 16:43:20 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Thu, 09 Aug 2012 07:21:29 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Na ja, call-by-value ist quasi der Standard.</p>
</blockquote>
<p>Bei den eingebauten Datentypen vielleicht. Größere Objekte sollen standardmäßig als const Referenz übergeben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240294</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Thu, 09 Aug 2012 07:21:29 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Thu, 09 Aug 2012 11:24:26 GMT]]></title><description><![CDATA[<p>ich sag jetzt einfach mal ok xD</p>
<p>naja, erstmal vielen dank für die ganzen antworten <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/2240353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240353</guid><dc:creator><![CDATA[TsunaxXxHonoo]]></dc:creator><pubDate>Thu, 09 Aug 2012 11:24:26 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Thu, 09 Aug 2012 15:31:08 GMT]]></title><description><![CDATA[<p>Hast du dich denn entscheiden können?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240447</guid><dc:creator><![CDATA[Cyres]]></dc:creator><pubDate>Thu, 09 Aug 2012 15:31:08 GMT</pubDate></item><item><title><![CDATA[Reply to 1. Prog. zu Funktionen on Thu, 09 Aug 2012 20:54:28 GMT]]></title><description><![CDATA[<p>für was entscheiden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2240532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2240532</guid><dc:creator><![CDATA[TsunaxXxHonoo]]></dc:creator><pubDate>Thu, 09 Aug 2012 20:54:28 GMT</pubDate></item></channel></rss>