<?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[Programm]]></title><description><![CDATA[<p>habe folgendes programm:</p>
<p>#include &lt;iostream&gt;</p>
<p>using namespace std;</p>
<p>void main ()</p>
<p>{<br />
double nArt;<br />
double a = 180-20-0076.5;</p>
<p>cout &lt;&lt; &quot;<a href="http://Art.Nr" rel="nofollow">Art.Nr</a>. eingben&quot; &lt;&lt;endl;<br />
cin &gt;&gt; nArt;</p>
<p>if (nArt == 'a')<br />
cout &lt;&lt; &quot;nummer: 11517&quot; &lt;&lt;endl;</p>
<p>else<br />
cout &lt;&lt; &quot;Artikelnummer nicht vorhanden&quot; &lt;&lt;endl;</p>
<p>}</p>
<p>Es soll ein vereinfachungsprogramm werden: Es soll eine Artikelzahl wie zb. 150-45-4847.4 eingegeben werden. daraufhin soll dann die Lagernummer erscheinen.<br />
Leider habe ich Probleme mit der deklaration der art.zahl. Ist es überhaupt möglich dass ich so eine Zahl mit Bindestrichen eingeben kann? Müsste ich die Zahl irgendwie als Wort deklarieren, weil im prinzip ist es ja keine zahl mit (bindestriche)</p>
<p>Wenn ich jetzt ca. 100 artikelnummern habe mit den dazugehörigen Lagernummern macht da eine if/else schleife überhaupt sinn? Geht das nicht irgendwie anders??</p>
<p>Wär um jede hilfe dankbar. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Gruss Kuse</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/264723/programm</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 05:39:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/264723.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 11 Apr 2010 20:35:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm on Sun, 11 Apr 2010 20:35:08 GMT]]></title><description><![CDATA[<p>habe folgendes programm:</p>
<p>#include &lt;iostream&gt;</p>
<p>using namespace std;</p>
<p>void main ()</p>
<p>{<br />
double nArt;<br />
double a = 180-20-0076.5;</p>
<p>cout &lt;&lt; &quot;<a href="http://Art.Nr" rel="nofollow">Art.Nr</a>. eingben&quot; &lt;&lt;endl;<br />
cin &gt;&gt; nArt;</p>
<p>if (nArt == 'a')<br />
cout &lt;&lt; &quot;nummer: 11517&quot; &lt;&lt;endl;</p>
<p>else<br />
cout &lt;&lt; &quot;Artikelnummer nicht vorhanden&quot; &lt;&lt;endl;</p>
<p>}</p>
<p>Es soll ein vereinfachungsprogramm werden: Es soll eine Artikelzahl wie zb. 150-45-4847.4 eingegeben werden. daraufhin soll dann die Lagernummer erscheinen.<br />
Leider habe ich Probleme mit der deklaration der art.zahl. Ist es überhaupt möglich dass ich so eine Zahl mit Bindestrichen eingeben kann? Müsste ich die Zahl irgendwie als Wort deklarieren, weil im prinzip ist es ja keine zahl mit (bindestriche)</p>
<p>Wenn ich jetzt ca. 100 artikelnummern habe mit den dazugehörigen Lagernummern macht da eine if/else schleife überhaupt sinn? Geht das nicht irgendwie anders??</p>
<p>Wär um jede hilfe dankbar. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Gruss Kuse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881285</guid><dc:creator><![CDATA[sceetch]]></dc:creator><pubDate>Sun, 11 Apr 2010 20:35:08 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Sun, 11 Apr 2010 20:39:22 GMT]]></title><description><![CDATA[<p>Mach aus dem double ein string.<br />
Dann meinst du, du hast 100 Artikelnummer und dazu passende Lagernummer, da würd ich wohl <a href="http://www.cplusplus.com/reference/stl/map/" rel="nofollow">map</a> empfehlen.<br />
Und dann noch etwas ganz schlaggebendes<br />
<a href="http://www.if-schleife.de/" rel="nofollow">ES GIBT KEINE IF-SCHLEIFEN!!!</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881286</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Sun, 11 Apr 2010 20:39:22 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Sun, 11 Apr 2010 20:43:47 GMT]]></title><description><![CDATA[<p>ah cool. super.<br />
wie funzt das mit dem map? gibts das auch auf deutsch? was ist das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881288</guid><dc:creator><![CDATA[sceetch]]></dc:creator><pubDate>Sun, 11 Apr 2010 20:43:47 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Sun, 11 Apr 2010 20:46:48 GMT]]></title><description><![CDATA[<p>sceetch schrieb:</p>
<blockquote>
<p>wie funzt das mit dem map? gibts das auch auf deutsch? was ist das?</p>
</blockquote>
<p>Google. He? Google.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881290</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sun, 11 Apr 2010 20:46:48 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Sun, 11 Apr 2010 20:53:37 GMT]]></title><description><![CDATA[<p>FreakY&lt;3Cpp schrieb:</p>
<blockquote>
<p>Mach aus dem double ein string.<br />
Dann meinst du, du hast 100 Artikelnummer und dazu passende Lagernummer, da würd ich wohl <a href="http://www.cplusplus.com/reference/stl/map/" rel="nofollow">map</a> empfehlen.<br />
Und dann noch etwas ganz schlaggebendes<br />
<a href="http://www.if-schleife.de/" rel="nofollow">ES GIBT KEINE IF-SCHLEIFEN!!!</a></p>
</blockquote>
<p>Meinst du nicht es würde auch eine einfaches Array reichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881292</guid><dc:creator><![CDATA[player4245]]></dc:creator><pubDate>Sun, 11 Apr 2010 20:53:37 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Sun, 11 Apr 2010 20:54:30 GMT]]></title><description><![CDATA[<p>kannst mal mir anhand meines oben beschriebenen codes, zeigen wie der code aussehen könnte??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881293</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881293</guid><dc:creator><![CDATA[sceetch]]></dc:creator><pubDate>Sun, 11 Apr 2010 20:54:30 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Sun, 11 Apr 2010 20:57:16 GMT]]></title><description><![CDATA[<p>player4245 schrieb:</p>
<blockquote>
<p>FreakY&lt;3Cpp schrieb:</p>
<blockquote>
<p>Mach aus dem double ein string.<br />
Dann meinst du, du hast 100 Artikelnummer und dazu passende Lagernummer, da würd ich wohl <a href="http://www.cplusplus.com/reference/stl/map/" rel="nofollow">map</a> empfehlen.<br />
Und dann noch etwas ganz schlaggebendes<br />
<a href="http://www.if-schleife.de/" rel="nofollow">ES GIBT KEINE IF-SCHLEIFEN!!!</a></p>
</blockquote>
<p>Meinst du nicht es würde auch eine einfaches Array reichen?</p>
</blockquote>
<p>Und wie soll das Array aussehen?</p>
<pre><code class="language-cpp">string Numbers[MAX_NUMBERS][1];
</code></pre>
<p>Oder wie ? <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="😃"
    /><br />
Zu jeder Artikelnummer gibt es eine passende Lagernummer, warum sollte map da nicht passen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881295</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Sun, 11 Apr 2010 20:57:16 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Sun, 11 Apr 2010 21:28:04 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Hier ist ein komplettes Beispielprogramm:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

#define MAX 5

struct
{
string Artikelnummer;
string Lagernummer;
}Elemente[MAX];

int main()
{
	string ArtNum;
	bool found = false;
	cout &lt;&lt; &quot;Artikelnummer: &quot;;cin &gt;&gt; ArtNum;
	cout &lt;&lt; &quot;Lagernummer: &quot;;

	for(int loop=0;loop&lt;MAX;loop++)
	{
		if(Elemente[loop].Artikelnummer==ArtNum)
		{
			cout &lt;&lt; Elemente[loop].Lagernummer;
			found = true;
		}
	}
	if(found==false)cout &lt;&lt; &quot;(nicht gefunden)&quot; &lt;&lt; endl;
	cin.get();
	return 0;
}
</code></pre>
<p>MAX kann beliebig gewählt werden. Das Programm ist so noch nicht lauffähig, da Die Elemente keinen Inhalt haben. (Läuft zwar schon, erfüllt aber keinen Zweck). In jedes Element muss also noch die Artikelnummer und die zugehörige Lagernummer geschrieben werden. Also ich finde diese Lösung auch ohne Benutzung von map ganz schön.</p>
<p>MfG, Jochen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881307</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Sun, 11 Apr 2010 21:28:04 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Sun, 11 Apr 2010 21:41:58 GMT]]></title><description><![CDATA[<p>Ein vector der eine Liste von pair hält, wäre auch noch eine Idee:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;utility&gt;

int main()
{
    std::vector&lt;std::pair&lt;std::string, std::string&gt; &gt; Numbers;
    std::string ArtikelNummer;
    std::string LagerNummer;
    while(ArtikelNummer != &quot;0&quot; &amp;&amp; LagerNummer != &quot;0&quot;)
    {
        std::cin &gt;&gt; ArtikelNummer;
        std::cin &gt;&gt; LagerNummer;
        Numbers.push_back(make_pair(ArtikelNummer, LagerNummer));
    }
    for(unsigned int i = 0; i &lt; Numbers.size() - 1; i++)
    {
        std::cout &lt;&lt; Numbers[i].first &lt;&lt; &quot; &quot; &lt;&lt; Numbers[i].second &lt;&lt; std::endl;
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1881312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881312</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Sun, 11 Apr 2010 21:41:58 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Sun, 11 Apr 2010 21:56:27 GMT]]></title><description><![CDATA[<p>cool. schöne lösungen.danke!!<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/5675">@jochen</a> du sagst man muss die elemente noch mit einem wert versehen. kannst du das mal machen,wenn ich zb. habe: steh grad auf dem schlauch. Brauch mal ein Bsp.ums zu verstehen. seh grad en bezug nicht wirklich.</p>
<p><a href="http://art.nr" rel="nofollow">art.nr</a>. 105-10-2467.5 lagernummer: 2117<br />
<a href="http://art.nr" rel="nofollow">art.nr</a>. 108-48-4757.8 lagernummer: 3456<br />
<a href="http://art.nr" rel="nofollow">art.nr</a>. 140-47-4564.2 lagernummer: 4567</p>
<p>gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881317</guid><dc:creator><![CDATA[sceetch]]></dc:creator><pubDate>Sun, 11 Apr 2010 21:56:27 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Sun, 11 Apr 2010 22:09:40 GMT]]></title><description><![CDATA[<p>Du kannst die Werte so initialisieren:<br />
Folgenden Code einfach in meinem Beispielprog an den Anfang von main() schreiben:</p>
<pre><code class="language-cpp">Elemente[0].Artikelnummer=&quot;105-10-2467.5&quot;;Elemente[0].Lagernummer=&quot;2117&quot;;
Elemente[1].Artikelnummer=&quot;108-48-4757.8&quot;;Elemente[1].Lagernummer=&quot;3456&quot;;
Elemente[2].Artikelnummer=&quot;140-47-4564.2&quot;;Elemente[2].Lagernummer=&quot;4567&quot;;
</code></pre>
<p>Das ist natürlich keine Optimale Lösung. Besser wäre es, wenn man die Werte aus einer Textdatei einlesen könnte. Werd dazu gleich mal was Posten.<br />
MfG, Jochen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881322</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Sun, 11 Apr 2010 22:09:40 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Sun, 11 Apr 2010 22:20:42 GMT]]></title><description><![CDATA[<p>So, Hier die Version, die die Werte aus einer Textdatei datei.txt einliest:<br />
(Auf das Abfangen eventueller Fehler habe ich mal verzichtet.)</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;
#include &lt;fstream&gt;
using namespace std;

struct SElem
{
string Artikelnummer;
string Lagernummer;
}*Elemente;

int main()
{
	ifstream dat_ein;
	dat_ein.open(&quot;datei.txt&quot;,ios_base::in);
	int Anzahl;
	dat_ein &gt;&gt; Anzahl;
	Elemente = new SElem[Anzahl];

	for(int loop=0;loop&lt;Anzahl;loop++)
	{
		dat_ein &gt;&gt; Elemente[loop].Artikelnummer;
		dat_ein &gt;&gt; Elemente[loop].Lagernummer;
	}

	dat_ein.close();

	string ArtNum;
	bool found = false;
	cout &lt;&lt; &quot;Artikelnummer: &quot;;cin &gt;&gt; ArtNum;
	cout &lt;&lt; &quot;Lagernummer: &quot;;

	for(int loop=0;loop&lt;Anzahl;loop++)
	{
		if(Elemente[loop].Artikelnummer==ArtNum)
		{
			cout &lt;&lt; Elemente[loop].Lagernummer;
			found = true;
			break;
		}
	}
	if(found==false)cout &lt;&lt; &quot;(nicht gefunden)&quot; &lt;&lt; endl;
	cin.get();
    delete[] Elemente;
	return 0;
}
</code></pre>
<p>Der Inhalt der Datei:</p>
<pre><code>3
105-10-2467.5	2117
108-48-4757.8	3456
140-47-4564.2	4567
</code></pre>
<p>Die erste Zahl in der Textdatei zeigt dem Programm, wie viele Datensätze in der Datei enthalten sind. Danach kommen die Daten: Erst die Artikelnummer, dann die Lagernummer.</p>
<p>MfG, Jochen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881325</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Sun, 11 Apr 2010 22:20:42 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 08:24:21 GMT]]></title><description><![CDATA[<p>Noch besser wäre es natürlich, wenn in der Textdatei gar nicht drinstehen muss, wieviele Datensätze es gibt. Das wäre nämlich ein extrem unpraktisches Dateiformat, wenn man beim zufügen von Datensätzen an zwei Stellen etwas ändern muss. Und noch schlimmer wäre es, wenn man Datensätze entfernt aber vergisst die erste Zeile zu ändern.</p>
<p>Wie das genau geht, überlasse ich mal interessierten Lesern als Übung. Ist ganz einfach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881404</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 12 Apr 2010 08:24:21 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 08:24:59 GMT]]></title><description><![CDATA[<p>Hi Jochen. Habe ein ähnliches Prog. Aber wo speicher ich die datei.txt mit den infos ab? Muss ich nicht irgendwo einen Pfad angeben?</p>
<p>MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881405</guid><dc:creator><![CDATA[Ernst Hanser]]></dc:creator><pubDate>Mon, 12 Apr 2010 08:24:59 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 13:55:27 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Die Datei datei.txt muss sich in dem selben Ordner befinden wie das Programm. Sollte sich die Datei sonstwo befinden, muss man natürlich noch einen Pfad mit angeben.</p>
<p>MfG, Jochen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881607</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Mon, 12 Apr 2010 13:55:27 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 14:12:12 GMT]]></title><description><![CDATA[<p>So, hier ist noch das Programm, das von SeppJ bevorzugt werden würde:</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;vector&gt;
using namespace std;

struct SElem
{
string Artikelnummer;
string Lagernummer;
};

int main()
{
	ifstream dat_ein;
	dat_ein.open(&quot;datei.txt&quot;,ios_base::in);

	vector&lt;SElem&gt; Elemente;

	while(!dat_ein.eof())
	{
		SElem tmp;
		dat_ein &gt;&gt; tmp.Artikelnummer;
		dat_ein &gt;&gt; tmp.Lagernummer;
		Elemente.push_back(tmp);
	}

	int Anzahl = Elemente.size();

	dat_ein.close();

	string ArtNum;
	bool found = false;
	cout &lt;&lt; &quot;Artikelnummer: &quot;;cin &gt;&gt; ArtNum;
	cout &lt;&lt; &quot;Lagernummer: &quot;;

	for(int loop=0;loop&lt;Anzahl;loop++)
	{
		if(Elemente[loop].Artikelnummer==ArtNum)
		{
			cout &lt;&lt; Elemente[loop].Lagernummer;
			found = true;
			break;
		}
	}
	if(found==false)cout &lt;&lt; &quot;(nicht gefunden)&quot; &lt;&lt; endl;
	cin.get();
	for(int loop=0;loop&lt;Anzahl;loop++)Elemente.erase(0);
	return 0;
}
</code></pre>
<p>Der Inhalt der Datei müsste jetzt so aussehen:<br />
(So wie vorher, nur ohne die errste Zeile)</p>
<pre><code>105-10-2467.5	2117
108-48-4757.8	3456
140-47-4564.2	4567
</code></pre>
<p>Stimmt, die Lösung ist schöner. Ich weiss zwar nicht, wie vector intern arbeitet, aber führt das nicht zu einer starken Heapfragmentierung, wenn immer Speicher für ein weiteres Element reserviert werden muss, wenn ein neues Element hinzugefügt wird?</p>
<p>MfG, Jochen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881616</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Mon, 12 Apr 2010 14:12:12 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 14:31:10 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich weiss zwar nicht, wie vector intern arbeitet</p>
</blockquote>
<p><a href="http://www.sgi.com/tech/stl/Vector.html" rel="nofollow">http://www.sgi.com/tech/stl/Vector.html</a></p>
<blockquote>
<p>[3] When it is necessary to increase capacity(), vector usually increases it by a factor of two. It is crucial that the amount of growth is proportional to the current capacity(), rather than a fixed constant: in the former case inserting a series of elements into a vector is a linear time operation, and in the latter case it is quadratic.</p>
</blockquote>
<p>Und ueber Fragmentierung rede ich erst, wenn viel Speicher benoetigt wird. Desweiteren kann das Suchen auch beim Einlesen der Elemente stattfinden, dann spart man sich das Array. Auch das manuelle Loeschen der Elemente am Ende ist ueberfluessig, das passiert automatisch, wenn der Destruktor von std::vector aufgerufen wird. Ich weiss jetzt nicht genau, was erase macht, aber wenn von vorn geloescht wird, dann muss der restliche Inhalt staendig um eins nach vorne kopiert werden. Besser man beginnt hinten ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881619</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Mon, 12 Apr 2010 14:31:10 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 14:34:36 GMT]]></title><description><![CDATA[<p>Stimmt, das mit dem löschen ist nicht ganz so optimal. Noch einfacher ist es, wenn man gleich den Destruktor &quot;manuell&quot; aufruft. Oder sehe ich da etwas falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881624</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Mon, 12 Apr 2010 14:34:36 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 14:38:46 GMT]]></title><description><![CDATA[<p>Jochen S. schrieb:</p>
<blockquote>
<p>Stimmt, das mit dem löschen ist nicht ganz so optimal. Noch einfacher ist es, wenn man gleich den Destruktor &quot;manuell&quot; aufruft. Oder sehe ich da etwas falsch?</p>
</blockquote>
<p>Faustregel: Man ruft NIEMALS Destruktoren manuell auf. Destruktoren werden automatisch aufgerufen, wenn der Programmfluss den Gültigkeitsbereich eines Objekts verlässt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881627</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 12 Apr 2010 14:38:46 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 14:42:18 GMT]]></title><description><![CDATA[<p>Jochen S. schrieb:</p>
<blockquote>
<p>Noch einfacher ist es, wenn man gleich den Destruktor &quot;manuell&quot; aufruft.</p>
</blockquote>
<p>Das will ich sehen! :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881630</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Mon, 12 Apr 2010 14:42:18 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 15:07:18 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Jochen S. schrieb:</p>
<blockquote>
<p>Noch einfacher ist es, wenn man gleich den Destruktor &quot;manuell&quot; aufruft.</p>
</blockquote>
<p>Das will ich sehen! :p</p>
</blockquote>
<p>Probiers aus. Es ruft den Destruktor auf, aber das Objekt ist weiterhin zugänglich.</p>
<pre><code class="language-cpp">class MyClass
{
public:
	MyClass() { std::cout &lt;&lt; &quot;Objekt erstellt&quot; &lt;&lt; std::endl ; }
	~MyClass() { std::cout &lt;&lt; &quot;Objekt gelöscht&quot; &lt;&lt; std::endl ; }
	void DoSomething() { std::cout &lt;&lt; &quot;Objekt ruft DoSomething() auf&quot; &lt;&lt; std::endl ; }
};

int main ( )
{
	MyClass Obj ;
	Obj.~MyClass();
	Obj.DoSomething() ;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1881638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881638</guid><dc:creator><![CDATA[Somebody =)]]></dc:creator><pubDate>Mon, 12 Apr 2010 15:07:18 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 15:28:57 GMT]]></title><description><![CDATA[<p>Gut, bei solch einer Klasse mag das ja funktionieren. Wenn du aber irgendwo Speicher reservierst (was ja auch vector tut) und diesem im Destruktor freigibst, kannst du nicht mehr ohne weiteres mit den Objekt arbeiten. Und knivil sagte, dass der Speicher im Destruktor von vector freigegben wird:</p>
<p>knivil schrieb:</p>
<blockquote>
<p>Auch das manuelle Loeschen der Elemente am Ende ist ueberfluessig, das passiert automatisch, wenn der Destruktor von std::vector aufgerufen wird.</p>
</blockquote>
<p>Da dachte ich, dass man ja auch den Destruktor manuell aufrufen könne. In dem Fall würde also tatsächlich der Speicher freigegeben. Ein Weiterarbeiten mit dem Objekt wäre in dem Falle nicht mehr möglich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881643</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Mon, 12 Apr 2010 15:28:57 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 15:57:51 GMT]]></title><description><![CDATA[<p>Jochen S. schrieb:</p>
<blockquote>
<p>Ein Weiterarbeiten mit dem Objekt wäre in dem Falle nicht mehr möglich.</p>
</blockquote>
<p>Doch, aber mit undefiniertem Verhalten zur Laufzeit. Und das ist ja das Schlimme. pumuckl hat völlig Recht. Ausser bei seltenen Spezialfällen, wenn man auch Placement New verwendet, ruft man <strong>nie</strong> Destruktoren manuell auf. Entweder wird das Objekt über <code>delete</code> oder automatisch zerstört.</p>
<p>Falls man vorzeitig den Speicher freigeben möchte, was meistens keine gute Idee ist, kann man immer noch den <code>swap()</code> -Trick anwenden:</p>
<pre><code class="language-cpp">std::vector().swap(my_vector);
</code></pre>
<p>Übrigens: Äusserst kreativer Threadtitel. <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/1881657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881657</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 12 Apr 2010 15:57:51 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 21:29:35 GMT]]></title><description><![CDATA[<p>servus jungs. <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>
<p>ich muss zugeben ich bin sprachlos, und irgendwie ist das mir auch ein wenig zu hoch geworden <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="😞"
    /> ich kenn micht nicht mehr aus.<br />
Würde dieses Programm gern lauffähig machen. beim ausführen bekomme ich immer diese Fehlermeldung:</p>
<p>Kompilierung läuft...<br />
Lagersystem.cpp<br />
C:\Dokumente und Einstellungen\Markus\Desktop\Lagersystem\Lagersystem.cpp(48) : error C2374: 'loop' : Neudefinition; Mehrfachinitialisierung<br />
C:\Dokumente und Einstellungen\Markus\Desktop\Lagersystem\Lagersystem.cpp(37) : Siehe Deklaration von 'loop'<br />
Fehler beim Ausführen von cl.exe.<br />
EInlaufkurven.obj - 1 Fehler, 0 Warnung(en)</p>
<p>bin ratlos!!!!!!!!!!!!!<br />
Hab ich aber das Prinzip schon richtig geschnallt, dass die 2 Lösung besser auf Änderungen in der Liste reagiert. dh. wenn zb. eine neue art.nummer + Lagernummer hinzukommt,könnte ich die einfach dahinter anreihen.<br />
Beim nächsten ausführen wird diese Zahl mit ins prog integriert.!!!!!??????</p>
<p>Gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881844</guid><dc:creator><![CDATA[sceetch]]></dc:creator><pubDate>Mon, 12 Apr 2010 21:29:35 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Mon, 12 Apr 2010 21:35:20 GMT]]></title><description><![CDATA[<p>Zeig doch mal, wie dein aktueller Code aussieht. Das ist ein eher kleiner Fehler, den du da bekommst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1881845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1881845</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 12 Apr 2010 21:35:20 GMT</pubDate></item><item><title><![CDATA[Reply to Programm on Tue, 13 Apr 2010 16:51:30 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Hast Du etwas an dem Quelltext geändert? Bei mir lässt sich das Programm ohne Fehler kompilieren. Ich weiss ja nicht, welchen Compiler du benutzt, aber eigentlich dürfte es keinen Compiler geben, der den Code nicht kompiliert.<br />
Was du tun könntest, wäre folgendes:<br />
Du deklarierst loop gleich am Anfang von main() :</p>
<pre><code class="language-cpp">int main()
{
int loop;
// ... 
}
</code></pre>
<p>In den For-Schleifen müsstest du dann immer anstatt int loop = ... einfach nur loop = ... schreiben. Aber für konkrete Vorschläge müsste ich Einsicht in den Quelltext haben.</p>
<p>MfG, Jochen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1882297</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1882297</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Tue, 13 Apr 2010 16:51:30 GMT</pubDate></item></channel></rss>