<?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[Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>vorweg: Ich bin Anfänger und beschäftige mich erst seit 2 Wochen mit c++, deswegen bitte ich um Verständnis für zu einfache Fragen <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>
<p>Folgendes Problem: Aufgabenstellung</p>
<p>Erstellen Sie ein Programm mit dem Namen aufgabe4-2.cpp. Dieses Programm soll<br />
entscheiden, ob eine eingegebene positive Ganzzahl (int) teilbar durch die Teiler 2 bis 10 ist.<br />
Stellen Sie sicher, dass die Zahl positiv ist! Gehen Sie dabei wie folgt vor:<br />
i. Erstellen Sie eine Funktion, welche die Zahl und den Teiler als Parameter erwartet.<br />
Ist die Zahl teilbar, soll der Wert true, andernfalls der Wert false zurückgegeben<br />
werden. Nutzen Sie die Modulo-Funktion (%)<br />
ii. Im Hauptprogramm soll der Rückgabewert ausgewertet werden und eine<br />
entsprechende Ausgabe auf dem Bildschirm erfolgen<br />
Beispielausgabe:<br />
Eingegebene Zahl: 14<br />
14 ist teilbar durch 2<br />
14 ist nicht teilbar durch 3</p>
<p>So, und hier meine &quot;Lösung&quot; ( die natürlich nicht funzt):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int eingabe; //Globale Deklaration der Variablen eingabe und a
int a;

int rechnung(int eingabe, int a) // Deklaration und Definition der Unterfunktion rechnung
{
    while (a&lt;=10)
          {
             if ((eingabe%a)==0) 
                {
                return true;
                }
             else if ((eingabe%a)!=0)
                {
                return false;
                }
           }
}

int main()        //Hauptprogramm
{ 
  cout &lt;&lt; &quot;-----&gt; Dieses Programm berechnet die Teiler einer positiven, ganzen Zahl &lt;-----&quot; &lt;&lt; endl;
  cout &lt;&lt; &quot;Bitte eine positive, ganze Zahl eingeben!&quot; &lt;&lt; endl;
  cin &gt;&gt; eingabe;
  if (eingabe&lt;=0)
     {
       cout &lt;&lt; &quot;Diese Eingabe ist ungueltig! Bitte Programm neu starten!&quot; &lt;&lt; endl;
       return 0;
      }
rechnung(eingabe, a=1);
if (rechnung(eingabe,a)==true) 
         {
          cout &lt;&lt; eingabe &lt;&lt; &quot; ist teilbar durch &quot; &lt;&lt; a &lt;&lt; endl;
          a=a++;
          rechnung(eingabe,a);
         }         
else if (rechnung(eingabe,a)==false)
         {
         cout &lt;&lt; eingabe &lt;&lt; &quot; ist nicht teilbar durch &quot; &lt;&lt; a &lt;&lt; endl;
         a=a++;
         rechnung(eingabe,a);
         }    
}
</code></pre>
<p>Zuerst sei gesagt, ich verstehe das mit dem Rückgabewert nicht ganz.</p>
<p>Ist der Rückgabewert eine Variable vom Typ bool mit dem Wert &quot;true&quot; bzw. &quot;false&quot; oder wird das true so zurückgegeben wie ich mir das da oben mit &quot;return true;&quot; gedacht habe?</p>
<p>Ich habe keine Ahnung wie ich der Variable a den Startwert 2 (soll die Teiler von 2-10 testen) so zuweise, daß sie auch inkrementiert werden kann.<br />
Wie inkrementiere ich a, daß das auch übernommen wird?</p>
<p>Leider berechnet das Programm nur ob die Zahl durch 1 teilbar ist, anstatt wie von mir gewünscht im Hauptprogramm den Rückgabewert true oder false zu interpretieren, eine entsprechende Meldung auszugeben und die funktion rechnung dann erneut aufzurufen bis a dann gleich 10 ist.</p>
<p>Danke für Eure Antworten</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/182404/anfängerfrage-ermittlung-der-teiler-einen-positiven-ganzzahl</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 00:09:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/182404.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 24 May 2007 17:18:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Thu, 24 May 2007 17:18:46 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>vorweg: Ich bin Anfänger und beschäftige mich erst seit 2 Wochen mit c++, deswegen bitte ich um Verständnis für zu einfache Fragen <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>
<p>Folgendes Problem: Aufgabenstellung</p>
<p>Erstellen Sie ein Programm mit dem Namen aufgabe4-2.cpp. Dieses Programm soll<br />
entscheiden, ob eine eingegebene positive Ganzzahl (int) teilbar durch die Teiler 2 bis 10 ist.<br />
Stellen Sie sicher, dass die Zahl positiv ist! Gehen Sie dabei wie folgt vor:<br />
i. Erstellen Sie eine Funktion, welche die Zahl und den Teiler als Parameter erwartet.<br />
Ist die Zahl teilbar, soll der Wert true, andernfalls der Wert false zurückgegeben<br />
werden. Nutzen Sie die Modulo-Funktion (%)<br />
ii. Im Hauptprogramm soll der Rückgabewert ausgewertet werden und eine<br />
entsprechende Ausgabe auf dem Bildschirm erfolgen<br />
Beispielausgabe:<br />
Eingegebene Zahl: 14<br />
14 ist teilbar durch 2<br />
14 ist nicht teilbar durch 3</p>
<p>So, und hier meine &quot;Lösung&quot; ( die natürlich nicht funzt):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int eingabe; //Globale Deklaration der Variablen eingabe und a
int a;

int rechnung(int eingabe, int a) // Deklaration und Definition der Unterfunktion rechnung
{
    while (a&lt;=10)
          {
             if ((eingabe%a)==0) 
                {
                return true;
                }
             else if ((eingabe%a)!=0)
                {
                return false;
                }
           }
}

int main()        //Hauptprogramm
{ 
  cout &lt;&lt; &quot;-----&gt; Dieses Programm berechnet die Teiler einer positiven, ganzen Zahl &lt;-----&quot; &lt;&lt; endl;
  cout &lt;&lt; &quot;Bitte eine positive, ganze Zahl eingeben!&quot; &lt;&lt; endl;
  cin &gt;&gt; eingabe;
  if (eingabe&lt;=0)
     {
       cout &lt;&lt; &quot;Diese Eingabe ist ungueltig! Bitte Programm neu starten!&quot; &lt;&lt; endl;
       return 0;
      }
rechnung(eingabe, a=1);
if (rechnung(eingabe,a)==true) 
         {
          cout &lt;&lt; eingabe &lt;&lt; &quot; ist teilbar durch &quot; &lt;&lt; a &lt;&lt; endl;
          a=a++;
          rechnung(eingabe,a);
         }         
else if (rechnung(eingabe,a)==false)
         {
         cout &lt;&lt; eingabe &lt;&lt; &quot; ist nicht teilbar durch &quot; &lt;&lt; a &lt;&lt; endl;
         a=a++;
         rechnung(eingabe,a);
         }    
}
</code></pre>
<p>Zuerst sei gesagt, ich verstehe das mit dem Rückgabewert nicht ganz.</p>
<p>Ist der Rückgabewert eine Variable vom Typ bool mit dem Wert &quot;true&quot; bzw. &quot;false&quot; oder wird das true so zurückgegeben wie ich mir das da oben mit &quot;return true;&quot; gedacht habe?</p>
<p>Ich habe keine Ahnung wie ich der Variable a den Startwert 2 (soll die Teiler von 2-10 testen) so zuweise, daß sie auch inkrementiert werden kann.<br />
Wie inkrementiere ich a, daß das auch übernommen wird?</p>
<p>Leider berechnet das Programm nur ob die Zahl durch 1 teilbar ist, anstatt wie von mir gewünscht im Hauptprogramm den Rückgabewert true oder false zu interpretieren, eine entsprechende Meldung auszugeben und die funktion rechnung dann erneut aufzurufen bis a dann gleich 10 ist.</p>
<p>Danke für Eure Antworten</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291594</guid><dc:creator><![CDATA[blind.io]]></dc:creator><pubDate>Thu, 24 May 2007 17:18:46 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Thu, 24 May 2007 17:27:45 GMT]]></title><description><![CDATA[<p><a href="http://blind.io" rel="nofollow">blind.io</a> schrieb:</p>
<blockquote>
<p>Ist der Rückgabewert eine Variable vom Typ bool mit dem Wert &quot;true&quot; bzw. &quot;false&quot; oder wird das true so zurückgegeben wie ich mir das da oben mit &quot;return true;&quot; gedacht habe?</p>
</blockquote>
<p>Was hast du dir denn dabei gedacht? So wie's jetzt ausschaut wird das true bzw. false (was vom Typ bool ist) in ein int umgewandelt. false ist dann 0 und true irgendwas ungleich 0, meistens 1. Lass die Funktion ein bool zurückgeben, das ist sinnvoller.</p>
<p><a href="http://blind.io" rel="nofollow">blind.io</a> schrieb:</p>
<blockquote>
<p>Ich habe keine Ahnung wie ich der Variable a den Startwert 2 (soll die Teiler von 2-10 testen) so zuweise, daß sie auch inkrementiert werden kann.<br />
Wie inkrementiere ich a, daß das auch übernommen wird?</p>
</blockquote>
<pre><code class="language-cpp">a=a++;
</code></pre>
<p>Mal darüber nachgedacht, was das macht? Kleiner Tip: Es gibt einen wichtigen Unterschied zwischen Prä- und Postinkrement.<br />
Ersetz die Zeile erstmal durch a++ oder ++a, dann funktionierts schonmal. Aber nachdenken solltest du trotzdem <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/1291602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291602</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 24 May 2007 17:27:45 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Thu, 24 May 2007 18:28:42 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;

bool is_valid(const unsigned short, const unsigned short);

int main()
{
	std::cout &lt;&lt; &quot;=&gt; Positive Teiler V0.1 Beta &lt;=&quot; &lt;&lt; std::endl;
	unsigned int number = 0;
	do {
		std::cout &lt;&lt; &quot;Zahl: &quot; &lt;&lt; std::endl;
	} while (!(std::cin &gt;&gt; number) || number == 0);

	for (unsigned short i = 1; i &lt;= 10; ++i)
		std::cout &lt;&lt; number &lt;&lt; &quot; ist &quot; &lt;&lt; (is_valid(number, i) ? &quot;nicht &quot; : &quot;&quot;) &lt;&lt; &quot;durch &quot; &lt;&lt; i &lt;&lt; &quot; teilbar.&quot; &lt;&lt; std::endl;
}

bool is_valid(const unsigned short value, const unsigned short step)
{
	return (value % step == 0);
}
</code></pre>
<p>... guck es dir an ... wenn de was nicht verstehst sag bescheid.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291652</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 24 May 2007 18:28:42 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Thu, 24 May 2007 18:44:27 GMT]]></title><description><![CDATA[<p>Hier das funzt jetzt:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int eingabe; //Globale Deklaration der Variablen eingabe, a, b
int a=2;
bool b;

int rechnung(int eingabe, int a, bool b) // Deklaration und Definition der Unterfunktion rechnung
{
             if ((eingabe%a)==0) 
                {
                return b=true;
                }
             else if ((eingabe%a)!=0)
                {
                return b=false;
                }

}

int main()        //Hauptprogramm
{ 
  cout &lt;&lt; &quot;-----&gt; Dieses Programm berechnet die Teiler einer positiven, ganzen Zahl &lt;-----&quot; &lt;&lt; endl;
  cout &lt;&lt; &quot;Bitte eine positive, ganze Zahl eingeben!&quot; &lt;&lt; endl;
  cin &gt;&gt; eingabe;
  if (eingabe&lt;=0)
     {
       cout &lt;&lt; &quot;Diese Eingabe ist ungueltig! Bitte Programm neu starten!&quot; &lt;&lt; endl;
       return 0;
      }
      else
      {
while (a&lt;=10)
{
rechnung(eingabe, a, b);
if (rechnung(eingabe, a, b)==true) 
         {
          cout &lt;&lt; eingabe &lt;&lt; &quot; ist teilbar durch &quot; &lt;&lt; a &lt;&lt; endl;
          }         
else if (rechnung(eingabe, a, b)==false)
         {
         cout &lt;&lt; eingabe &lt;&lt; &quot; ist nicht teilbar durch &quot; &lt;&lt; a &lt;&lt; endl;
         }
a++;
}

}

}
</code></pre>
<p>Bei der if-else if Anweisung am Schluss:<br />
Frage ich da den Rückgabewert nur von b oder von der ganzen Funktion ab?</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291666</guid><dc:creator><![CDATA[blind.io]]></dc:creator><pubDate>Thu, 24 May 2007 18:44:27 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Thu, 24 May 2007 18:47:50 GMT]]></title><description><![CDATA[<p>Jetzt mal ehrlich:</p>
<pre><code class="language-cpp">(!(std::cin &gt;&gt; number) || number == 0);
(is_valid(number, i) ? &quot;nicht &quot; : &quot;&quot;)
const unsigned short
</code></pre>
<p>sowas ist nicht unbedingt für jemand verständlich<br />
der erst 2 Wochen programmiert!</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

bool teilbar(int zahl, int teiler) {

        if( zahl%teiler == 0 ) {        //Wenn Zahl durch teiler teilbar ist
                return true;            //gebe true zurück
        } else {                        //Ansonsten
                return false;           //gebe false zurück
        }

}

int main() {

        int zahl = 0;

        cout &lt;&lt; &quot;Teilerermittlungsprogramm&quot; &lt;&lt; endl;

        cout &lt;&lt; &quot;Bitte eine Zahl eingeben&quot; &lt;&lt; endl;
        cin &gt;&gt; zahl;                                 //zahl einlesen

        for(int i = 2; i &lt;= 10; i++) {               //In einer Schleife überprüfen wir alle Zahlen von 2 bis 10... 
                if(teilbar(zahl,i)) {                //...ob sie Teiler von zahl sind

                        cout &lt;&lt; &quot;Die Zahl &quot; &lt;&lt; zahl &lt;&lt; &quot; ist teilbar durch &quot; &lt;&lt; i &lt;&lt; endl;
                } else {
                        cout &lt;&lt; &quot;Die Zahl &quot; &lt;&lt; zahl &lt;&lt; &quot; ist nicht teilbar durch &quot; &lt;&lt; i &lt;&lt; endl;
                }
        }

        return 0;
}
</code></pre>
<p>So ich denke damit solltest du besser zurechtkommen.<br />
Schau mal ob du diesen code verstehst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291669</guid><dc:creator><![CDATA[Mario Sandler]]></dc:creator><pubDate>Thu, 24 May 2007 18:47:50 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Thu, 24 May 2007 19:10:39 GMT]]></title><description><![CDATA[<p>Also Devils Code da versteh ich gar nichts von <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>
<p>Xapeks ist verständlich, da sieht man mal wieviel unnötigen Code ich in meiner Lösung geschrieben habe.</p>
<p>Aber ich arbeite noch dran und bin sehr lernwillig</p>
<p>Vielen Dank für eure Antworten</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291705</guid><dc:creator><![CDATA[blind.io]]></dc:creator><pubDate>Thu, 24 May 2007 19:10:39 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Thu, 24 May 2007 19:30:42 GMT]]></title><description><![CDATA[<p>Ach ja, nur damit das nicht untergeht: Dein Fehler oben war, dass a++ und ++a schon selbst a = a + 1 darstellen, aber bei ersterem wird der alte wert zurückgeliefert. Du hast also quasi erst a um eins erhöht, es dann aber wieder mit seinem alten Wert überschrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1291732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291732</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Thu, 24 May 2007 19:30:42 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Thu, 24 May 2007 19:43:30 GMT]]></title><description><![CDATA[<p><a href="http://Storm.Xapek.de" rel="nofollow">Storm.Xapek.de</a> schrieb:</p>
<blockquote>
<pre><code class="language-cpp">bool teilbar(int zahl, int teiler) {

        if( zahl%teiler == 0 ) {        //Wenn Zahl durch teiler teilbar ist
                return true;            //gebe true zurück
        } else {                        //Ansonsten
                return false;           //gebe false zurück
        }

}
</code></pre>
</blockquote>
<p>Sowas sollte man niemanden sehen lassen - <strong>gerade</strong> wenn er erst 2 Wochen programmiert, sonst gewöhnt er sich's noch an! :p</p>
<pre><code class="language-cpp">bool teilbar(int zahl, int teiler)
{
  return zahl % teiler == 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1291759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1291759</guid><dc:creator><![CDATA[finix]]></dc:creator><pubDate>Thu, 24 May 2007 19:43:30 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Fri, 25 May 2007 08:47:31 GMT]]></title><description><![CDATA[<p>Nochmal vielen Dank für Eure Antworten</p>
<p>Geniales Forum, ihr werdet noch einiges von mir hören <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>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1292023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292023</guid><dc:creator><![CDATA[blind.io]]></dc:creator><pubDate>Fri, 25 May 2007 08:47:31 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Fri, 25 May 2007 12:44:37 GMT]]></title><description><![CDATA[<p>Nja ich erklär auch mal meinen Ansatz ... basiert nat. auf deinem! Aber da du ihn ja nicht verstanden hast ^^ Mit Comments =&gt;</p>
<p>[cpp]#include &lt;iostream&gt;</p>
<p>bool is_valid(const unsigned short, const unsigned short); // Deklaration</p>
<p>int main()<br />
{<br />
std::cout &lt;&lt; &quot;=&gt; Positive Teiler V0.1 Beta &lt;=&quot; &lt;&lt; std::endl;<br />
unsigned int number = 0; // vom type unsigned int (unsigned, da positiv) mit default-value 0.<br />
do {<br />
std::cout &lt;&lt; &quot;Zahl: &quot; &lt;&lt; std::endl; // Ausgeben ...<br />
} while (!(std::cin &gt;&gt; number) || number == 0); ... solange die Eingabe falsch war bzw. number == 0 ist.</p>
<p>for (unsigned short i = 1; i &lt;= 10; ++i) // von 1 - 10 alle Zahlen (Teiler) durchgehen<br />
std::cout &lt;&lt; number &lt;&lt; &quot; ist &quot; &lt;&lt; (is_valid(number, i) ? &quot;nicht &quot; : &quot;&quot;) &lt;&lt; &quot;durch &quot; &lt;&lt; i &lt;&lt; &quot; teilbar.&quot; &lt;&lt; std::endl; // und jeweils gucken ob teilbar ist und wenn teilbar dann <strong>kein</strong> &quot;nicht&quot; mit in den Stream packen ...<br />
}</p>
<p>bool is_valid(const unsigned short value, const unsigned short step)<br />
{<br />
return (value % step == 0); // if (value % step == 0) return true; else return false; ... <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="😉"
    /><br />
}[/cpp]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1292212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292212</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 25 May 2007 12:44:37 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Fri, 25 May 2007 16:06:08 GMT]]></title><description><![CDATA[<p>Danke Devil!</p>
<p>Hier mein heutiges Werk:</p>
<p>Aufgabe 4-3 – Ermittlung des Jahrestages<br />
Schreiben Sie ein Programm (aufgabe4-3.cpp), das nach Eingabe von Jahr, Monat und<br />
Tag in einer Funktion berechnet, welcher Tag des Jahres vorliegt. Gehen Sie wie folgt vor:<br />
a. Lesen Sie im Hauptprogramm Jahr, Monat und Tag ein. Überprüfen Sie die Eingaben<br />
auf Sinn.<br />
b. Erstellen Sie eine Funktion, welche den Jahrestag berechnet. Nehmen Sie zuerst an,<br />
dass jeder Monat 31 Tage besitzt. Ziehen Sie dann für die kürzeren Monate die<br />
entsprechenden Tage wieder ab. Schaltjahre können anhand der Auswertung der<br />
Jahreszahl berücksichtigt werden. (Sollte die Schaltjahresregel nicht klar sein, einfach<br />
im Internet nachforschen 􀃆 Wikipedia ist hierbei sehr behilflich).</p>
<p>So, jetzt habe ich ein noch relativ &quot;grobes&quot; Programm geschrieben, um zu zählen der wievielte Tag eines Jahres vorliegt.</p>
<p>Ist aber noch nicht besonders elegant, da die Eingaben zB erst nachdem alle Eingaben drin sind geprüft werden. Außerdem benutze ich gerade noch vereinfachte Monate a 31 Tage, was ja eigentlich nicht stimmt. Und die Schaltjahrregel ist ebenfalls noch nicht drin. Und er kann nur von 1950 bis 2100 berechnen.</p>
<p>Zu der Schaltjahrregel hätte ich direkt noch eine Frage: Das Programm muss ja ein Ausgangsjahr kennen, ab dem alle 4 Jahre ein weiteres Schaltjahr folgt. Wie setze ich so einen Orientierungspunkt? (hört sich wahrscheinlich ziemlich doof an die Frage :))</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int jahr;
int monat;
int tag;
int ergebnis;

int jahrestag (int jahr, int monat, int tag);

int main()        
{
cout &lt;&lt; &quot;Dieses Programm berechnet den Jahrestag nach Eingabe des Datums!&quot; &lt;&lt; endl;
cout &lt;&lt; &quot;Bitte Jahr eingeben!&quot; &lt;&lt; endl;
cin &gt;&gt; jahr;
cout &lt;&lt; &quot;Bitte Monat eingeben!&quot; &lt;&lt; endl;
cin &gt;&gt; monat;
cout &lt;&lt; &quot;Bitte Tag eingeben!&quot; &lt;&lt; endl;
cin &gt;&gt; tag;

if ((tag&gt;31) || (tag&lt;=0) || (monat&gt;12) || (monat&lt;=0) || (jahr&lt;1950) || (jahr&gt;2100))
{
	cout &lt;&lt; &quot;Diese Eingabe war ungültig! Bitte Programm neu starten!&quot; &lt;&lt; endl;
	return 0;
}
else 
{
ergebnis= jahrestag(jahr, monat, tag);
}

cout &lt;&lt; &quot;Dieses Datum ist der &quot; &lt;&lt; ergebnis &lt;&lt; &quot;-te Tag des Jahres &quot; &lt;&lt; jahr &lt;&lt; endl;
}

int jahrestag (int jahr, int monat, int tag)
{
	return (tag+(monat-1)*31);

}
</code></pre>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1292327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292327</guid><dc:creator><![CDATA[blind.io]]></dc:creator><pubDate>Fri, 25 May 2007 16:06:08 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Sat, 26 May 2007 05:56:12 GMT]]></title><description><![CDATA[<p>Für ein Schaltjahr gibt es folgende Regel:<br />
Ein Jahr ist ein Schaltjahr, wenn die Jahreszahl durch 400 teilbar ist, oder durch 4 aber nicht durch 100.</p>
<p>EDIT: hier hatte ich schon die entsprechende Funktion hingeschrieben, aber ich denke du solltest sie zu Übungszwecken selbst screiben.</p>
<p>Für den Monat gibt es wohl verschiedene Lösungswege. Ein einfacher wäre in einem int monate[12] geordnet die Tage der entsprechenden Monate einzutragen. mit monate[monat-1] erhälst du dann die Tage des entsprechenden Monats.</p>
<p>Irgendwo hatten wir dieselbe Aufgabenstellung vor kurzem hier im Forum, vllt findest du den Thread ja wieder. (ich weisz nicht mehr wie der ausgegangen war)</p>
<p>Achja: hau mal die globalen Variablen da weg in die main.</p>
<p>Und dass er nur von 1950 bis 2100 rechnen kann ist ja definitiv deine eigene Schuld, lass doch einfach die Überprüfung bez. des Jahres in der If-Schleife weg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1292525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292525</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Sat, 26 May 2007 05:56:12 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Sat, 26 May 2007 09:32:01 GMT]]></title><description><![CDATA[<p>Shinja schrieb:</p>
<blockquote>
<p>Für ein Schaltjahr gibt es folgende Regel:<br />
Ein Jahr ist ein Schaltjahr, wenn die Jahreszahl durch 400 teilbar ist, oder durch 4 aber nicht durch 100.</p>
</blockquote>
<p>Aaah!</p>
<p>Shinja schrieb:</p>
<blockquote>
<p>EDIT: hier hatte ich schon die entsprechende Funktion hingeschrieben, aber ich denke du solltest sie zu Übungszwecken selbst schreiben.</p>
</blockquote>
<p>Das denke ich auch. Wenn man sich selbst durchbeisst, dann hat man es irgendwann auch wirklich verstanden.</p>
<p>Shinja schrieb:</p>
<blockquote>
<p>Für den Monat gibt es wohl verschiedene Lösungswege. Ein einfacher wäre in einem int monate[12] geordnet die Tage der entsprechenden Monate einzutragen. mit monate[monat-1] erhälst du dann die Tage des entsprechenden Monats.</p>
</blockquote>
<p>Ist int monate[12] ein Feld? Felder kommen erst in zwei Wochen, ich vermute bis dahin sollen wir alles ohne Felder schreiben.</p>
<p>Shinja schrieb:</p>
<blockquote>
<p>Achja: hau mal die globalen Variablen da weg in die main.</p>
</blockquote>
<p>Warum? Ist das schlechter Stil, Variablen global einzuführen wenn man sie nur in einem Teil des Programms braucht? Kostet das Leistung? Weil funktionieren tut es ja.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1292575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1292575</guid><dc:creator><![CDATA[blind.io]]></dc:creator><pubDate>Sat, 26 May 2007 09:32:01 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: Ermittlung der Teiler einen positiven Ganzzahl on Sun, 27 May 2007 19:54:22 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">bool Schaltjahr = ((jahr % 4 == 0 &amp;&amp; jahr % 100 != 0)  || jahr % 400 == 0);
</code></pre>
<p>... steht doch auf der Seite ... wo isn da noch ein Problem?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1293350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1293350</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 27 May 2007 19:54:22 GMT</pubDate></item></channel></rss>