<?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[Taschenrechner - Aufgabe nur in einer Zeile eintippen]]></title><description><![CDATA[<p>Ich wollte heute nun den Versuch starten einen Taschenrechner so zu programmieren, dass er die Aufgabe wenn sie in einer Zeile eingetippt wird, berechnen kann, also nciht das erst so ist:</p>
<p>Operand eingeben: *<br />
Zahl eingeben: 3<br />
zweite Zahl: 4<br />
Ergebnis: 12</p>
<p>sondern lediglich:</p>
<p>Aufgabenstellung:<br />
3*4<br />
Ergebnis: 12</p>
<p>Ok... Ich hatte die Idee es mit einem char-Array zu versuchen. Die Aufgabe wird in einem Array eingelesen und dann wird der Wert des ersten Elementes in eine Integervariable umgewandelt. Dann überprüfe ich den ASCII-Code: Insofern er zwischen 48 und 59 liegt, ist es logischerweise die Zahl. Aus Testzwecken habe ich, falls es eine Zahl ist &quot;ja stimmt&quot; oder &quot;ne falsch&quot; ausgeben lassen. Aber seltsamerweise, egal was ich eingebe, taucht immer &quot;ne falsch&quot; auf, egal was ich eingebe.</p>
<p>Hier der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;ctype.h&gt;

using namespace std;

int main()
{
    const int eingabeLength = 3;
	char eingabe [eingabeLength];
	//int intEingabe [eingabeLength];
	int ersteZahl;
	char operand;

	cout &lt;&lt; &quot;Aufgabe eingeben: &quot; &lt;&lt; endl;
	cin &gt;&gt; eingabe[eingabeLength];

    static_cast &lt;int&gt; (eingabe[0]);

    if ((eingabe[0]&gt;= 48)&amp;&amp;(eingabe[0]&lt;=59))
    {
        cout &lt;&lt; &quot;ja stimmt&quot; &lt;&lt; endl;
        return 0;
    }
    else
    {
        cout &lt;&lt; &quot;ne falsch&quot; &lt;&lt; endl;
        return 0;
    }

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/200920/taschenrechner-aufgabe-nur-in-einer-zeile-eintippen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 06:05:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200920.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Dec 2007 13:14:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Taschenrechner - Aufgabe nur in einer Zeile eintippen on Fri, 21 Dec 2007 13:14:38 GMT]]></title><description><![CDATA[<p>Ich wollte heute nun den Versuch starten einen Taschenrechner so zu programmieren, dass er die Aufgabe wenn sie in einer Zeile eingetippt wird, berechnen kann, also nciht das erst so ist:</p>
<p>Operand eingeben: *<br />
Zahl eingeben: 3<br />
zweite Zahl: 4<br />
Ergebnis: 12</p>
<p>sondern lediglich:</p>
<p>Aufgabenstellung:<br />
3*4<br />
Ergebnis: 12</p>
<p>Ok... Ich hatte die Idee es mit einem char-Array zu versuchen. Die Aufgabe wird in einem Array eingelesen und dann wird der Wert des ersten Elementes in eine Integervariable umgewandelt. Dann überprüfe ich den ASCII-Code: Insofern er zwischen 48 und 59 liegt, ist es logischerweise die Zahl. Aus Testzwecken habe ich, falls es eine Zahl ist &quot;ja stimmt&quot; oder &quot;ne falsch&quot; ausgeben lassen. Aber seltsamerweise, egal was ich eingebe, taucht immer &quot;ne falsch&quot; auf, egal was ich eingebe.</p>
<p>Hier der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;ctype.h&gt;

using namespace std;

int main()
{
    const int eingabeLength = 3;
	char eingabe [eingabeLength];
	//int intEingabe [eingabeLength];
	int ersteZahl;
	char operand;

	cout &lt;&lt; &quot;Aufgabe eingeben: &quot; &lt;&lt; endl;
	cin &gt;&gt; eingabe[eingabeLength];

    static_cast &lt;int&gt; (eingabe[0]);

    if ((eingabe[0]&gt;= 48)&amp;&amp;(eingabe[0]&lt;=59))
    {
        cout &lt;&lt; &quot;ja stimmt&quot; &lt;&lt; endl;
        return 0;
    }
    else
    {
        cout &lt;&lt; &quot;ne falsch&quot; &lt;&lt; endl;
        return 0;
    }

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1424413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424413</guid><dc:creator><![CDATA[Culfa]]></dc:creator><pubDate>Fri, 21 Dec 2007 13:14:38 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner - Aufgabe nur in einer Zeile eintippen on Fri, 21 Dec 2007 13:29:54 GMT]]></title><description><![CDATA[<p>eingabe[eingabeLength] das stimmt nicht.</p>
<p>Du erstellst da drüber ein Array mit 3 Elementen. Dann willst du an Stelle 3 was einlesen. Das Array endet aber mit Stelle 2 (0 bis 2). Mach cin &gt;&gt; eingabe[0] draus.</p>
<p>Den static_cast brauchst du auch nicht. Kannst auch direkt mit '0' und '9' vergleichen. Wichtig hierbei sind die einfachen Anführungszeichen, da diese für ein Zeichen stehen, während &quot;0&quot; und &quot;9&quot; wieder ganz was anderes sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424425</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 21 Dec 2007 13:29:54 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner - Aufgabe nur in einer Zeile eintippen on Fri, 21 Dec 2007 13:32:33 GMT]]></title><description><![CDATA[<p>Stimmt. Fällt mir auch grad auf, danke^^. Aber wie soll ich dann machen, dass alles eingelesen wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424428</guid><dc:creator><![CDATA[Culfa]]></dc:creator><pubDate>Fri, 21 Dec 2007 13:32:33 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner - Aufgabe nur in einer Zeile eintippen on Fri, 21 Dec 2007 13:38:28 GMT]]></title><description><![CDATA[<p>du denkst zu kompliziert <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<pre><code class="language-cpp">double op1, op2;
cin op;

cin &gt;&gt; op1 &gt;&gt; op &gt;&gt; op2;

switch (op)
{
case '+': cout &lt;&lt; op1 + op2 &lt;&lt; endl;
//...
}
</code></pre>
<p>du hast übrigens schon fast den richtigen header inkludiert, falls du bei deiner (umständlicheren) variante bleiben willst. <code>#include &lt;ctype&gt;</code> ist, was du suchst, um die funktion <code>isnum</code> zu bekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424433</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Fri, 21 Dec 2007 13:38:28 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner - Aufgabe nur in einer Zeile eintippen on Fri, 21 Dec 2007 13:40:59 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;string&gt;

...

string buffer;
cin &gt;&gt; buffer;
</code></pre>
<p>namespace nicht vergessen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424435</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 21 Dec 2007 13:40:59 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner - Aufgabe nur in einer Zeile eintippen on Fri, 21 Dec 2007 14:06:01 GMT]]></title><description><![CDATA[<p>Danke es funktioniert...</p>
<p>Habe immer gedacht wenn man mit dem Befehl cin arbeitet weist er die Eingabe anhand von den leerzeichen zu. Danke nochmal an beide.</p>
<p>Thread kann gecloset werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424448</guid><dc:creator><![CDATA[Culfa]]></dc:creator><pubDate>Fri, 21 Dec 2007 14:06:01 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner - Aufgabe nur in einer Zeile eintippen on Fri, 21 Dec 2007 14:16:27 GMT]]></title><description><![CDATA[<p>Macht er eigentlich auch. Sonst getline anschauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424457</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Fri, 21 Dec 2007 14:16:27 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner - Aufgabe nur in einer Zeile eintippen on Fri, 21 Dec 2007 14:55:24 GMT]]></title><description><![CDATA[<p>Culfa schrieb:</p>
<blockquote>
<p>Danke es funktioniert...</p>
<p>Habe immer gedacht wenn man mit dem Befehl cin arbeitet weist er die Eingabe anhand von den leerzeichen zu. Danke nochmal an beide.</p>
<p>Thread kann gecloset werden.</p>
</blockquote>
<p>macht er - aber bei strings. wenn du die richtigen typen verwendest, liest es solange, bis es erkennt, dass ein zeichen nicht mehr dazugehört. deshalb auch double (bei int würde nach einem punkt (komma) gestoppt werden) und char (damit nur ein einzelnes zeichen eingelesen wird). white spaces werden übrigens standardmäßig bei jeder eingabe (über &gt;&gt; und außer man verwendet noskipws) übersprungen.</p>
<p>das einzige problem mit dem code ist, dass der benutzer bei der eingabe immer &quot;richtig&quot; eingeben muss (also z.b. nicht foo + 3 oder 3 +- 2)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424491</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Fri, 21 Dec 2007 14:55:24 GMT</pubDate></item><item><title><![CDATA[Reply to Taschenrechner - Aufgabe nur in einer Zeile eintippen on Fri, 21 Dec 2007 15:21:13 GMT]]></title><description><![CDATA[<p>Könnte man dann ja per Exceptionshandling machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1424507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1424507</guid><dc:creator><![CDATA[Culfa]]></dc:creator><pubDate>Fri, 21 Dec 2007 15:21:13 GMT</pubDate></item></channel></rss>