<?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 bei der Logik]]></title><description><![CDATA[<p>Hallo.<br />
Ich habe heute einen Code geschrieben der die Schulnoten berechnen soll aber er macht nicht das was ich will.<br />
Er sollte folgendes machen:<br />
Auf Eingabe warten und schauen ob es eine Zahl zwischen 1 und 6 ist das ist die Anzahl der Noten die erwartet werden dann werden alle Noten zusammen gezählt(auch hier wird geschaut ob das ganze zwischen 1 und 6 ist)und dann wird der Durchschnitt errechnet.<br />
Leider geht die Überprüfung bei der ersten Eingabe nicht,die Fehlerstrings werden bei der zweiten nicht korrekt ausgegeben(nur bei jeder zweiten Zahl) und es werden mehr Zahlen erwartet(2 mehr)als er eigentlich annehmen sollte.<br />
Code:</p>
<pre><code class="language-cpp">//programm zur berechnung von schulnoten
#include &lt;iostream&gt;
using namespace std;
int main (void)
{
    float anzahl  = 0.0;
    float helper2 = 0.0;
    float helper  = 0.0;
    int i         = 0  ;
    float tmp     = 0.0;
    cout &lt;&lt; &quot;Guten Tag, bitte geben sie die Anzahl ihrer Noten ein\n&quot;;
    cin &gt;&gt; anzahl;
        if(!anzahl &gt; 0 &amp;&amp; anzahl &lt; 7)
        {
            cout &lt;&lt; &quot;Bitte geben sie Zahlen zwischen 1 und 6 ein\n&quot;;
            cin  &gt;&gt; tmp;
            anzahl = tmp;
            tmp = 0;

        }
        else
            {
            cout &lt;&lt; &quot;Bitte geben sie nun ihre Schulnoten ein\n&quot;;
                    while(i &lt; anzahl)
                    {

                        cin &gt;&gt; helper;
                        if(helper &gt; 0 &amp;&amp; helper &lt; 7)
                        {
                        helper2 += helper;
                        i++;
                        }
                        else
                        {
                            cout &lt;&lt; &quot;Bitte geben sie Zahlen zwischen 1 und 6 ein\n&quot;;
                            cin &gt;&gt; tmp;
                            helper = tmp;
                            tmp = 0;

                        }
                    }
            }
    float erg = (helper2/anzahl);
    cout &lt;&lt; erg &lt;&lt; '\n' ;
    system(&quot;Pause&quot;);
return 0;
}
</code></pre>
<p>Ich bin verzweifelt ich kann nämlich keinen Fehler entdecken <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/topic/223493/problem-bei-der-logik</link><generator>RSS for Node</generator><lastBuildDate>Sat, 03 Oct 2026 19:19:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/223493.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Sep 2008 14:05:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem bei der Logik on Fri, 26 Sep 2008 14:05:03 GMT]]></title><description><![CDATA[<p>Hallo.<br />
Ich habe heute einen Code geschrieben der die Schulnoten berechnen soll aber er macht nicht das was ich will.<br />
Er sollte folgendes machen:<br />
Auf Eingabe warten und schauen ob es eine Zahl zwischen 1 und 6 ist das ist die Anzahl der Noten die erwartet werden dann werden alle Noten zusammen gezählt(auch hier wird geschaut ob das ganze zwischen 1 und 6 ist)und dann wird der Durchschnitt errechnet.<br />
Leider geht die Überprüfung bei der ersten Eingabe nicht,die Fehlerstrings werden bei der zweiten nicht korrekt ausgegeben(nur bei jeder zweiten Zahl) und es werden mehr Zahlen erwartet(2 mehr)als er eigentlich annehmen sollte.<br />
Code:</p>
<pre><code class="language-cpp">//programm zur berechnung von schulnoten
#include &lt;iostream&gt;
using namespace std;
int main (void)
{
    float anzahl  = 0.0;
    float helper2 = 0.0;
    float helper  = 0.0;
    int i         = 0  ;
    float tmp     = 0.0;
    cout &lt;&lt; &quot;Guten Tag, bitte geben sie die Anzahl ihrer Noten ein\n&quot;;
    cin &gt;&gt; anzahl;
        if(!anzahl &gt; 0 &amp;&amp; anzahl &lt; 7)
        {
            cout &lt;&lt; &quot;Bitte geben sie Zahlen zwischen 1 und 6 ein\n&quot;;
            cin  &gt;&gt; tmp;
            anzahl = tmp;
            tmp = 0;

        }
        else
            {
            cout &lt;&lt; &quot;Bitte geben sie nun ihre Schulnoten ein\n&quot;;
                    while(i &lt; anzahl)
                    {

                        cin &gt;&gt; helper;
                        if(helper &gt; 0 &amp;&amp; helper &lt; 7)
                        {
                        helper2 += helper;
                        i++;
                        }
                        else
                        {
                            cout &lt;&lt; &quot;Bitte geben sie Zahlen zwischen 1 und 6 ein\n&quot;;
                            cin &gt;&gt; tmp;
                            helper = tmp;
                            tmp = 0;

                        }
                    }
            }
    float erg = (helper2/anzahl);
    cout &lt;&lt; erg &lt;&lt; '\n' ;
    system(&quot;Pause&quot;);
return 0;
}
</code></pre>
<p>Ich bin verzweifelt ich kann nämlich keinen Fehler entdecken <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/1588503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1588503</guid><dc:creator><![CDATA[Hilfesuchenderblabla]]></dc:creator><pubDate>Fri, 26 Sep 2008 14:05:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei der Logik on Fri, 26 Sep 2008 14:11:33 GMT]]></title><description><![CDATA[<p>Auf die schnelle:</p>
<p>Statt</p>
<pre><code class="language-cpp">if(!anzahl &gt; 0 &amp;&amp; anzahl &lt; 7)
</code></pre>
<pre><code class="language-cpp">if(!(anzahl&gt;0 &amp;&amp; anzahl &lt; 7))
</code></pre>
<p>Sonst bindet die NEgation und der Rest von der Priorität her nämlich nicht so, wie du es (wahrscheinlich) gerne hättest.</p>
<p>und anzahl als int anstatt als float deklarieren, das gibt manchmal Probleme.</p>
<p>Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1588510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1588510</guid><dc:creator><![CDATA[Phoemuex]]></dc:creator><pubDate>Fri, 26 Sep 2008 14:11:33 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei der Logik on Fri, 26 Sep 2008 14:28:50 GMT]]></title><description><![CDATA[<p>Danke das wars. <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 />
Hab aber meinen Code noch ein bissel abgeändert indem ich die ifs durch Schleifen ersetzt habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1588522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1588522</guid><dc:creator><![CDATA[Hilfesuchenderblabla]]></dc:creator><pubDate>Fri, 26 Sep 2008 14:28:50 GMT</pubDate></item></channel></rss>