<?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[Array + Structs -&amp;gt; Fehler]]></title><description><![CDATA[<pre><code class="language-cpp">/* 
 * File:   main.cpp
 * Author: dev
 *
 * Created on 27. Mai 2010, 19:54
 */

#include &lt;iostream&gt;
using namespace std;

struct august
{
   float temperatur[30];
   float durchschnitt;
}aug, *ptr;

void eingabe (struct august *ptr ); 
void ausgabe (struct august *ptr);
void durchschnitt (struct august *ptr);

int main()
{
    ptr=&amp;aug;

    eingabe(ptr);
    ausgabe(ptr);
    durchschnitt(ptr);

}
void eingabe (struct august *ptr )
{
    for (int x=0; x&lt;=29; x++)
    {
        cout&lt;&lt;endl&lt;&lt;x+1&lt;&lt;&quot;. Tag des Augusts: &quot;;
        cin&gt;&gt;ptr-&gt;temperatur[x];
    }

}
void ausgabe (struct august *ptr)
{
      for (int x=0; x&lt;=29; x++)
    {
        cout&lt;&lt;endl&lt;&lt;x+1&lt;&lt;&quot;. Tag des Augusts: &quot;&lt;&lt;ptr-&gt;temperatur[x];

    }

}
void durchschnitt (struct august *ptr)
{

    for ( int x=0; x&lt;=29; x++)
    {
        ptr-&gt;durchschnitt=0;
        ptr-&gt;durchschnitt=(ptr-&gt;durchschnitt+ptr-&gt;temperatur[x]);

    }
 cout&lt;&lt;endl&lt;&lt;&quot;Durschnitt: &quot;&lt;&lt;(ptr-&gt;durchschnitt)/30&lt;&lt;&quot;Grad&quot;;
}
</code></pre>
<p>Leider bekomm ich beim Durschnitt zahlen gegen lim-&gt;0, woran kann das liegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267646/array-structs-gt-fehler</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 09:36:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267646.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 May 2010 18:38:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array + Structs -&amp;gt; Fehler on Thu, 27 May 2010 18:38:13 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">/* 
 * File:   main.cpp
 * Author: dev
 *
 * Created on 27. Mai 2010, 19:54
 */

#include &lt;iostream&gt;
using namespace std;

struct august
{
   float temperatur[30];
   float durchschnitt;
}aug, *ptr;

void eingabe (struct august *ptr ); 
void ausgabe (struct august *ptr);
void durchschnitt (struct august *ptr);

int main()
{
    ptr=&amp;aug;

    eingabe(ptr);
    ausgabe(ptr);
    durchschnitt(ptr);

}
void eingabe (struct august *ptr )
{
    for (int x=0; x&lt;=29; x++)
    {
        cout&lt;&lt;endl&lt;&lt;x+1&lt;&lt;&quot;. Tag des Augusts: &quot;;
        cin&gt;&gt;ptr-&gt;temperatur[x];
    }

}
void ausgabe (struct august *ptr)
{
      for (int x=0; x&lt;=29; x++)
    {
        cout&lt;&lt;endl&lt;&lt;x+1&lt;&lt;&quot;. Tag des Augusts: &quot;&lt;&lt;ptr-&gt;temperatur[x];

    }

}
void durchschnitt (struct august *ptr)
{

    for ( int x=0; x&lt;=29; x++)
    {
        ptr-&gt;durchschnitt=0;
        ptr-&gt;durchschnitt=(ptr-&gt;durchschnitt+ptr-&gt;temperatur[x]);

    }
 cout&lt;&lt;endl&lt;&lt;&quot;Durschnitt: &quot;&lt;&lt;(ptr-&gt;durchschnitt)/30&lt;&lt;&quot;Grad&quot;;
}
</code></pre>
<p>Leider bekomm ich beim Durschnitt zahlen gegen lim-&gt;0, woran kann das liegen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1903386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1903386</guid><dc:creator><![CDATA[yummi2k10]]></dc:creator><pubDate>Thu, 27 May 2010 18:38:13 GMT</pubDate></item><item><title><![CDATA[Reply to Array + Structs -&amp;gt; Fehler on Thu, 27 May 2010 18:46:29 GMT]]></title><description><![CDATA[<p>Das hier ptr-&gt;durchschnitt=0; gehört in der Funktion durchschnitt wohl nicht in die Schleife, oder was meinst du <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>P.S. der August hat 31 Tage <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1903388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1903388</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Thu, 27 May 2010 18:46:29 GMT</pubDate></item><item><title><![CDATA[Reply to Array + Structs -&amp;gt; Fehler on Thu, 27 May 2010 18:59:55 GMT]]></title><description><![CDATA[<p>ich idiot :S<br />
danke dir <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1903392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1903392</guid><dc:creator><![CDATA[yummi2k10]]></dc:creator><pubDate>Thu, 27 May 2010 18:59:55 GMT</pubDate></item><item><title><![CDATA[Reply to Array + Structs -&amp;gt; Fehler on Thu, 27 May 2010 19:48:34 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">/* 
 * File:   main.cpp
 * Author: dev
 *
 * Created on 27. Mai 2010, 21:13
 */

#include &lt;stdlib.h&gt;
#include &lt;iostream&gt;
using namespace std;

struct klasse
{
    struct gut
    {
        int n1;
        int n2;
        int n3;

    }gelernt;

    struct schlecht
    {
        int n4;
        int n5;
        int n6;
    }ngelernt;
  float durchschnitt;
  int schueler;
}klausur, *ptr;

void noteneingabe(struct klasse *ptr);
void berechnung(struct klasse *ptr);
/*
 * 
 */
int main()
{
    ptr=&amp;klausur;
    noteneingabe(ptr);
    berechnung(ptr);
    cout&lt;&lt;&quot;Der Durschnitt der Klasse liegt bei: &quot;&lt;&lt;klausur.durchschnitt;
}

void noteneingabe(struct klasse *ptr)
{
    cout&lt;&lt;&quot;----Noteneingabe----&quot;;
    cout&lt;&lt;endl&lt;&lt;&quot;Wieviel mal gab es:&quot;;
    cout&lt;&lt;&quot;Note1 :&quot;;
    cin&gt;&gt;ptr-&gt;gelernt.n1;
     cout&lt;&lt;&quot;Note2 :&quot;;
    cin&gt;&gt;ptr-&gt;gelernt.n2;
     cout&lt;&lt;&quot;Note3 :&quot;;
    cin&gt;&gt;ptr-&gt;gelernt.n3;
    cout&lt;&lt;&quot;Note4 :&quot;;
    cin&gt;&gt;ptr-&gt;ngelernt.n4;
    cout&lt;&lt;&quot;Note5 :&quot;;
    cin&gt;&gt;ptr-&gt;ngelernt.n5;
    cout&lt;&lt;&quot;Note6:&quot;;
    cin&gt;&gt;ptr-&gt;ngelernt.n6;
    cout&lt;&lt;&quot;Wieviel Schüler gibt es in der Klasse ?&quot;;
    cin&gt;&gt;ptr-&gt;schueler;
    cout&lt;&lt;endl&lt;&lt;endl&lt;&lt;endl;

}
void berechnung(struct klasse *ptr)
{
    ptr-&gt;durchschnitt= (ptr-&gt;gelernt.n1*1)+(ptr-&gt;gelernt.n2*2)+(ptr-&gt;gelernt.n3*3)+(ptr-&gt;ngelernt.n4*4)+(ptr-&gt;ngelernt.n5*5)+(ptr-&gt;ngelernt.n6*6)/(ptr-&gt;schueler);
}
</code></pre>
<p>Hier ist das Problem, dass der durschnitt falsch angegeben wird: stat 1,4 -&gt; 14 statt 6,0 -&gt; 60</p>
<p>wo ist denn mein fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1903413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1903413</guid><dc:creator><![CDATA[yummi2k10]]></dc:creator><pubDate>Thu, 27 May 2010 19:48:34 GMT</pubDate></item><item><title><![CDATA[Reply to Array + Structs -&amp;gt; Fehler on Thu, 27 May 2010 19:52:40 GMT]]></title><description><![CDATA[<p>Punktrechnung VOR Strichrechnung drum Klammern um die Addition:</p>
<pre><code class="language-cpp">ptr-&gt;durchschnitt= ( (ptr-&gt;gelernt.n1*1)+(ptr-&gt;gelernt.n2*2)+(ptr-&gt;gelernt.n3*3)+(ptr-&gt;ngelernt.n4*4)+(ptr-&gt;ngelernt.n5*5)+(ptr-&gt;ngelernt.n6*6) ) /(ptr-&gt;schueler);
</code></pre>
<p>oftmals hilft es, eine Zwischensumme zu bilden <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="😉"
    /> und nicht alles in einer Codezeile zu vereinigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1903416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1903416</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Thu, 27 May 2010 19:52:40 GMT</pubDate></item><item><title><![CDATA[Reply to Array + Structs -&amp;gt; Fehler on Fri, 28 May 2010 07:51:09 GMT]]></title><description><![CDATA[<p>Wenn du arrays benutzt statt für jede Note ein eigenes Attribut/Struktur geht´s wesentlich einfacher. Ausserdem scheint mir, dass da noch einige Ungereimtheiten in deinem Code sind (warum heisst eine Struktur klasse, die Variable dazu aber Klausur?).<br />
Die Anzahl der Schueler lässt sich durch die Summe der Notenanzahl bestimmen (unter der Voraussetzung, dass nur die Schüler betrachtet werden, die die Klausur tatsächlich mitgeschrieben haben). Gleiches gilt für den Durchschnitt. Meine Lösung sähe also so aus:</p>
<pre><code class="language-cpp">struct Klausur
{
   unsigned char Noten[6];

   Klausur()
   {
      for( unsigned int i = 0; i &lt; 6; ++i )
      {
         Noten[i] = 0;
      }
   }

   unsigned int SchuelerZahl() const
   {
      // benutze hier eine manuelle Schleife. C++ bietet mit der STL 
      // Komfortfunktionen an, die das eleganter lösen
      unsigned int Zahl = 0;
      for( unsigned int i = 0; i &lt; 6; ++i )
      {
         Zahl += Noten[i];
      }
      return Zahl;
   }

   double Durchschnitt() const
   {
      // siehe SchuelerZahl()

      // Summe als double, da der Durchschnitt eine Fließkommazahl ist
      double Summe = 0;
      for( unsigned int i = 0; i &lt; 6; ++i )
      {
         // Anzahl der Noten mit Notenwert multiplizieren
         Summe += Noten[i] * (i+1); 
      }
      unsigned int Anzahl = SchuelerZahl();
      if( Anzahl &gt; 0 )
      {
          return Summe / Anzahl;
      }
      return 0;
   }
};
</code></pre>
<p>Ich habe hier bewusst auf die STL verzichtet da du Einsteiger zu sein scheinst und dich erst einmal auf grundlegende Dinge konzentrieren solltest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1903539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1903539</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Fri, 28 May 2010 07:51:09 GMT</pubDate></item><item><title><![CDATA[Reply to Array + Structs -&amp;gt; Fehler on Fri, 28 May 2010 08:08:34 GMT]]></title><description><![CDATA[<p>Die Standard-Bibliothek ist ein grundlegender Teil von C++, warum darauf verzichten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1903546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1903546</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Fri, 28 May 2010 08:08:34 GMT</pubDate></item><item><title><![CDATA[Reply to Array + Structs -&amp;gt; Fehler on Fri, 28 May 2010 09:05:12 GMT]]></title><description><![CDATA[<p>Janjan schrieb:</p>
<blockquote>
<p>Die Standard-Bibliothek ist ein grundlegender Teil von C++, warum darauf verzichten?</p>
</blockquote>
<p>Weil man sich erst über die entstehenden Problematiken bei der Verwendung von Arrays im Klaren werden sollte. Wenn ich jetzt mit std::fill gearbeitet hätte dann hätte ich auch noch Iteratoren erklären müssen und warum man rohe Pointer als Iteratoren behandeln kann. Spätestens bei bind für die Durchschnittsbildung werden dann mehr Fragen aufgeworfen als die Lösung beantwortet, daher (noch) der Verzicht auf die STL.</p>
<p>Edit:<br />
Mir fällt grad auf, dass man den Durchschnitt nicht so einfach bilden kann, zumindest nicht mit accumulate und binder. Mit inner_product und einem zweiten Array mit den Wertigkeiten der Noten geht´s relativ einfach. Kriegt jemand die Durchschnittsbildung als Einzeiler ohne eigene Funktoren hin? <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/1903581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1903581</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Fri, 28 May 2010 09:05:12 GMT</pubDate></item><item><title><![CDATA[Reply to Array + Structs -&amp;gt; Fehler on Fri, 28 May 2010 09:29:29 GMT]]></title><description><![CDATA[<p>?</p>
<pre><code class="language-cpp">std::accumulate(vec.begin(), vec.end(), 0) / static_cast&lt;double&gt;(vec.size())
</code></pre>
<p>Wobei es doof wäre erst alles zu addieren und dann zu teilen, da es so, je nach Anzahl der Elemente und Datentyp, zu einem Überlauf kommen kann, der nicht nötig wäre.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1903613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1903613</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 28 May 2010 09:29:29 GMT</pubDate></item><item><title><![CDATA[Reply to Array + Structs -&amp;gt; Fehler on Fri, 28 May 2010 09:38:10 GMT]]></title><description><![CDATA[<p>Das ist nicht der Notendurchschnitt, der muss ja noch gewichtet werden <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/1903615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1903615</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Fri, 28 May 2010 09:38:10 GMT</pubDate></item><item><title><![CDATA[Reply to Array + Structs -&amp;gt; Fehler on Fri, 28 May 2010 09:43:40 GMT]]></title><description><![CDATA[<p>Ah, okay, hatte das nur überflogen. <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/1903622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1903622</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 28 May 2010 09:43:40 GMT</pubDate></item></channel></rss>