<?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[Map Familie]]></title><description><![CDATA[<p>Hallo, ich habe versucht Familiennamen(key) und ihre Kinder(value) in einer Map abzuspeichern und sie dann ausgeben zu lassen.</p>
<p>Meine Frage ist wie könnte ich diesen Code verbessern bzw. kürzen, abgesehen von den inkludierten Dateien.</p>
<pre><code>#include &lt;set&gt;
#include &lt;map&gt;
#include &lt;string&gt;
#include &lt;utility&gt;
#include &lt;vector&gt;
#include &lt;iostream&gt;
using namespace std;

void clear() { cin.sync(); cin.clear(); }

int main()
{
	string familienname;
	string kindernamen;

	map&lt;string, vector&lt;string&gt;&gt; Familie;
	cout &lt;&lt; &quot;Familien Namen eingeben:&quot;;

	while (cin &gt;&gt; familienname)
	{
		vector&lt;string&gt; Kinder;
		cout &lt;&lt; &quot;Name des Kindes:&quot;;
		clear();
		while (cin &gt;&gt; kindernamen)
		{
			Kinder.push_back(kindernamen);
			clear();
			cout &lt;&lt; &quot;Name des Kindes:&quot;;
		}

		Familie.insert(pair&lt;string, vector&lt;string&gt;&gt;(familienname, Kinder));
		clear();
		cout &lt;&lt; &quot;Familien Namen eingeben:&quot;;
	}

	for (const auto&amp; v : Familie)
	{
		cout &lt;&lt; &quot;\n\nFamilien Name: &quot; &lt;&lt; v.first &lt;&lt; endl;
		cout &lt;&lt; &quot;Kinder Namen: &quot;;
		for (auto&amp; c : v.second)
		{
			cout &lt;&lt; c &lt;&lt; &quot;,  &quot;;
		}
		cout &lt;&lt; endl &lt;&lt; endl;
	}

	clear();
	system(&quot;pause&quot;);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/329015/map-familie</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Jul 2026 02:31:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/329015.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 Nov 2014 13:14:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Map Familie on Tue, 04 Nov 2014 13:14:49 GMT]]></title><description><![CDATA[<p>Hallo, ich habe versucht Familiennamen(key) und ihre Kinder(value) in einer Map abzuspeichern und sie dann ausgeben zu lassen.</p>
<p>Meine Frage ist wie könnte ich diesen Code verbessern bzw. kürzen, abgesehen von den inkludierten Dateien.</p>
<pre><code>#include &lt;set&gt;
#include &lt;map&gt;
#include &lt;string&gt;
#include &lt;utility&gt;
#include &lt;vector&gt;
#include &lt;iostream&gt;
using namespace std;

void clear() { cin.sync(); cin.clear(); }

int main()
{
	string familienname;
	string kindernamen;

	map&lt;string, vector&lt;string&gt;&gt; Familie;
	cout &lt;&lt; &quot;Familien Namen eingeben:&quot;;

	while (cin &gt;&gt; familienname)
	{
		vector&lt;string&gt; Kinder;
		cout &lt;&lt; &quot;Name des Kindes:&quot;;
		clear();
		while (cin &gt;&gt; kindernamen)
		{
			Kinder.push_back(kindernamen);
			clear();
			cout &lt;&lt; &quot;Name des Kindes:&quot;;
		}

		Familie.insert(pair&lt;string, vector&lt;string&gt;&gt;(familienname, Kinder));
		clear();
		cout &lt;&lt; &quot;Familien Namen eingeben:&quot;;
	}

	for (const auto&amp; v : Familie)
	{
		cout &lt;&lt; &quot;\n\nFamilien Name: &quot; &lt;&lt; v.first &lt;&lt; endl;
		cout &lt;&lt; &quot;Kinder Namen: &quot;;
		for (auto&amp; c : v.second)
		{
			cout &lt;&lt; c &lt;&lt; &quot;,  &quot;;
		}
		cout &lt;&lt; endl &lt;&lt; endl;
	}

	clear();
	system(&quot;pause&quot;);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2425728</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2425728</guid><dc:creator><![CDATA[TemplateQ]]></dc:creator><pubDate>Tue, 04 Nov 2014 13:14:49 GMT</pubDate></item><item><title><![CDATA[Reply to Map Familie on Tue, 04 Nov 2014 13:30:43 GMT]]></title><description><![CDATA[<ul>
<li>
<p><code>cin.sync()</code> ist plattformabhängig. Kann bei jemand anderen schon nicht mehr funktionieren. Darum nimmt man <code>ignore</code> + <code>numeric_limits</code> .</p>
</li>
<li>
<p><code>insert</code> brauchst du nicht verwenden. Du machst einfach <code>Familie[familienname].push_back(Kinder)</code> . Wenn es den Key noch nicht gibt, wird er angelegt und der dazugehörge Value wird default konstruiert (eifnach ein leerer vector)</p>
</li>
</ul>
<p>- Der <code>system</code> -Befehl ist unperformant. Verwende ich nie. Allerdings gibt es gibt es keine perfekte Lösung, um ein Programm anzuhalten und auf eine Eingabe zu warten.</p>
<p>- Wie beendest du die <code>while</code> -Schleifen?</p>
<p>- Einige Sachen kommen öfters vor. Doppelt gemoppeltes auslagern.</p>
<p>- Bei der zweiten range-based-for hast ein <code>const</code> vergessen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2425734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2425734</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 04 Nov 2014 13:30:43 GMT</pubDate></item><item><title><![CDATA[Reply to Map Familie on Tue, 04 Nov 2014 13:39:56 GMT]]></title><description><![CDATA[<p>Die Ausgaben die mehrmals erzeugt werden habe ich mit Absicht so platziert.<br />
Die Schleifen sollen mit STRG+Z beendet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2425738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2425738</guid><dc:creator><![CDATA[TemplateQ]]></dc:creator><pubDate>Tue, 04 Nov 2014 13:39:56 GMT</pubDate></item><item><title><![CDATA[Reply to Map Familie on Tue, 04 Nov 2014 14:14:14 GMT]]></title><description><![CDATA[<p>Wäre da multimap gut?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2425747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2425747</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 04 Nov 2014 14:14:14 GMT</pubDate></item><item><title><![CDATA[Reply to Map Familie on Tue, 04 Nov 2014 14:19:32 GMT]]></title><description><![CDATA[<p>Stimmt, gleich Familiennamen gibt es ja mehrmals.</p>
<p>Ich hätte noch eine Frage bezüglich Familie[kindernamen].push_back(Kinder),<br />
ist es besser als Familie.insert(pair&lt;string, vector&lt;string&gt;&gt;(kindernamen, Kinder);</p>
<p>Die Map wird doch eigentlich sowieso sortiert, also steht es doch nicht fest ob es sich die neue Familie hinten, vorne, oder mittig befinden wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2425748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2425748</guid><dc:creator><![CDATA[TemplateQ]]></dc:creator><pubDate>Tue, 04 Nov 2014 14:19:32 GMT</pubDate></item><item><title><![CDATA[Reply to Map Familie on Tue, 04 Nov 2014 20:39:17 GMT]]></title><description><![CDATA[<p>Deswegen koennen maps ja auch &quot;nur&quot; insert und kennen kein push_back.</p>
<p>Was aber wahrscheinlich besser waere, ware <code>Familie.insert(pmake_pair(kindernamen, Kinder);</code> . Ist ziemlich genau das gleiche, wie das, was du hast, aber eben viel weniger Schreibarbeit, weil die ganzen Templateargumente automatisch deduziert werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2425854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2425854</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 04 Nov 2014 20:39:17 GMT</pubDate></item></channel></rss>