<?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[Brauch mal jemand der Ahnung hat. Funktionen auslagern]]></title><description><![CDATA[<p>Wir sollten die Funktion Schaltjahr auslagern.<br />
Das wäre meine ausgelagerte Funktion.</p>
<p>bool istSchaltjahr(int jahr){<br />
if (jahr % 4 == 0)<br />
{<br />
jahr = false;</p>
<pre><code>    if(jahr % 100== 0){
        
        if (jahr % 400 == 0)
        {
            jahr = true;
        }
    else {
        jahr = false;
    }
        
    }else {jahr = true;}

}else { jahr = false;}


return jahr;
</code></pre>
<p>}</p>
<p>Und so sieht meine Main Funktion aus?<br />
//Eingabe//<br />
cout &lt;&lt; endl;<br />
cout &lt;&lt; (&quot;Jahreszahl &quot;);<br />
cin &gt;&gt; jahr;<br />
jahr = istSchaltjahr(jahr);<br />
if (jahr == true){<br />
cout &lt;&lt; jahr &lt;&lt; &quot; ist ein Schaltjahr&quot; &lt;&lt; endl;}<br />
else{<br />
cout &lt;&lt; jahr &lt;&lt; &quot; ist kein Schaltjahr&quot; &lt;&lt; endl;}</p>
<p>Mein Prof meinte ich hab irgendwas mit dem Datentyp verkackt?<br />
muss ich bool jahr; also Variable definieren??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/348608/brauch-mal-jemand-der-ahnung-hat-funktionen-auslagern</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 16:44:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/348608.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Nov 2018 15:29:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Wed, 28 Nov 2018 15:29:42 GMT]]></title><description><![CDATA[<p>Wir sollten die Funktion Schaltjahr auslagern.<br />
Das wäre meine ausgelagerte Funktion.</p>
<p>bool istSchaltjahr(int jahr){<br />
if (jahr % 4 == 0)<br />
{<br />
jahr = false;</p>
<pre><code>    if(jahr % 100== 0){
        
        if (jahr % 400 == 0)
        {
            jahr = true;
        }
    else {
        jahr = false;
    }
        
    }else {jahr = true;}

}else { jahr = false;}


return jahr;
</code></pre>
<p>}</p>
<p>Und so sieht meine Main Funktion aus?<br />
//Eingabe//<br />
cout &lt;&lt; endl;<br />
cout &lt;&lt; (&quot;Jahreszahl &quot;);<br />
cin &gt;&gt; jahr;<br />
jahr = istSchaltjahr(jahr);<br />
if (jahr == true){<br />
cout &lt;&lt; jahr &lt;&lt; &quot; ist ein Schaltjahr&quot; &lt;&lt; endl;}<br />
else{<br />
cout &lt;&lt; jahr &lt;&lt; &quot; ist kein Schaltjahr&quot; &lt;&lt; endl;}</p>
<p>Mein Prof meinte ich hab irgendwas mit dem Datentyp verkackt?<br />
muss ich bool jahr; also Variable definieren??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566134</guid><dc:creator><![CDATA[BW82]]></dc:creator><pubDate>Wed, 28 Nov 2018 15:29:42 GMT</pubDate></item><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Wed, 28 Nov 2018 15:31:37 GMT]]></title><description><![CDATA[<p>Zumindest hast du die Quelltext-Formatierung verkackt.<br />
Funktioniert deine <code>istSchaltjahr</code> Funktion? Wenn nein, was sagt der Debugger?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566135</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 28 Nov 2018 15:31:37 GMT</pubDate></item><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Wed, 28 Nov 2018 15:35:23 GMT]]></title><description><![CDATA[<p>habs auch aus einem großen Projekt raus kopiert. sry<br />
Es funktioniert alles ohne Probleme, dass ist ja das lustige…</p>
<p>hier nochmal die Main :</p>
<pre><code>do
{
	Menu = menu() ;
	
	switch (Menu)
	{
	case 'a': //Berechnung Kreis und Kugel 

		cout &lt;&lt; endl;
		cout &lt;&lt; &quot;Radius: &quot;;
		cin &gt;&gt; radius;
		kreis_kugel(radius);


		break;
	case 'b':  // Bauernmultiplikation 
	  // Eingabe
		erg = 0;
			cout &lt;&lt; endl;
		cout &lt;&lt; &quot;Russische Bauernmultiplikation&quot; &lt;&lt; endl &lt;&lt; endl;
		cout &lt;&lt; &quot;In jedem Rechenschritt wird...&quot; &lt;&lt; endl;
		cout &lt;&lt; &quot;  -der erste Faktor durch 2 dividiert.&quot; &lt;&lt; endl;
		cout &lt;&lt; &quot;  -der zweite Faktor verdoppelt&quot; &lt;&lt; endl &lt;&lt; endl;
		cout &lt;&lt; &quot;Geben Sie den ersten Faktor ein: &quot;;
		cin &gt;&gt; a;
		cout &lt;&lt; &quot;Geben Sie den zweiten Faktor ein: &quot;;
		cin &gt;&gt; b;
	bauernmultiplikation(a,b);
		

		break;
	case 'c': // Schaltjahr
			
            //Eingabe
		cout &lt;&lt; endl;
		cout &lt;&lt; (&quot;Jahreszahl &quot;);
		cin &gt;&gt; jahr;
           jahr = istSchaltjahr(jahr);
            if (jahr == true){
                cout &lt;&lt; jahr &lt;&lt; &quot; ist ein Schaltjahr&quot; &lt;&lt; endl;}
            else{
                cout &lt;&lt; jahr &lt;&lt; &quot; ist kein Schaltjahr&quot; &lt;&lt; endl;}
		break;

	case 'd'://  Berechnung pq-Formel

            cout &lt;&lt; endl &lt;&lt; &quot;Eingabe p &quot;;
		cin &gt;&gt; p;
		cout &lt;&lt; endl &lt;&lt; &quot;Eingabe q &quot;;
		cin &gt;&gt; q;
          Diskriminante = quad_gl( p, q, x1, x2);
            if(Diskriminante&lt;0){
                cout &lt;&lt; &quot;Keine Loesung&quot; &lt;&lt; endl;
                
            }
            else{
            
            cout &lt;&lt;  &quot;Nullstelle 1: &quot; &lt;&lt;x1 &lt;&lt; endl;
                cout &lt;&lt;  &quot;Nullstelle 2: &quot; &lt;&lt;x2 &lt;&lt; endl;}
		if (x1 == x2) {
			cout &lt;&lt; endl &lt;&lt; &quot;Doppelnullstelle &quot; &lt;&lt; endl;
		}
	
		break;

        case 'e':{ //Nachbarn tauschen
            int daten [MAXANZAHL];
            daten [] = nachbarn_tauschen(daten, MAXANZAHL);
                
            feldausgeben(daten,MAXANZAHL); // Ausgelagerte Feldausgabe
            
          
            
            break;}
        case 'x': // Programmende
		programmende = true;
		break;
            

        default: cout &lt;&lt; &quot;Der eingegebene Wert &quot; &lt;&lt; Menu
		&lt;&lt; &quot; ist nicht gueltig!&quot; &lt;&lt; endl;
		break;
        }
            
}// Ende switch
while (programmende == false);

system (&quot;Pause&quot;);
return 0;
}</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2566137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566137</guid><dc:creator><![CDATA[BW82]]></dc:creator><pubDate>Wed, 28 Nov 2018 15:35:23 GMT</pubDate></item><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Wed, 28 Nov 2018 15:41:43 GMT]]></title><description><![CDATA[<p>Warum soll jahr gleichzeitig <code>2018</code> und <code>true</code> darstelllen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566138</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Wed, 28 Nov 2018 15:41:43 GMT</pubDate></item><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Wed, 28 Nov 2018 15:50:11 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35084">@BW82</a> sagte in <a href="/forum/post/2566137">Brauch mal jemand der Ahnung hat. Funktionen auslagern</a>:</p>
<blockquote>
<p>Es funktioniert alles ohne Probleme, dass ist ja das lustige…</p>
</blockquote>
<p>Soso... ist 1900 ein Schaltjahr?</p>
<p>Edit: Eigene Dummheit <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=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566139</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 28 Nov 2018 15:50:11 GMT</pubDate></item><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Wed, 28 Nov 2018 16:24:33 GMT]]></title><description><![CDATA[<p>@manni66 sagte in <a href="/forum/post/2566138">Brauch mal jemand der Ahnung hat. Funktionen auslagern</a>:</p>
<blockquote>
<p>Warum soll jahr gleichzeitig <code>2018</code> und <code>true</code> darstelllen?</p>
</blockquote>
<p>heißt also ich muss dem boolschen wert noch zu ordnen??</p>
<p>Mein Gott Leute, wenn ich nicht Hilfe bräuchte würde ich nicht fragen, also spart euch doch dumme Kommentare und gebt lieber konstruktive KRITIK , die einem hilft.<br />
Danke!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566141</guid><dc:creator><![CDATA[BW82]]></dc:creator><pubDate>Wed, 28 Nov 2018 16:24:33 GMT</pubDate></item><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Wed, 28 Nov 2018 16:36:38 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35084">@BW82</a> sagte in <a href="/forum/post/2566141">Brauch mal jemand der Ahnung hat. Funktionen auslagern</a>:</p>
<blockquote>
<p>@manni66 sagte in <a href="/forum/post/2566138">Brauch mal jemand der Ahnung hat. Funktionen auslagern</a>:</p>
<blockquote>
<p>Warum soll jahr gleichzeitig <code>2018</code> und <code>true</code> darstelllen?</p>
</blockquote>
<p>heißt also ich muss dem boolschen wert noch zu ordnen??</p>
</blockquote>
<p>Keine Ahnung wie du das meinst. Es sollten zwei Variablen sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566142</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Wed, 28 Nov 2018 16:36:38 GMT</pubDate></item><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Wed, 28 Nov 2018 17:05:58 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35084">@BW82</a> sagte in <a href="/forum/post/2566141">Brauch mal jemand der Ahnung hat. Funktionen auslagern</a>:</p>
<blockquote>
<p>Mein Gott Leute, wenn ich nicht Hilfe bräuchte würde ich nicht fragen, also spart euch doch dumme Kommentare und gebt lieber konstruktive KRITIK , die einem hilft.</p>
</blockquote>
<p>Mannis Kommentar war konstruktiv.<br />
Du sollst darüber <strong>nachdenken</strong> ob das gut ist, wenn <em>jahr</em> den Wert <code>false</code> hat.<br />
Den hat es, wenn <code>if(jahr % 100== 0)</code> ausgeführt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566148</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Wed, 28 Nov 2018 17:05:58 GMT</pubDate></item><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Wed, 28 Nov 2018 17:39:12 GMT]]></title><description><![CDATA[<p>@manni66 also eine variable für true und false, und eine separate für Jahr.<br />
also sowas in der art?</p>
<pre><code class="language-cpp">if(jahr % 100== 0){
       if (jahr % 400 == 0)
        {
            annahme = true;
        }
    else {
       annahme = false;
    }
        
    }else {annahme = true;}

}else { annahme = false;}


return annahme;
}

</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2566157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566157</guid><dc:creator><![CDATA[BW82]]></dc:creator><pubDate>Wed, 28 Nov 2018 17:39:12 GMT</pubDate></item><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Wed, 28 Nov 2018 18:33:46 GMT]]></title><description><![CDATA[<p>So funktioniert es.<br />
hier in main:</p>
<pre><code class="language-cpp">  bool annahme;
                //Eingabe
			cout &lt;&lt; endl;
			cout &lt;&lt; (&quot;Jahreszahl &quot;);
			cin &gt;&gt; jahr;
               annahme = istSchaltjahr(jahr);
                if (annahme == true){
                    cout &lt;&lt; jahr &lt;&lt; &quot; ist ein Schaltjahr&quot; &lt;&lt; endl;}
                else{
                    cout &lt;&lt; jahr &lt;&lt; &quot; ist kein Schaltjahr&quot; &lt;&lt; endl;}
</code></pre>
<pre><code class="language-cpp">bool istSchaltjahr(int jahr){
    bool annahme;

    if (jahr % 4 == 0)
    {
        annahme= false;
        
        if(jahr % 100== 0){
            
            if (jahr % 400 == 0)
            {
                annahme = true;
            }
        else {
            annahme = false;
        }
            
        }else {annahme = true;}
    
    }else { annahme = false;}
    

    return annahme;
    
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2566158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566158</guid><dc:creator><![CDATA[BW82]]></dc:creator><pubDate>Wed, 28 Nov 2018 18:33:46 GMT</pubDate></item><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Wed, 28 Nov 2018 19:37:06 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35084">@BW82</a><br />
Das ganze lässt sich auch noch kompakter schreiben</p>
<pre><code class="language-cpp">bool check_leap_year (int year) {
    if ((year % 400) == 0) return true;
    if ((year % 100) == 0) return false;
    if ((year % 4)   == 0) return true;
    return false;
}
</code></pre>
<p>Weil man hier über die Abfolge der Prüfungen das gewünschte Ziel erreichen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566160</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Wed, 28 Nov 2018 19:37:06 GMT</pubDate></item><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Wed, 28 Nov 2018 20:05:03 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16792">@john-0</a> Dank dir!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566163</guid><dc:creator><![CDATA[BW82]]></dc:creator><pubDate>Wed, 28 Nov 2018 20:05:03 GMT</pubDate></item><item><title><![CDATA[Reply to Brauch mal jemand der Ahnung hat. Funktionen auslagern on Thu, 29 Nov 2018 10:53:51 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16792">@john-0</a> sagte in <a href="/forum/post/2566160">Brauch mal jemand der Ahnung hat. Funktionen auslagern</a>:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35084">@BW82</a><br />
Das ganze lässt sich auch noch kompakter schreiben</p>
<pre><code class="language-cpp">bool check_leap_year (int year) {
    if ((year % 400) == 0) return true;
    if ((year % 100) == 0) return false;
    if ((year % 4)   == 0) return true;
    return false;
}
</code></pre>
<p>Weil man hier über die Abfolge der Prüfungen das gewünschte Ziel erreichen kann.</p>
</blockquote>
<p>Man kann sich noch zusätzlich um Effizienz bemühen, die nötigen Division sind ja u.U. vergleichsweise aufwändig, also ist es wahrscheinlich günstig, die im Durchschnitt nötige Anzahl von Bedigungen zu minimieren. Die gezeigte Variante ist dabei am ungünstigsten, hier werden durchschnittlich 2.9875 if-Bedigungen pro Funktionsaufruf geprüft.</p>
<p>Besser ist es, die Sequenz herumzudrehen:</p>
<pre><code class="language-cpp">bool is_leap_year (int year) {
    // return (year % 4 == 0) &amp;&amp; ((year % 100 != 0) || (year % 400 == 0));
    if ((year % 4) != 0) return false;
    if ((year % 100) != 0) return true;
    if ((year % 400) != 0) return false;
    return true;
}
</code></pre>
<p>mit nur durchschnittlich 1.26 zu prüfenden Bedigungen je Funktionsaufruf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566191</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566191</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Thu, 29 Nov 2018 10:53:51 GMT</pubDate></item></channel></rss>