<?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[Reading an Unknown Number of Inputs]]></title><description><![CDATA[<p>Tach zusammen,</p>
<p>ich habe vor ein paar Tagen mit C++ angefangen und kämpfe mich gerade durch das Buch &quot;C++ Primer&quot; durch. Die ersten Übungen habe ich soweit verstanden. Allerdings hänge ich nun fest und das obwohl ich nicht sehr weit gekommen bin. <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>
<blockquote>
<p><strong>1.4.3. Reading an Unknown Number of Inputs</strong></p>
<p>In the preceding sections, we wrote programs that summed the numbers from 1 through 10. A logical extension of this program would be to ask the user to input a set of numbers to sum. In this case, we won’t know how many numbers to add. Instead, we’ll keep reading numbers until there are no more numbers to read:</p>
</blockquote>
<pre><code>#include &lt;iostream&gt;
using namespace std;

int main()
{
	int sum = 0, value = 0;
	while (cin &gt;&gt; value)
		sum += value;
	cout &lt;&lt; &quot;Sum is: &quot; &lt;&lt; sum &lt;&lt; endl;
	return 0;
}
</code></pre>
<p>Darunter steht:</p>
<blockquote>
<p>If we give this program the input<br />
3 4 5 6<br />
then our output will be<br />
Sum is: 18</p>
</blockquote>
<p>Wenn ich versuche die Zahlen einzugeben passiert nicht. Und um ehrlich zu sein verstehe ich auch nicht was da ausgeführt werden soll.</p>
<p>Etwas zuvor gab es dieses Beispiel:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

int main()
{
	int sum = 0, val = 1;
		while (val &lt;= 10) 
	{
		sum += val; 
		++val; 
	}
	cout &lt;&lt; &quot;Sum of 1 to 10 inclusive is &quot; &lt;&lt; sum &lt;&lt; endl;
	return 0;
}
</code></pre>
<p>Soweit ich es verstanden habe wird die Schleife also das in den geschweiften Klammern ausgeführt solange das statement nach while wahr ist. Also solange val kleiner oder gleich 10 ist.</p>
<p>Nun verstehe ich aber nicht was das While in der Aufgabe oben machen soll zumal auch keine Schleife folgt die ausgeführt wird solange die Eingabe (cin) größer als der gepeicherte Wert ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/327738/reading-an-unknown-number-of-inputs</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Jul 2026 21:46:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/327738.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 01 Sep 2014 15:24:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Mon, 01 Sep 2014 15:24:03 GMT]]></title><description><![CDATA[<p>Tach zusammen,</p>
<p>ich habe vor ein paar Tagen mit C++ angefangen und kämpfe mich gerade durch das Buch &quot;C++ Primer&quot; durch. Die ersten Übungen habe ich soweit verstanden. Allerdings hänge ich nun fest und das obwohl ich nicht sehr weit gekommen bin. <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>
<blockquote>
<p><strong>1.4.3. Reading an Unknown Number of Inputs</strong></p>
<p>In the preceding sections, we wrote programs that summed the numbers from 1 through 10. A logical extension of this program would be to ask the user to input a set of numbers to sum. In this case, we won’t know how many numbers to add. Instead, we’ll keep reading numbers until there are no more numbers to read:</p>
</blockquote>
<pre><code>#include &lt;iostream&gt;
using namespace std;

int main()
{
	int sum = 0, value = 0;
	while (cin &gt;&gt; value)
		sum += value;
	cout &lt;&lt; &quot;Sum is: &quot; &lt;&lt; sum &lt;&lt; endl;
	return 0;
}
</code></pre>
<p>Darunter steht:</p>
<blockquote>
<p>If we give this program the input<br />
3 4 5 6<br />
then our output will be<br />
Sum is: 18</p>
</blockquote>
<p>Wenn ich versuche die Zahlen einzugeben passiert nicht. Und um ehrlich zu sein verstehe ich auch nicht was da ausgeführt werden soll.</p>
<p>Etwas zuvor gab es dieses Beispiel:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

int main()
{
	int sum = 0, val = 1;
		while (val &lt;= 10) 
	{
		sum += val; 
		++val; 
	}
	cout &lt;&lt; &quot;Sum of 1 to 10 inclusive is &quot; &lt;&lt; sum &lt;&lt; endl;
	return 0;
}
</code></pre>
<p>Soweit ich es verstanden habe wird die Schleife also das in den geschweiften Klammern ausgeführt solange das statement nach while wahr ist. Also solange val kleiner oder gleich 10 ist.</p>
<p>Nun verstehe ich aber nicht was das While in der Aufgabe oben machen soll zumal auch keine Schleife folgt die ausgeführt wird solange die Eingabe (cin) größer als der gepeicherte Wert ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2415691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415691</guid><dc:creator><![CDATA[ElCid79]]></dc:creator><pubDate>Mon, 01 Sep 2014 15:24:03 GMT</pubDate></item><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Mon, 01 Sep 2014 15:47:33 GMT]]></title><description><![CDATA[<p>Zum 1. Programm: Die Konsole geht auf. Dann gibst du beliebig viele Zahlen hintereinander ein, mit Leerzeichen getrennt. Bist du fertig mit deiner Zahleneingabe, drückst du ganz zum Schluss &quot;Enter&quot;. Jetzt stehen im Eingabepuffer beliebig viele Zahlen, die der <code>operator&gt;&gt;</code> nach und nach aus dem Eingabepuffer (pro Schleifendurchgang eine Zahl) holt. Ja und im Schleifenrumpf wird die Zahl, die eben im Schleifenkopf geholt wurde, einfach zu <code>sum</code> aufaddiert.</p>
<p>Ja, solange die Bedingung wahr ist, wird die Schleife ausgeführt. Ja, solange <code>val &lt;= 10</code> ist.</p>
<p><code>cin &gt;&gt; value</code> : Du gibst eine Zahl ein. Die landet im Eingabepuffer. Mit <code>operator&gt;&gt;</code> extrahierst du die Zahl aus dem Eingabepuffer und speicherst sie in <code>value</code> ab. Zum Schluss der Operation wird das Objekt <code>cin</code> zurückgegeben.... <code>operator&gt;&gt;</code> ist ja eine Funktion: <code>istream&amp; operator&gt;&gt;(istream&amp;,T&amp;)</code> . Weil <code>istream</code> den <code>operator bool</code> implementiert, kannst du ein istream-Objekt, also <code>cin</code> , zu <code>bool</code> konvertieren. Ist das <code>cin</code> -Objekt nach einer Operation in einem guten Zustand, ergibt die Konvertierung <code>true</code> , ist es in einem schlechten Zustand ergibt die Konvertierung <code>false</code> (die Schleife wird abgebrochen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2415692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415692</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 01 Sep 2014 15:47:33 GMT</pubDate></item><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Mon, 01 Sep 2014 15:44:20 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>Zum 1. Programm: Die Konsole geht auf. Dann gibst du beliebig viele Zahlen hintereinander ein, mit Leerzeichen getrennt. Bist du fertig mit deiner Zahleneingabe, drückst du ganz zum Schluss &quot;Enter&quot;. Jetzt stehen im Eingabepuffer beliebig viele Zahlen, die der operator&gt;&gt; nach und nach aus dem Eingabepuffer (pro Schleifendurchgang eine Zahl) holt. Ja und im Schleifenrumpf wird die Zahl, die eben im Schleifenkopf geholt wurde, einfach zu sum aufaddiert.</p>
<p>Ja, solange die Bedingung wahr ist, wird die Schleife ausgeführt. Ja, solang <code>val &lt;= 10</code> ist.</p>
<p><code>cin &gt;&gt; value</code> : Du gibst eine Zahl ein. Die landet im Eingabepuffer. Mit <code>operator&gt;&gt;</code> extrahierst du die Zahl aus dem Eingabepuffer und speicherst sie in value ab. Zum Schluss der Operation wird das Objekt cin zurückgegeben.... <code>operator&gt;&gt;</code> ist ja eine Funktion: <code>istream&amp; operator&gt;&gt;(istream&amp;,T&amp;)</code> . Weil <code>istream</code> den <code>operator bool</code> implementiert, kannst du ein istream-Objekt, also cin, zu bool konvertieren. Ist das cin-Objekt nach einer Operation in einem guten Zustand, ergibt die Konvertierung true, ist es in einem schlechten Zustand ergibt die Konvertierung false (die Schleife wird abgebrochen).</p>
</blockquote>
<p>omg meine Rechtschreibfehler, mal korrigiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2415693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415693</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Mon, 01 Sep 2014 15:44:20 GMT</pubDate></item><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Mon, 01 Sep 2014 15:45:00 GMT]]></title><description><![CDATA[<p>Du musst noch irgendwie sagen, daß die Eingabe abgeschlossen ist. Das erreichst du entweder, in dem du den Stream (hier: <code>std::cin</code> ) in einen Fehlerzustand zwingst ( <code>operator&gt;&gt;()</code> versucht einen <code>int</code> zu extrahieren, du gibst ihm aber einen Buchstaben) oder du gibst <a href="http://en.wikipedia.org/wiki/End-of-file" rel="nofollow">EOF</a> ein. Unter windows ist das <code>strg + z</code> , unter UN*X <code>strg + d</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2415694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415694</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Mon, 01 Sep 2014 15:45:00 GMT</pubDate></item><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Mon, 01 Sep 2014 16:22:40 GMT]]></title><description><![CDATA[<p>Vielen Dank euch beiden. <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/2415699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415699</guid><dc:creator><![CDATA[ElCid79]]></dc:creator><pubDate>Mon, 01 Sep 2014 16:22:40 GMT</pubDate></item><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Tue, 02 Sep 2014 17:46:57 GMT]]></title><description><![CDATA[<p>Sehe ich das richtig, man ist hier zwar oft so pingelig, aber es ist praktisch schnurz ob ich jetzt std::endl oder '/n' fuer eine neue Zeile verwende?</p>
<p>Ich mein, wenn sogar ein empfohlenes Buch das mit endl macht, wo ich gehoert habe, dass man '/n' nehmen soll</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2415859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415859</guid><dc:creator><![CDATA[hardware]]></dc:creator><pubDate>Tue, 02 Sep 2014 17:46:57 GMT</pubDate></item><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Tue, 02 Sep 2014 18:38:17 GMT]]></title><description><![CDATA[<p>Weiß nicht? Hunger? Fang: <code>&gt;&lt;((((°&gt;</code></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2415864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415864</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Tue, 02 Sep 2014 18:38:17 GMT</pubDate></item><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Tue, 02 Sep 2014 19:04:35 GMT]]></title><description><![CDATA[<p>hardware schrieb:</p>
<blockquote>
<p>Sehe ich das richtig, man ist hier zwar oft so pingelig, aber es ist praktisch schnurz ob ich jetzt std::endl oder '/n' fuer eine neue Zeile verwende?</p>
<p>Ich mein, wenn sogar ein empfohlenes Buch das mit endl macht, wo ich gehoert habe, dass man '/n' nehmen soll</p>
</blockquote>
<p>Ach das Thema gabs doch schon oft. Nimmst du das, was dich anspricht. Stephan T Lavavej nimmt endl andauernd, wenn er es nimmt darfst du das auch:D</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2415866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415866</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 02 Sep 2014 19:04:35 GMT</pubDate></item><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Tue, 02 Sep 2014 20:32:14 GMT]]></title><description><![CDATA[<p>Dass von <code>std::endl</code> vor allem bei Dateistreams abzuraten ist und dass man z.B. Logs gerne in Dateien umleitet zweifelt hier hoffentlich niemand an. Und letztlich: Wieso habt ihr einen solchen Drang mehr zu tippen? <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>Edit: Tippfehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2415870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415870</guid><dc:creator><![CDATA[Fytch]]></dc:creator><pubDate>Tue, 02 Sep 2014 20:32:14 GMT</pubDate></item><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Tue, 02 Sep 2014 20:15:10 GMT]]></title><description><![CDATA[<p>asfdlol schrieb:</p>
<blockquote>
<p>Wieso hab ihr einen solchen Drang mehr zu tippen? <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>Vermutlich deutsches Tastaturlayout, wo '\n' eher unbequem zu tippen ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2415871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415871</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 02 Sep 2014 20:15:10 GMT</pubDate></item><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Tue, 02 Sep 2014 21:11:05 GMT]]></title><description><![CDATA[<p>Findest du das wirklich? Ich tippe einen \ ohne Probleme in Nullkommanix.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2415874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415874</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Tue, 02 Sep 2014 21:11:05 GMT</pubDate></item><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Tue, 02 Sep 2014 21:33:35 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>Findest du das wirklich? Ich tippe einen \ ohne Probleme in Nullkommanix.</p>
</blockquote>
<p>Wenn du '\' mit deutschem Layout im Nullkommanix tippen kannst, dann reist du beim Tippen von '\' auf US-Layout sogar in der Zeit zurück <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>Aber am schlimmsten ist das Gesamtkonstrukt &quot;'\n'&quot; (also mit Hochkommata). Shift+Taste, AtlGr+Taste, Taste, Shift+Taste. Im Gegensatz zu Taste, Taste, Taste, Taste, wenn man das Layout der Leute benutzt, die sich dieses Konstrukt ausgedacht haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2415876</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415876</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 02 Sep 2014 21:33:35 GMT</pubDate></item><item><title><![CDATA[Reply to Reading an Unknown Number of Inputs on Wed, 03 Sep 2014 04:41:53 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Swordfish schrieb:</p>
<blockquote>
<p>Findest du das wirklich? Ich tippe einen \ ohne Probleme in Nullkommanix.</p>
</blockquote>
<p>Wenn du '\' mit deutschem Layout im Nullkommanix tippen kannst, dann reist du beim Tippen von '\' auf US-Layout sogar in der Zeit zurück <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>
</blockquote>
<p>Gut. Ich stell' das Layout um und meld mich gestern wieder. <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/2415895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2415895</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 03 Sep 2014 04:41:53 GMT</pubDate></item></channel></rss>