<?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[fehlerhafte Berechnung oder zu doofer Autor ?]]></title><description><![CDATA[<p>Hey ! Ich fang grad an mit c++, und hab bei dem simpelsten scheiß meine Probleme. Ich will das Volumen einer Kugel berechnen, Formel ist ja 4\3*Pi*r^3 . Mein Code sieht so aus :</p>
<pre><code class="language-csharp">cout&lt;&lt;&quot;Welche geometrische Figur?\n&quot;;
    cout&lt;&lt;&quot;1 fuer Rechteck\n&quot;;
    cout&lt;&lt;&quot;2 fuer Kugel\n&quot;;
    cin&gt;&gt;menu;
    if(menu==1)
         {
    //blablablubb
         }
    if (menu==2)
           {
    long double r;
    cout&lt;&lt;&quot;Radius\n&quot;;
    cin&gt;&gt;r;
    long double erg=(3.1415*1,3333*r*r*r);
    cout&lt;&lt;&quot;Das Volumen betraegt &quot;&lt;&lt;erg&lt;&lt;&quot;\n&quot;;
    menu=0;
           }
</code></pre>
<p>Ich habe die Formel in Zeile 14 schon so vereinfacht, dass es nicht mehr so viel Rechenaufwand kostet, aber auch als komplexere Division mit der ursprünglichen 4\3 tritt einfach das Problem aus, dass der Wert, der am Ende herauskommt, vollkommener Quatsch ist : Bei einem Radius von 3 89991 , bei Radius 1 3333 . Ich hatte das schon öfter, dass der einfach ganz simple Berechnungen vollkommen falsch ausführt. Hat jemand eine Ahnung woran das liegt ? Der Rest des Programms klappt einwandfrei (hab hier nur nen Auszug gepostet)</p>
<p>Hoffe ihr könnt mir helfen.</p>
<p>PS : Dass man an einigen Stellen eleganter schreiben kann ist mir schon klar, aber ich hab die ganze Eleganz mal ins simpelste aufgelöst, um den Fehler finden zu können.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161639/fehlerhafte-berechnung-oder-zu-doofer-autor</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 23:44:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161639.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 09 Oct 2006 03:49:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to fehlerhafte Berechnung oder zu doofer Autor ? on Mon, 09 Oct 2006 03:49:35 GMT]]></title><description><![CDATA[<p>Hey ! Ich fang grad an mit c++, und hab bei dem simpelsten scheiß meine Probleme. Ich will das Volumen einer Kugel berechnen, Formel ist ja 4\3*Pi*r^3 . Mein Code sieht so aus :</p>
<pre><code class="language-csharp">cout&lt;&lt;&quot;Welche geometrische Figur?\n&quot;;
    cout&lt;&lt;&quot;1 fuer Rechteck\n&quot;;
    cout&lt;&lt;&quot;2 fuer Kugel\n&quot;;
    cin&gt;&gt;menu;
    if(menu==1)
         {
    //blablablubb
         }
    if (menu==2)
           {
    long double r;
    cout&lt;&lt;&quot;Radius\n&quot;;
    cin&gt;&gt;r;
    long double erg=(3.1415*1,3333*r*r*r);
    cout&lt;&lt;&quot;Das Volumen betraegt &quot;&lt;&lt;erg&lt;&lt;&quot;\n&quot;;
    menu=0;
           }
</code></pre>
<p>Ich habe die Formel in Zeile 14 schon so vereinfacht, dass es nicht mehr so viel Rechenaufwand kostet, aber auch als komplexere Division mit der ursprünglichen 4\3 tritt einfach das Problem aus, dass der Wert, der am Ende herauskommt, vollkommener Quatsch ist : Bei einem Radius von 3 89991 , bei Radius 1 3333 . Ich hatte das schon öfter, dass der einfach ganz simple Berechnungen vollkommen falsch ausführt. Hat jemand eine Ahnung woran das liegt ? Der Rest des Programms klappt einwandfrei (hab hier nur nen Auszug gepostet)</p>
<p>Hoffe ihr könnt mir helfen.</p>
<p>PS : Dass man an einigen Stellen eleganter schreiben kann ist mir schon klar, aber ich hab die ganze Eleganz mal ins simpelste aufgelöst, um den Fehler finden zu können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1151733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1151733</guid><dc:creator><![CDATA[kommando]]></dc:creator><pubDate>Mon, 09 Oct 2006 03:49:35 GMT</pubDate></item><item><title><![CDATA[Reply to fehlerhafte Berechnung oder zu doofer Autor ? on Mon, 09 Oct 2006 04:26:48 GMT]]></title><description><![CDATA[<p>Das Komma ist das Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1151735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1151735</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 09 Oct 2006 04:26:48 GMT</pubDate></item><item><title><![CDATA[Reply to fehlerhafte Berechnung oder zu doofer Autor ? on Mon, 09 Oct 2006 06:07:09 GMT]]></title><description><![CDATA[<p>Oder, um es deutlicher zu machen: C verwendet einen Punkt als Dezimaltrennzeichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1151746</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1151746</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 09 Oct 2006 06:07:09 GMT</pubDate></item><item><title><![CDATA[Reply to fehlerhafte Berechnung oder zu doofer Autor ? on Mon, 09 Oct 2006 18:38:15 GMT]]></title><description><![CDATA[<p>Müsste der Compiler nicht einen Fehler melden? --&gt; Lesen können hat Vorteile <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/1151757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1151757</guid><dc:creator><![CDATA[DEvent]]></dc:creator><pubDate>Mon, 09 Oct 2006 18:38:15 GMT</pubDate></item><item><title><![CDATA[Reply to fehlerhafte Berechnung oder zu doofer Autor ? on Mon, 09 Oct 2006 18:58:31 GMT]]></title><description><![CDATA[<p>DEvent schrieb:</p>
<blockquote>
<p>Müsste der Compiler nicht einen Fehler melden? --&gt; Lesen können hat Vorteile <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>Nein müsste er nicht, warum denn?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1151771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1151771</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 09 Oct 2006 18:58:31 GMT</pubDate></item><item><title><![CDATA[Reply to fehlerhafte Berechnung oder zu doofer Autor ? on Tue, 10 Oct 2006 01:53:40 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>DEvent schrieb:</p>
<blockquote>
<p>Müsste der Compiler nicht einen Fehler melden? --&gt; Lesen können hat Vorteile <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>Nein müsste er nicht, warum denn?</p>
</blockquote>
<pre><code class="language-cpp">long double erg=(3.1415*1,3333*r*r*r);
</code></pre>
<p>Gibts einen ,-operator?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1151907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1151907</guid><dc:creator><![CDATA[DEvent]]></dc:creator><pubDate>Tue, 10 Oct 2006 01:53:40 GMT</pubDate></item><item><title><![CDATA[Reply to fehlerhafte Berechnung oder zu doofer Autor ? on Tue, 10 Oct 2006 06:12:46 GMT]]></title><description><![CDATA[<p>Ja, den gibt es - und der wird an dieser Stelle auch verwendet.</p>
<p>(der Komma-Operator verwirft das Ergebnis des ersten Operanden (Nebeneffekte machen sich bemerkbar) und liefert das Ergebnis des zweiten Operanden zurück - in dem Fall landet also &quot;3.1415*1&quot; auf dem Müll und &quot;3333*r*r*r&quot; wird zurückgegeben)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1151918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1151918</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 10 Oct 2006 06:12:46 GMT</pubDate></item><item><title><![CDATA[Reply to fehlerhafte Berechnung oder zu doofer Autor ? on Tue, 10 Oct 2006 10:22:03 GMT]]></title><description><![CDATA[<p>Alternativ zum Ändern des Kommas in einen Punkt könnte man auch einfach den Komma-Operator überladen, um den Fehler zu korrigieren:</p>
<pre><code class="language-cpp">#include &lt;cmath&gt;
#include &lt;iostream&gt;

class Int {
    int m_v;

public:
    Int(int v) : m_v(v) { }

    float operator ,(int i)
    {
        int digits = 1, ii = i;
        float ret = m_v, place = 1;

        while ((ii /= 10) != 0) ++digits;

        while (digits)
            ret += int(i / std::pow(10.0, --digits)) % 10 * (place /= 10);

        return ret;
    }
};

int main()
{
    float f = (Int(1),2345);

    std::cout &lt;&lt; f &lt;&lt; std::endl;
}
</code></pre>
<p>Nur schade, dass man Operatoren nicht für PODs überladen kann. <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/1152107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152107</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 10 Oct 2006 10:22:03 GMT</pubDate></item><item><title><![CDATA[Reply to fehlerhafte Berechnung oder zu doofer Autor ? on Tue, 10 Oct 2006 10:34:02 GMT]]></title><description><![CDATA[<blockquote>
<p>Alternativ zum Ändern des Kommas in einen Punkt könnte man auch einfach den Komma-Operator überladen, um den Fehler zu korrigieren:</p>
</blockquote>
<p>Üble idee.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1152117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152117</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Tue, 10 Oct 2006 10:34:02 GMT</pubDate></item><item><title><![CDATA[Reply to fehlerhafte Berechnung oder zu doofer Autor ? on Tue, 10 Oct 2006 10:42:05 GMT]]></title><description><![CDATA[<p>GPC schrieb:</p>
<blockquote>
<blockquote>
<p>Alternativ zum Ändern des Kommas in einen Punkt könnte man auch einfach den Komma-Operator überladen, um den Fehler zu korrigieren:</p>
</blockquote>
<p>Üble idee.</p>
</blockquote>
<p>Ja, wenn sie ernst gemeint gewesen wäre. Das war eher ein Beispiel als Antwort zu DEvent, um zu zeigen, wie man mit dem ,-Operator schön Mist bauen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1152128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152128</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 10 Oct 2006 10:42:05 GMT</pubDate></item><item><title><![CDATA[Reply to fehlerhafte Berechnung oder zu doofer Autor ? on Tue, 10 Oct 2006 10:43:34 GMT]]></title><description><![CDATA[<p><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/1152129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152129</guid><dc:creator><![CDATA[GPC]]></dc:creator><pubDate>Tue, 10 Oct 2006 10:43:34 GMT</pubDate></item><item><title><![CDATA[Reply to fehlerhafte Berechnung oder zu doofer Autor ? on Tue, 10 Oct 2006 16:08:54 GMT]]></title><description><![CDATA[<p>oha... danke. Ihr seht, ich bin noch grün hinter den Ohren <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/1152325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152325</guid><dc:creator><![CDATA[kommando]]></dc:creator><pubDate>Tue, 10 Oct 2006 16:08:54 GMT</pubDate></item></channel></rss>