<?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[Daten in Listen speichern...]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab folgende Frage, auf die ich auch nichts in der Suche gefunden habe (egal was ich eingebe, ich bekomme keine Ergebnisse...)</p>
<p>Also, ich arbeite an einem kleinem Projekt mit folgender Funktionalität.<br />
Es gibt verschiedene Werkstoffe, welche sich jeweils zu verschiedenen Teilen aus Rohelementen zusammensetzen.<br />
Jeders Rohelement jat einen Grundpreis pro Kilogramm.<br />
D.h., dass sich der Gesamtpreis eines Werkstoffes aus den Anteilen an den verschiedenen Elementen ergibt.</p>
<p>Z.B. Werkstoffe_1 setzt sich aus:<br />
- 20% Element1 E1 5€/kg<br />
- 30% Element2 E2 10€/kg<br />
- 50% Element3 E3 1€/kg<br />
zusammen.<br />
Der Preis von Werkstoff_1/kg ergibt sich demnach per einfacher Addition.</p>
<p>Ich will das gesamte Projekt objektorientiert programmieren, da es in später in ein anderes Projekt eingebunden werden soll.</p>
<p>Nun meine Frage:<br />
Ich will ganz einfach eine Daten-Klasse anlegen in der die Rohelemente gespeichert sind und eine Klasse in der die Prozentanteile der Werkstoffe gespeichert sind.</p>
<p>Das soll in etwas so aussehen:</p>
<p>&lt;Liste Rohelemente&gt;<br />
&lt;Name Element 1&gt; &lt;Abkürzung E1&gt; &lt;Preis 5€&gt;<br />
&lt;Name Element 2&gt; &lt;Abkürzung E2&gt; &lt;Preis 10€&gt;<br />
...<br />
&lt;Liste Rohelemente Ende&gt;</p>
<p>Das gleiche für die Werkstoffe:</p>
<p>&lt;Liste Werkstoffe&gt;<br />
&lt;Name Werkstoffe 1&gt; &lt;Anteil E1 20%&gt; &lt;Anteil E2 30%&gt; &lt;Anteil E3 50%&gt;<br />
...<br />
&lt;Liste Werkstoffe Ende&gt;</p>
<p>Für die Elemente als auch die Werkstoffe lege ich Klassen an, welche Methoden enthalten sollten, die Daten zu verarbeiten, als auch die Listen zu erweitern.</p>
<p>Wie programmiere ich solche Listen.</p>
<p>Vielen Dank</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/155668/daten-in-listen-speichern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Apr 2026 16:07:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155668.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Aug 2006 13:40:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Daten in Listen speichern... on Tue, 08 Aug 2006 13:40:55 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab folgende Frage, auf die ich auch nichts in der Suche gefunden habe (egal was ich eingebe, ich bekomme keine Ergebnisse...)</p>
<p>Also, ich arbeite an einem kleinem Projekt mit folgender Funktionalität.<br />
Es gibt verschiedene Werkstoffe, welche sich jeweils zu verschiedenen Teilen aus Rohelementen zusammensetzen.<br />
Jeders Rohelement jat einen Grundpreis pro Kilogramm.<br />
D.h., dass sich der Gesamtpreis eines Werkstoffes aus den Anteilen an den verschiedenen Elementen ergibt.</p>
<p>Z.B. Werkstoffe_1 setzt sich aus:<br />
- 20% Element1 E1 5€/kg<br />
- 30% Element2 E2 10€/kg<br />
- 50% Element3 E3 1€/kg<br />
zusammen.<br />
Der Preis von Werkstoff_1/kg ergibt sich demnach per einfacher Addition.</p>
<p>Ich will das gesamte Projekt objektorientiert programmieren, da es in später in ein anderes Projekt eingebunden werden soll.</p>
<p>Nun meine Frage:<br />
Ich will ganz einfach eine Daten-Klasse anlegen in der die Rohelemente gespeichert sind und eine Klasse in der die Prozentanteile der Werkstoffe gespeichert sind.</p>
<p>Das soll in etwas so aussehen:</p>
<p>&lt;Liste Rohelemente&gt;<br />
&lt;Name Element 1&gt; &lt;Abkürzung E1&gt; &lt;Preis 5€&gt;<br />
&lt;Name Element 2&gt; &lt;Abkürzung E2&gt; &lt;Preis 10€&gt;<br />
...<br />
&lt;Liste Rohelemente Ende&gt;</p>
<p>Das gleiche für die Werkstoffe:</p>
<p>&lt;Liste Werkstoffe&gt;<br />
&lt;Name Werkstoffe 1&gt; &lt;Anteil E1 20%&gt; &lt;Anteil E2 30%&gt; &lt;Anteil E3 50%&gt;<br />
...<br />
&lt;Liste Werkstoffe Ende&gt;</p>
<p>Für die Elemente als auch die Werkstoffe lege ich Klassen an, welche Methoden enthalten sollten, die Daten zu verarbeiten, als auch die Listen zu erweitern.</p>
<p>Wie programmiere ich solche Listen.</p>
<p>Vielen Dank</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1113006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1113006</guid><dc:creator><![CDATA[netraxo]]></dc:creator><pubDate>Tue, 08 Aug 2006 13:40:55 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Listen speichern... on Tue, 08 Aug 2006 13:45:55 GMT]]></title><description><![CDATA[<p>Benutz am besten was fertiges. Zum Beispiel std::vector. Im Magazin findest Du einige einführende Artikel zur STL (da gehört auch vector dazu).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1113012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1113012</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Tue, 08 Aug 2006 13:45:55 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Listen speichern... on Tue, 08 Aug 2006 13:49:07 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Wie siehts mit maps aus?</p>
<p>MFG winexec*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1113015</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1113015</guid><dc:creator><![CDATA[winexec*]]></dc:creator><pubDate>Tue, 08 Aug 2006 13:49:07 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Listen speichern... on Tue, 15 Aug 2006 19:05:42 GMT]]></title><description><![CDATA[<p>Vielen Dank für den Gedankenanstoß.</p>
<p>Hab mich jetzt mal ne Weile mit Maps etc. befasst.</p>
<p>FÜr mich ergeben sich trotzalledem noch einige Fragen:</p>
<p>1.) Welcher Container ist der Richtige?</p>
<p>Anforderungen:<br />
- Auslesen einer Textdatei, in der Zeilenweise bis zur vier Daten stehen.<br />
- Speichern dieser Daten im Container.<br />
- Es sollen neue Datensätze in die Textdatei hinzugefügt werden, trotzdem wird die Menge der Datensätze nahezu konstant sein. Es handelt sich um ca. 40 Datensätze die maximal auf 60 erweitert werden.</p>
<p>2.) Ich habe mir bereits mehrere Tutorials zu Maps durchgelesen und bereits selber versucht mir einen Map-Contaier zu basteln. Alle Tuts beschreiben jedoch nur Container mit der Speicherung von 2 Daten z.B.:</p>
<pre><code class="language-cpp">typedef std::map&lt;std::string,float&gt; aktien;
    aktien *pAktien;
    aktien::iterator iter;

    pAktien = new aktien;

    (*pAktien)[&quot;VW&quot;] = 12.f;
    (*pAktien)[&quot;Ford&quot;] = 34.45f;
</code></pre>
<p>Ich möchte aber vier Daten abspeichern. Also in etwa so:</p>
<pre><code class="language-cpp">(*pAktien)[&quot;VW&quot;] = &quot;Volkswagen&quot;,&quot;KFZ&quot;,12.f;
    (*pAktien)[&quot;Ford&quot;] = &quot;Ford&quot;,&quot;LKW&quot;,34.45f;
</code></pre>
<p>Wie mach ich sowas?</p>
<p>3.) Ich möchte das ganze in einer Klasse definieren welche auch die Methoden zum Füllen und auslesen enthält? Habt ihr einen Ansatz <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>
<p>Vielen Dank</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117808</guid><dc:creator><![CDATA[netraxo]]></dc:creator><pubDate>Tue, 15 Aug 2006 19:05:42 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Listen speichern... on Tue, 15 Aug 2006 21:13:36 GMT]]></title><description><![CDATA[<p>Wenn Du mehrere Daten zusammen speichern willst mußt Du sie in einer Struktur oder Klasse zusammenfassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117889</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Tue, 15 Aug 2006 21:13:36 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Listen speichern... on Thu, 17 Aug 2006 19:41:19 GMT]]></title><description><![CDATA[<p>Hallo Jester und Co,</p>
<p>kannst du das vielleicht noch etwas genauer ausführen? Würde mich sehr freuen, da mir noch die Erfahrung fehlt bzw ich zur Zeit voll auf dem Schlauch stehe <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>
<p>Ich sehe immer nur Container wie z.B.:</p>
<pre><code class="language-cpp">map&lt;Key, Data, Compare, Alloc&gt;
</code></pre>
<p>Wie bekomm ich da jetzt mehrere Daten rein?<br />
Also hier nochmal mein Wunsch - eingentlich nix kompliziertes:<br />
&lt;Container&gt;<br />
&lt;Key1&gt; &lt;Data&gt; &lt;Data&gt; &lt;Data&gt;<br />
&lt;Key1&gt; &lt;Data&gt; &lt;Data&gt; &lt;Data&gt;<br />
&lt;/Container&gt;</p>
<p>Genauer: Ich suche nach einer Möglichkeiten, Information über chemische Elemente abzuspeichern.</p>
<p>Als Key möchte ich die chem. Abkürzung (z.B. für Kupfer = Cu) speichern. Dazu soll dann noch der ausgeschriebene Name (Kupfer) sowie zwei weitere Eigenschaften im Contaiern gespeichert werden.</p>
<p>Das alles soll in eine Klasse kommen und Methoden zum auslesen sowie ändern der Werte beinhalten.</p>
<p>MIt fehlt echt der Ansatz. Obwohl ich seit Tagen Tutorials dazu lese...</p>
<p>Bitte gebt mir nen Denkanstoß - am besten mit ein paar Fitzeln Code <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>
<p>Vielen vielen Dank</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1119426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1119426</guid><dc:creator><![CDATA[netraxo]]></dc:creator><pubDate>Thu, 17 Aug 2006 19:41:19 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Listen speichern... on Thu, 17 Aug 2006 20:53:31 GMT]]></title><description><![CDATA[<p>Du mußt eine Struktur(oder Klasse) für Deine Daten anlegen:</p>
<pre><code class="language-cpp">class MyData
{
  string name;
  float wert;
  // ... was auch immer für Daten
};

std::map&lt;std::string, MyData&gt; dieMap;
</code></pre>
<p>tut's dann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1119453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1119453</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Thu, 17 Aug 2006 20:53:31 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Listen speichern... on Thu, 17 Aug 2006 21:02:29 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>um mal das nötigste zusammenzufassen</p>
<pre><code class="language-cpp">class Element
{
  ...
  std::string VollerName;
  std::string Abkuerzung;
  int Elektronen;
  int Protonen;
}

typedef std::map&lt;std::string, Element&gt; ElementMap; // Definition einer Map Abkürzung-Element
typedef ElementMap::iterator ElementIt; // Definition für einen Iterator
typedef ElementMap::value_type ElementVT; // Definition für den Wertetyp
Element Neu = ...; // neues Element anlegen
ElementMap Elemente; // Deklatration der Map
Elemente.insert(ElementVT(Neu.Abkuerzung, Neu)); // Neues Element in Liste einfügen

ElementIt it = Elemente.find(&quot;Cu&quot;); // Element mit Abkürzung CU in der Liste suchen
if (it == Elemente.end())
  // nicht gefunden
else
  // gefunden
</code></pre>
<p>bis bald<br />
akari[u]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1119462</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1119462</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 17 Aug 2006 21:02:29 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Listen speichern... on Thu, 17 Aug 2006 23:42:55 GMT]]></title><description><![CDATA[<p>Also erstmal vielen Dank Akari und Jester! <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>
<p>Das hat mir super geholfen.<br />
Es hat aber auch zu neuen Problemen geführt bzw zu einem.</p>
<p>Wie kann ich auf eine Methode einer in einer Map gespeicherten Klasse zugreifen.<br />
Diesen Satz als genaues Beispiel: <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>
<pre><code class="language-cpp">class Element
{
    private:
        string VollerName;
        string Abkuerzung;
        int Elektronen;
        int Protonen;

    public:
        // Methode getName
        string getName() {
            return VollerName;
        };
};

typedef map&lt;string, Element&gt; ElementMap; // Definition einer Map Abkürzung-Element
typedef ElementMap::iterator ElementIt; // Definition für einen Iterator
typedef ElementMap::value_type ElementVT; // Definition für den Wertetyp

Element Neu = ...; // neues Element anlegen
ElementMap Elemente; // Deklatration der Map
Elemente.insert(ElementVT(Neu.Abkuerzung, Neu)); // Neues Element in Liste einfügen

ElementIt it = Elemente.find(&quot;Cu&quot;); // Element mit Abkürzung CU in der Liste suchen
if (it == Elemente.end())
  // nicht gefunden
else
  // gefunden
    // Diese folgende Zeile gibt einen Fehler aus! Warum???
    cout&lt;&lt; &quot;Voller Name: &quot; &lt;&lt; Elemente[&quot;Cu&quot;].getName &lt;&lt;endl;
    // genauso:
    cout&lt;&lt;&quot;Voller Name: &quot; &lt;&lt; (*it).second.getName &lt;&lt;endl;
</code></pre>
<p>Ich denke ich müsste einen Zeiger einbauen, meine Versuche sind aber gescheitert <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="😞"
    /><br />
Oder wo liegt der Fehler?</p>
<p>Vielen Dank</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1119512</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1119512</guid><dc:creator><![CDATA[netraxo]]></dc:creator><pubDate>Thu, 17 Aug 2006 23:42:55 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Listen speichern... on Fri, 18 Aug 2006 00:49:48 GMT]]></title><description><![CDATA[<p>Alles viel einfacher. Du hast die Klammern beim Funktionsaufruf vergessen. Folgende 3 Varianten sollten funktionieren:</p>
<pre><code class="language-cpp">cout&lt;&lt; &quot;Voller Name: &quot; &lt;&lt; Elemente[&quot;Cu&quot;].getName() &lt;&lt;endl;
cout&lt;&lt;&quot;Voller Name: &quot; &lt;&lt; (*it).second.getName() &lt;&lt;endl;
cout&lt;&lt;&quot;Voller Name: &quot; &lt;&lt; it-&gt;second.getName() &lt;&lt;endl;
</code></pre>
<p>Die beiden letzten Varianten sind dabei zu bevorzugen, da die erste nochmal sucht, was natürlich langsamer ist.</p>
<p>Gib trotzdem bitte das nächste mal die Fehlermeldung mit dazu an. Oft hilft das.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1119515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1119515</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Fri, 18 Aug 2006 00:49:48 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Listen speichern... on Fri, 18 Aug 2006 21:59:45 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>nochmal Danle für die Hilfe, bin jetzt nen ganzes Stück weiter.</p>
<p>Folgendes &quot;neues&quot; Problem:</p>
<p>Im Hauptprogramm befülle ich einen Kontainer mit Hilfe einer Klasse wie folgt:</p>
<pre><code class="language-cpp">// Es wird die chemische Abkürzung, der Name des Elements und ein Preis gespeichert
Elements elements;
elements.addElement(&quot;Al&quot;,&quot;Aluminium&quot;,5.5f);
elements.addElement(&quot;C&quot;,&quot;Carbon&quot;,7.7);
elements.addElement(&quot;Fe&quot;,&quot;Eisen&quot;,999.99);
elements.addElement(&quot;Ti&quot;,&quot;Titanium&quot;,50.0);
</code></pre>
<p>Nun soll es einen Kontainer mit Materialien geben, welche sich jeweils zu gewissen Teilen aus den chemischen Elementen zusammensetzen.<br />
Dafür hab ich erstmal eine Klasse angelegt, welche in einem Kontainer die Zusammensetzung eines einzelnen Materials speichert:</p>
<pre><code class="language-cpp">// Es wird die Abkürzung des chem. Elements und dessen Anteil an der
// Zusammensetzunh gespeichert. (insgesamt natürlich immer 100%)
MaterialComposition material1;
material1.setComposition(&quot;Al&quot;,6.125);
material1.setComposition(&quot;C&quot;,0.875);
material1.setComposition(&quot;Fe&quot;,3.0);
material1.setComposition(&quot;Ti&quot;,90.0);

MaterialComposition material2;
material2.setComposition(&quot;Al&quot;,30.0);
material2.setComposition(&quot;C&quot;,10.0);
material2.setComposition(&quot;Fe&quot;,55.0);
material2.setComposition(&quot;Ti&quot;,5.0);
</code></pre>
<p>Nun will ich diese Objekte alle in ein Kontainer einer Klasse Materials abspeichern.<br />
Soll dann in etwa so aussehen:</p>
<pre><code class="language-cpp">// die oben def. Zusammensetzungen sollen alle in einen Kontainer
Materials materials;
materials.addMaterial(material1);
materials.addMaterial(material2);
</code></pre>
<p>Bei der Methode addMaterial hab ich aber noch Probleme:</p>
<pre><code class="language-cpp">// Definition des Kontainers Materials
typedef map&lt;string, MaterialComposition&gt; MaterialsMap;	// Definition einer Map Abkürzung-Element
typedef MaterialsMap::iterator MaterialsIt;		// Definition für einen Iterator
typedef MaterialsMap::value_type MaterialsVT;	// Definition für den Wertetyp

class Materials
{
	private:
		// Deklatration der Map
		MaterialsMap MatMap;
		string element_shortcut;
	public:
		// Methode zum Hinzufügen eines einzelnen Materials in den Kontainer
          // Wie übergebe ich die Objekte???? Was haben die für nen Typ???
		void addMaterial(const objekt)
		{
			// Neues material in den Kontainer einfügen
			MatMap.insert(objekt);
		};

};
</code></pre>
<p>Geht sowas überhaupt, oder muss ich einen anderen weg gehen.</p>
<p>Danke</p>
<p>Oliver</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1120025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1120025</guid><dc:creator><![CDATA[netraxo]]></dc:creator><pubDate>Fri, 18 Aug 2006 21:59:45 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Listen speichern... on Fri, 18 Aug 2006 22:30:32 GMT]]></title><description><![CDATA[<p>Hey sieht gut aus.<br />
Wie hast Du MaterialComposition implementiert? (btw: chem. Verbindung heisst Compound)<br />
Du brauchst für die Element nen Container, und übergeben musst du ein Pair aus string und MaterialComposition.</p>
<pre><code class="language-cpp">typedef map&lt;string, MaterialComposition&gt; MaterialsMap;
typedef MaterialsMap::value_type Material;

bool Materials::addMaterial(const Material&amp; mat)
{
    // Neues material in den Kontainer einfügen
    return MatMap.insert(mat).second;
        }; 
// Main
//...
std::make_pair sugar = ( &quot;Zucker&quot;, C6H12O6 );
Materials materials;
materials.addMaterial( sugar );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1120040</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1120040</guid><dc:creator><![CDATA[Chemie Fan]]></dc:creator><pubDate>Fri, 18 Aug 2006 22:30:32 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Listen speichern... on Sat, 19 Aug 2006 01:36:41 GMT]]></title><description><![CDATA[<p>Moin,</p>
<p>halb vier und ich bin auf ein neues Problem gestoßen <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>
<p>Aber erstmal danke an den Chemie-Fan. Habs hinbekommen.</p>
<p>In meinem Main Programm lade ich wie folgt Daten in die Kontainer:</p>
<pre><code class="language-cpp">//Hauptprogramm
int main()
{
	int operation;
	bool again=true;
	string element_shortcut,material_name;

	Elements elements;
	elements.addElement(&quot;Al&quot;,&quot;Aluminium&quot;,5.5f);
	elements.addElement(&quot;C&quot;,&quot;Carbon&quot;,7.7);
	elements.addElement(&quot;Fe&quot;,&quot;Eisen&quot;,999.99);
	elements.addElement(&quot;Ti&quot;,&quot;Titanium&quot;,50.0);
	elements.addElement(&quot;Ni&quot;,&quot;Nickel&quot;,0.9);

	MaterialComposition material1(&quot;Ti64&quot;);
	material1.setComposition(&quot;Al&quot;,6.125);
	material1.setComposition(&quot;C&quot;,0.875);
	material1.setComposition(&quot;Ti&quot;,90.0);
	material1.setComposition(&quot;Fe&quot;,3.0);

	MaterialComposition material2(&quot;Ti6242&quot;);
	material2.setComposition(&quot;Fe&quot;,5.0);
	material2.setComposition(&quot;Al&quot;,40.0);
	material2.setComposition(&quot;Ti&quot;,55.0);

	MaterialComposition material3(&quot;A286&quot;);
	material3.setComposition(&quot;Al&quot;,0.5);
	material3.setComposition(&quot;Ni&quot;,99.5);

	Materials materials;
	materials.addMaterial(make_pair(material1.getMaterialName(),material1));
	materials.addMaterial(make_pair(material2.getMaterialName(),material2));
	materials.addMaterial(make_pair(material3.getMaterialName(),material3));
</code></pre>
<p>Die Klasse Elements verfügt über eine Methode, die Daten des Kontainers ElementsMap in einer Art Tabelle augibt.</p>
<p>Rufe ich diese Methode mit</p>
<pre><code class="language-cpp">elements.listElements();
</code></pre>
<p>aus dem Main direkt auf, wird alles ordnungsgemäß angezeigt. Eine weitere Funktion (getElementsSize) dieser Klasse liefert mir die Anzahl der gespeicherten Werte im Kontainer.</p>
<p>Jetzt passiert aber folgendes:<br />
Rufe ich diese Methode aus einer anderen Klasse auf, wird mir gesagt, der Kontainer sei leer.<br />
z.B.:<br />
die Klasse Materials verfügt auch über eine Methode (listMaterials) welche alle Materialien tabellarisch darstellt. Diese verweisst jedoch wieder auf die Methode zur Darstellung der einzelnen Elemente.<br />
Im Main Programm steht also nur:</p>
<pre><code class="language-cpp">materials.listMaterials();
</code></pre>
<p>In der Klasse Materials steht:</p>
<pre><code class="language-cpp">class Materials
{
    ...
    void listMaterials()
    {
        ...
        (*iter).second.listElements();
    };
};
</code></pre>
<p>Mach ich es so, ist der Kontainer leer und bei mir gehts net weiter <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>
<p>Bitte um Ideen... Danke</p>
<p>Geh jetzt pennen... Gute nacht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1120083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1120083</guid><dc:creator><![CDATA[netraxo]]></dc:creator><pubDate>Sat, 19 Aug 2006 01:36:41 GMT</pubDate></item></channel></rss>