<?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[GELÖST]]></title><description><![CDATA[<p>Also, ich habe mit einem einfachen Programm angefangen was 2 Zahlen addieren subtrahieren, multiplizieren oder dividieren soll, mein Problem ist jetzt nicht das ich das nicht gleichzeitig ausgeben kann sondern,<br />
dass ich über eine Auswahl im Grunde das Programm starte,<br />
also z.B. 1 dann mit a/A addieren auswähle und er dann halt nur addiert.<br />
Hier der Code:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

int main()
{
	double x, y;
	double Zahl;
	string Taste;

	cout &lt;&lt; &quot;Geben Sie eine 1 zum starten des Programmes ein. &quot;;
	cin &gt;&gt; Zahl;

while (Zahl == 1)
{
	cout &lt;&lt; &quot;a/A Addition, s/S Subtraktion, m/M Multiplikation, d/D Division: &quot; &lt;&lt; endl;
	cin &gt;&gt; Taste;

	if (Taste == &quot;a&quot; || Taste == &quot;A&quot;)
	{
	cout &lt;&lt; &quot;Geben Sie 2 Zahlen ein:\n&quot;
		 &lt;&lt; &quot;1.Zahl: &quot;;
	cin  &gt;&gt; x;
	cout &lt;&lt; &quot;2.Zahl: &quot;;
	cin  &gt;&gt; y;
	cout &lt;&lt; &quot;Die Zahl lautet: &quot; &lt;&lt; x + y  &lt;&lt; endl;
	}
</code></pre>
<p>Das gleiche habe ich halt noch für subtraktion division und multiplikation gemacht, also mit der If-Abfrage</p>
<p>Danke im voraus <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/topic/322397/gelöst</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 03:51:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/322397.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 18 Dec 2013 13:06:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to GELÖST on Thu, 19 Dec 2013 12:51:40 GMT]]></title><description><![CDATA[<p>Also, ich habe mit einem einfachen Programm angefangen was 2 Zahlen addieren subtrahieren, multiplizieren oder dividieren soll, mein Problem ist jetzt nicht das ich das nicht gleichzeitig ausgeben kann sondern,<br />
dass ich über eine Auswahl im Grunde das Programm starte,<br />
also z.B. 1 dann mit a/A addieren auswähle und er dann halt nur addiert.<br />
Hier der Code:</p>
<pre><code>#include &lt;iostream&gt;
using namespace std;

int main()
{
	double x, y;
	double Zahl;
	string Taste;

	cout &lt;&lt; &quot;Geben Sie eine 1 zum starten des Programmes ein. &quot;;
	cin &gt;&gt; Zahl;

while (Zahl == 1)
{
	cout &lt;&lt; &quot;a/A Addition, s/S Subtraktion, m/M Multiplikation, d/D Division: &quot; &lt;&lt; endl;
	cin &gt;&gt; Taste;

	if (Taste == &quot;a&quot; || Taste == &quot;A&quot;)
	{
	cout &lt;&lt; &quot;Geben Sie 2 Zahlen ein:\n&quot;
		 &lt;&lt; &quot;1.Zahl: &quot;;
	cin  &gt;&gt; x;
	cout &lt;&lt; &quot;2.Zahl: &quot;;
	cin  &gt;&gt; y;
	cout &lt;&lt; &quot;Die Zahl lautet: &quot; &lt;&lt; x + y  &lt;&lt; endl;
	}
</code></pre>
<p>Das gleiche habe ich halt noch für subtraktion division und multiplikation gemacht, also mit der If-Abfrage</p>
<p>Danke im voraus <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/2372589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2372589</guid><dc:creator><![CDATA[Nomander]]></dc:creator><pubDate>Thu, 19 Dec 2013 12:51:40 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST on Wed, 18 Dec 2013 13:11:01 GMT]]></title><description><![CDATA[<p>Hallo auf dem Board! Was war noch gleich Deine Frage?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2372591</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2372591</guid><dc:creator><![CDATA[EinerVonUns]]></dc:creator><pubDate>Wed, 18 Dec 2013 13:11:01 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST on Wed, 18 Dec 2013 13:13:55 GMT]]></title><description><![CDATA[<p>Dankeschön, also meine Frage ist wie ich den Code so schreiben kann das ich am Anfang direkt auswählen kann ob ich das Programm starten oder beenden möchte<br />
und nach jeder Rechnung diese Abfrage erneut kommt.<br />
Also sagen wir ich starte das Programm, möchte addieren gebe beide Zahlen ein, kriege das Ergebnis und möchte danach das Programm beenden über die Taste f z.B.<br />
Wie kann ich das machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2372593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2372593</guid><dc:creator><![CDATA[Nomander]]></dc:creator><pubDate>Wed, 18 Dec 2013 13:13:55 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST on Wed, 18 Dec 2013 13:20:42 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">while(true) {
   cout &lt;&lt; &quot;blalblalblalala&quot;;
   cin &gt;&gt; input;
   if(input == &quot;f&quot;) break;

   cout &lt;&lt; &quot;blablabla&quot;;
   cin &gt;&gt; ....
}
</code></pre>
<p>So in der Art?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2372594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2372594</guid><dc:creator><![CDATA[EinerVonUns]]></dc:creator><pubDate>Wed, 18 Dec 2013 13:20:42 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST on Wed, 18 Dec 2013 13:25:24 GMT]]></title><description><![CDATA[<p>Ja genau, der führt ja den Code solange aus bis man die Taste f eingibt und beendet das Programm dann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2372596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2372596</guid><dc:creator><![CDATA[Nomander]]></dc:creator><pubDate>Wed, 18 Dec 2013 13:25:24 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST on Wed, 18 Dec 2013 13:37:32 GMT]]></title><description><![CDATA[<p>Sieht aus als hätte ich es jetzt gelöst:</p>
<pre><code>while (Zahl == 1)
{
	cout &lt;&lt; &quot;Geben Sie irgendeine Zahl zum starten ein oder eine 2 zum beenden: &quot;;
	cin &gt;&gt; Taste;
	if (Taste == &quot;2&quot;)
	{
		break;
	}

	else
	{
	cout &lt;&lt; &quot;a/A Addition,\n &quot;
		 &lt;&lt; &quot;s/S Subtraktion,\n &quot;
		 &lt;&lt; &quot;m/M Multiplikation,\n &quot;
		 &lt;&lt; &quot;d/D Division: &quot;;
	cin &gt;&gt; Taste;

	if (Taste == &quot;a&quot; || Taste == &quot;A&quot;)
	{
	cout &lt;&lt; &quot;\nGeben Sie 2 Zahlen ein:\n&quot;
		 &lt;&lt; &quot;1.Zahl: &quot;;
	cin  &gt;&gt; x;
	cout &lt;&lt; &quot;2.Zahl: &quot;;
	cin  &gt;&gt; y;
	cout &lt;&lt; &quot;\tDie Zahl lautet: &quot; &lt;&lt; x + y  &lt;&lt; endl;
	}
</code></pre>
<p>Allerdings gibt es jetzt noch das Problem das sollte ich nach dem Start einen anderen Buchstaben oder Zahl eingebe das er dies endlos wiederholt ohne das ich die Möglichkeit habe es abzubrechen über eine Taste oder so.<br />
Und noch etwas, könnte man den Code irgendwie eleganter schreiben?<br />
Also kürzer. <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/2372601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2372601</guid><dc:creator><![CDATA[Nomander]]></dc:creator><pubDate>Wed, 18 Dec 2013 13:37:32 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST on Wed, 18 Dec 2013 14:06:22 GMT]]></title><description><![CDATA[<p>Ich sehe im Moment nicht, inwiefern das zu einer Endlosschleife führt?<br />
Und zu der anderen Frage: Ich würde den Abbruch als Funktion wie Addieren und Subtrahieren werten, statt einer expliziten Nachfrage für Abbruch jeden Durchlauf...</p>
<p>Und zum schöner machen: Man kann das erstmal in Funktionen zerlegen, eine Funktion besorgt 2 Argumente etc. macht Fehlerbehandlung. Die mathematischen Operationen bekommen dann nur 2 Argumente... Dann könnte man die Menüstruktur funktionalisieren etc...</p>
<p>Aber ich würde da nicht so viel Energie reinstecken, weil ein Programm, das Terme ala &quot;(3+3/2)*14&quot; auswerten kann, irgendwie praxisgerechter ist und weniger Boilerplate benötigt... Da geht ein String rein und eine Zahl kommt raus... Oder halt eine Fehlermeldung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2372616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2372616</guid><dc:creator><![CDATA[EinerVonUns]]></dc:creator><pubDate>Wed, 18 Dec 2013 14:06:22 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST on Wed, 18 Dec 2013 14:21:36 GMT]]></title><description><![CDATA[<p>Ok, vielen Dank auf jeden Fall und das führt bei mir zu der Endlosschleife wenn ich das Programm starte, Addition z.B. auswähle und da dann nen Buchstaben eingebe^^</p>
<p>Ich werde sowas aber mal versuchen, also mit den Termen usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2372630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2372630</guid><dc:creator><![CDATA[Nomander]]></dc:creator><pubDate>Wed, 18 Dec 2013 14:21:36 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST on Wed, 18 Dec 2013 17:51:27 GMT]]></title><description><![CDATA[<p>Nomander schrieb:</p>
<blockquote>
<pre><code>while (Zahl == 1)
{
   // ....
}
</code></pre>
</blockquote>
<p>Die Abbruchbedingung für while wird nicht ermittelt. Entweder läuft die Schleife gar nicht (Zahl != 1) oder endlos.</p>
<p>Ich empfehle zum Üben so etwas:</p>
<pre><code>int max = 10, is = 0;
while (...)
{
   is++;
   if(is &gt; max) break;
   // ... hier schaust du dir genau an, was in der Schléife passiert!
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2372689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2372689</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Wed, 18 Dec 2013 17:51:27 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST on Thu, 19 Dec 2013 07:40:58 GMT]]></title><description><![CDATA[<p>Ok danke, in der Schleife zählt er ja wenn ich das richtig verstehe so lange hoch bis is größer als 10 ist und danach bricht er ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2372764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2372764</guid><dc:creator><![CDATA[Nomander]]></dc:creator><pubDate>Thu, 19 Dec 2013 07:40:58 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST on Thu, 19 Dec 2013 13:10:58 GMT]]></title><description><![CDATA[<p>Nomander schrieb:</p>
<blockquote>
<p>Ok, vielen Dank auf jeden Fall und das führt bei mir zu der Endlosschleife wenn ich das Programm starte, Addition z.B. auswähle und da dann nen Buchstaben eingebe^^</p>
<p>Ich werde sowas aber mal versuchen, also mit den Termen usw.</p>
</blockquote>
<p>Schau dir dazu z.B. das code Beispiel hier an: <a href="http://msdn.microsoft.com/en-us/library/71t65ya2.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/71t65ya2.aspx</a></p>
<p>Dein Problem wird wohl sein, wenn cin etwas nicht richtig einlesen kann.</p>
<p>Gehen wir mal deinen code durch:</p>
<pre><code>while (Zahl == 1)
{
    cout &lt;&lt; &quot;Geben Sie irgendeine Zahl zum starten ein oder eine 2 zum beenden: &quot;;
    cin &gt;&gt; Taste; //1. Durchlauf: 3 eingeben 2.Durchlauf: cin ist in einem Fehlerzustand! cin macht nichts.
    if (Taste == &quot;2&quot;) //1. Durchlauf: Taste ist &quot;3&quot; - Ok! 2.Durchlauf: Taste hat sich nicht geändert! Also geht die Schleife weiter
    {
        break;
    }

    else
    {
    cout &lt;&lt; &quot;a/A Addition,\n &quot;
         &lt;&lt; &quot;s/S Subtraktion,\n &quot;
         &lt;&lt; &quot;m/M Multiplikation,\n &quot;
         &lt;&lt; &quot;d/D Division: &quot;;
    cin &gt;&gt; Taste; //1.Durchlauf: a eingeben 2.Durchlauf: cin Fehlerzustand, nichts passiert

    if (Taste == &quot;a&quot; || Taste == &quot;A&quot;)
    {
    cout &lt;&lt; &quot;\nGeben Sie 2 Zahlen ein:\n&quot;
         &lt;&lt; &quot;1.Zahl: &quot;;
    cin  &gt;&gt; x; //1. Durchlauf: a eingeben =&gt; Fehler! 'a' ist keine Zahl, cin geht in den Fehlerzustand über und 'a' bleibt in cin erhalten, wird nicht  extrahiert 2.Durchlauf: cin Fehlerzustand
    cout &lt;&lt; &quot;2.Zahl: &quot;;
    cin  &gt;&gt; y;  //cin ist in einem Fehlerzustand! Nichts passiert.
    cout &lt;&lt; &quot;\tDie Zahl lautet: &quot; &lt;&lt; x + y  &lt;&lt; endl;
    }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2372814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2372814</guid><dc:creator><![CDATA[kleiner Troll]]></dc:creator><pubDate>Thu, 19 Dec 2013 13:10:58 GMT</pubDate></item></channel></rss>