<?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[Mehrstellige Zahlen aus string fischen]]></title><description><![CDATA[<p>Hi,</p>
<p>im Zuge des Studiums ist es meine Aufgabe einen Taschenrechner zu programmieren, der seine Berechnung nach Eingabe eines kompletten Terms durchführt.</p>
<p>Ich bin dahingehend, prozedural erstmal, schon recht weit gekommen.</p>
<p>Stehe aber nun vor dem Problem, wie ich mehrstellige Zahlen aus meinem String fischen kann.</p>
<p>Simpel fällt mir hier ein, über eine Schleife wieder zu prüfen, ob ein Operand kommt oder noch eine Ziffer. Danach kann ich jede Stelle anhand des Stellenwertes im Dezimalsystem (*10^2 etc.) nehmen, addieren, und hätte die Zahl.<br />
In meinen Augen aber doch kein intelligenter Weg, es muss doch anders gehen.</p>
<p>Hat jemand Tipps/Ideen für mich?</p>
<p>Mein Code so far:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

int main()
{
	int zahlen[10];
	int stackpointeroperand=0;
	int stackpointerzahlen=0;
	int stackpointerzaehler=0;
	int ergebnis=0,zwischenschritt=0;
	char operanden[10];
	string term;

	//arrays auf 0 setzen
	for(int i=0;i&lt;10;i++)
	{
		zahlen[i]=0;
		operanden[i]=0;
	}

	cout &lt;&lt; &quot;\nBitte Term eingeben: &quot;;
	cin &gt;&gt; term;
	cout &lt;&lt; &quot;\nDer Term ist &quot; &lt;&lt; term.length() &lt;&lt; &quot; Stellen lang\n&quot;;

	// String durchforsten und entsprechende Operanden auf eigenen Stack schreiben. Zahlenstack + Operationsstack
	for(int y=0;y&lt;int(term.length());y++)
	{
		if(term[y]=='+' || term[y]=='-' || term[y]=='*' || term[y]=='/')
		{
			operanden[stackpointeroperand]=term[y];
			stackpointeroperand++;
		}
		else
		{
			zahlen[stackpointerzahlen]=term[y]-48; //einfache Konvertierung ascii to decimal
			stackpointerzahlen++;
			cout &lt;&lt; &quot;\n\n&quot; &lt;&lt; term[y];
		}
	}

	cout &lt;&lt; &quot;\nDer String term: &quot; &lt;&lt; term;
	cout &lt;&lt; &quot;\nDer Zahlenstack: &quot; &lt;&lt; zahlen[0] &lt;&lt; &quot; &quot; &lt;&lt; zahlen[1] &lt;&lt; &quot; &quot; &lt;&lt; zahlen[2] &lt;&lt; endl;
	cout &lt;&lt; &quot;\nDer Operandenstack: &quot; &lt;&lt; operanden[0] &lt;&lt; &quot; &quot; &lt;&lt; operanden[1] &lt;&lt; &quot; &quot; &lt;&lt; operanden[2] &lt;&lt; endl;

	// Berechnung mit Zwischenschritten. jeweils 2 zahlen aus dem Zahlenstack = 1 Operation. Operandenstack wird extra gezählt
	for(int x=0;x&lt;int(term.length());x=x+2)
	{
		cout &lt;&lt; &quot;\nzahlen[&quot; &lt;&lt; x &lt;&lt; &quot;] = &quot; &lt;&lt; zahlen[x] &lt;&lt; endl &lt;&lt; &quot;zahlen[&quot; &lt;&lt; x+1 &lt;&lt; &quot;] = &quot; &lt;&lt; zahlen[x+1] &lt;&lt; endl;
		cout &lt;&lt; &quot;\noperanden[&quot; &lt;&lt; stackpointerzaehler &lt;&lt; &quot;] = &quot; &lt;&lt; operanden[stackpointerzaehler] &lt;&lt; endl;
		switch(operanden[stackpointerzaehler])
		{
		case '+':
			zwischenschritt=zahlen[x]+zahlen[x+1];
			ergebnis=ergebnis+zwischenschritt;
			cout &lt;&lt; &quot;\n\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; &quot;\nzwischenschritt = &quot; &lt;&lt; zwischenschritt &lt;&lt; endl;
			break;
		case '-':
			zwischenschritt=zahlen[x]-zahlen[x+1];
			ergebnis=ergebnis+zwischenschritt;
			cout &lt;&lt; &quot;\n\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; &quot;\nzwischenschritt = &quot; &lt;&lt; zwischenschritt &lt;&lt; endl;
			break;
		case '*':
			zwischenschritt=zahlen[x]*zahlen[x+1];
			ergebnis=ergebnis+zwischenschritt;
			cout &lt;&lt; &quot;\n\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; &quot;\nzwischenschritt = &quot; &lt;&lt; zwischenschritt &lt;&lt; endl;
			break;
		case '/':
			zwischenschritt=zahlen[x]/zahlen[x+1];
			ergebnis=ergebnis+zwischenschritt;
			cout &lt;&lt; &quot;\n\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; &quot;\nzwischenschritt = &quot; &lt;&lt; zwischenschritt &lt;&lt; endl;
			break;
		}

			zwischenschritt=0; // zwischenschritt wieder auf 0 setzen um manipulation vorzubeugen
			stackpointerzaehler++; //stackpointerzähler für operandenstack, darf ja nicht +2 sondern step-by-step abgearbeitet

	}

	cout &lt;&lt; &quot;\n\nDas Endergebnis deiner Rechenoperation lautet: &quot; &lt;&lt; ergebnis &lt;&lt; endl;

	system(&quot;pause&quot;);
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/275656/mehrstellige-zahlen-aus-string-fischen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 19:01:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/275656.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 Oct 2010 17:56:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mehrstellige Zahlen aus string fischen on Mon, 18 Oct 2010 17:56:52 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>im Zuge des Studiums ist es meine Aufgabe einen Taschenrechner zu programmieren, der seine Berechnung nach Eingabe eines kompletten Terms durchführt.</p>
<p>Ich bin dahingehend, prozedural erstmal, schon recht weit gekommen.</p>
<p>Stehe aber nun vor dem Problem, wie ich mehrstellige Zahlen aus meinem String fischen kann.</p>
<p>Simpel fällt mir hier ein, über eine Schleife wieder zu prüfen, ob ein Operand kommt oder noch eine Ziffer. Danach kann ich jede Stelle anhand des Stellenwertes im Dezimalsystem (*10^2 etc.) nehmen, addieren, und hätte die Zahl.<br />
In meinen Augen aber doch kein intelligenter Weg, es muss doch anders gehen.</p>
<p>Hat jemand Tipps/Ideen für mich?</p>
<p>Mein Code so far:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

int main()
{
	int zahlen[10];
	int stackpointeroperand=0;
	int stackpointerzahlen=0;
	int stackpointerzaehler=0;
	int ergebnis=0,zwischenschritt=0;
	char operanden[10];
	string term;

	//arrays auf 0 setzen
	for(int i=0;i&lt;10;i++)
	{
		zahlen[i]=0;
		operanden[i]=0;
	}

	cout &lt;&lt; &quot;\nBitte Term eingeben: &quot;;
	cin &gt;&gt; term;
	cout &lt;&lt; &quot;\nDer Term ist &quot; &lt;&lt; term.length() &lt;&lt; &quot; Stellen lang\n&quot;;

	// String durchforsten und entsprechende Operanden auf eigenen Stack schreiben. Zahlenstack + Operationsstack
	for(int y=0;y&lt;int(term.length());y++)
	{
		if(term[y]=='+' || term[y]=='-' || term[y]=='*' || term[y]=='/')
		{
			operanden[stackpointeroperand]=term[y];
			stackpointeroperand++;
		}
		else
		{
			zahlen[stackpointerzahlen]=term[y]-48; //einfache Konvertierung ascii to decimal
			stackpointerzahlen++;
			cout &lt;&lt; &quot;\n\n&quot; &lt;&lt; term[y];
		}
	}

	cout &lt;&lt; &quot;\nDer String term: &quot; &lt;&lt; term;
	cout &lt;&lt; &quot;\nDer Zahlenstack: &quot; &lt;&lt; zahlen[0] &lt;&lt; &quot; &quot; &lt;&lt; zahlen[1] &lt;&lt; &quot; &quot; &lt;&lt; zahlen[2] &lt;&lt; endl;
	cout &lt;&lt; &quot;\nDer Operandenstack: &quot; &lt;&lt; operanden[0] &lt;&lt; &quot; &quot; &lt;&lt; operanden[1] &lt;&lt; &quot; &quot; &lt;&lt; operanden[2] &lt;&lt; endl;

	// Berechnung mit Zwischenschritten. jeweils 2 zahlen aus dem Zahlenstack = 1 Operation. Operandenstack wird extra gezählt
	for(int x=0;x&lt;int(term.length());x=x+2)
	{
		cout &lt;&lt; &quot;\nzahlen[&quot; &lt;&lt; x &lt;&lt; &quot;] = &quot; &lt;&lt; zahlen[x] &lt;&lt; endl &lt;&lt; &quot;zahlen[&quot; &lt;&lt; x+1 &lt;&lt; &quot;] = &quot; &lt;&lt; zahlen[x+1] &lt;&lt; endl;
		cout &lt;&lt; &quot;\noperanden[&quot; &lt;&lt; stackpointerzaehler &lt;&lt; &quot;] = &quot; &lt;&lt; operanden[stackpointerzaehler] &lt;&lt; endl;
		switch(operanden[stackpointerzaehler])
		{
		case '+':
			zwischenschritt=zahlen[x]+zahlen[x+1];
			ergebnis=ergebnis+zwischenschritt;
			cout &lt;&lt; &quot;\n\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; &quot;\nzwischenschritt = &quot; &lt;&lt; zwischenschritt &lt;&lt; endl;
			break;
		case '-':
			zwischenschritt=zahlen[x]-zahlen[x+1];
			ergebnis=ergebnis+zwischenschritt;
			cout &lt;&lt; &quot;\n\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; &quot;\nzwischenschritt = &quot; &lt;&lt; zwischenschritt &lt;&lt; endl;
			break;
		case '*':
			zwischenschritt=zahlen[x]*zahlen[x+1];
			ergebnis=ergebnis+zwischenschritt;
			cout &lt;&lt; &quot;\n\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; &quot;\nzwischenschritt = &quot; &lt;&lt; zwischenschritt &lt;&lt; endl;
			break;
		case '/':
			zwischenschritt=zahlen[x]/zahlen[x+1];
			ergebnis=ergebnis+zwischenschritt;
			cout &lt;&lt; &quot;\n\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; &quot;\nzwischenschritt = &quot; &lt;&lt; zwischenschritt &lt;&lt; endl;
			break;
		}

			zwischenschritt=0; // zwischenschritt wieder auf 0 setzen um manipulation vorzubeugen
			stackpointerzaehler++; //stackpointerzähler für operandenstack, darf ja nicht +2 sondern step-by-step abgearbeitet

	}

	cout &lt;&lt; &quot;\n\nDas Endergebnis deiner Rechenoperation lautet: &quot; &lt;&lt; ergebnis &lt;&lt; endl;

	system(&quot;pause&quot;);
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1967228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1967228</guid><dc:creator><![CDATA[Stefan_B]]></dc:creator><pubDate>Mon, 18 Oct 2010 17:56:52 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrstellige Zahlen aus string fischen on Mon, 18 Oct 2010 18:14:26 GMT]]></title><description><![CDATA[<p>Pack das Ding in einen Stringstream und wende den Operator &gt;&gt; mit einem Zahlentyp darauf an. Gelingt die Aktion, hast du eine Zahl. Scheitert die Aktion, überspringst du das nächste Zeichen. Wiederholen bis Streamende.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1967242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1967242</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 18 Oct 2010 18:14:26 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrstellige Zahlen aus string fischen on Mon, 18 Oct 2010 19:27:54 GMT]]></title><description><![CDATA[<p>Offen gesagt habe ich deine Antwort nicht 100% verstanden. <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>Unabhängig davon habe ich einen anderen Lösungsansatz entwickelt durch weitere Recherche, dabei ist folgendes herausgekommen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
    char c,operanden[10];
    int n[10],i=0,b=0,zwischenschritt=0,stackpointer=1,ergebnis=0;

    for(int x=0;x&lt;10;x++)
    {
        operanden[x]=0;
        n[x]=0;
    }

    cout &lt;&lt; &quot;Term eingeben: &quot;;

    do
    {
    c=cin.peek();

    if((c&gt;='0') &amp;&amp; (c&lt;='9'))
    {
        cout &lt;&lt;&quot;\n b = &quot; &lt;&lt; b &lt;&lt; endl;
        cin &gt;&gt; n[b];
        cout &lt;&lt; &quot;N = &quot; &lt;&lt; n[b] &lt;&lt; endl;
        b++;
    } 
    else if((c=='+' || c=='-' || c=='*' || c=='/'))
    {
        cin &gt;&gt; operanden[i];
        cout &lt;&lt; &quot;Operand: &quot; &lt;&lt; operanden[i] &lt;&lt; endl;
        i++;
    }
    else if(c=='X')
    {
        break;
        return 0;
    }

    }while(c!='=');

    cout &lt;&lt; &quot;\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; endl;

    switch(operanden[0])
    {
    case '+':
        ergebnis=n[0]+n[1];
        cout &lt;&lt; &quot;\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; endl;
        break;
    case '-':
        ergebnis=n[0]-n[1];
        cout &lt;&lt; &quot;\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; endl;
        break;
    case '*':
        ergebnis=n[0]*n[1];
        cout &lt;&lt; &quot;\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; endl;
        break;
    case '/':
        ergebnis=n[0]/n[1];
        cout &lt;&lt; &quot;\n ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; endl;
        break;
    }

    for(int x=2;x&lt;=b;x+=2)
    {
        switch(operanden[stackpointer])
        {
        case '+':
            zwischenschritt=n[x]+n[x+1];
            ergebnis=ergebnis+zwischenschritt;
            cout &lt;&lt; &quot;\n\nPLUS ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; &quot;\nzwischenschritt = &quot; &lt;&lt; zwischenschritt &lt;&lt; endl;
            break;
        case '-':
            zwischenschritt=n[x]-n[x+1];
            ergebnis=ergebnis-zwischenschritt;
            cout &lt;&lt; &quot;\n\nMINUS ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; &quot;\nzwischenschritt = &quot; &lt;&lt; zwischenschritt &lt;&lt; endl;
            break;
        case '*':
            zwischenschritt=n[x]*n[x+1];
            ergebnis=ergebnis*zwischenschritt;
            cout &lt;&lt; &quot;\n\nMUL ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; &quot;\nzwischenschritt = &quot; &lt;&lt; zwischenschritt &lt;&lt; endl;
            break;
        case '/':
            zwischenschritt=n[x]/n[x+1];
            ergebnis=ergebnis/zwischenschritt;
            cout &lt;&lt; &quot;\n\nDIV ergebnis = &quot; &lt;&lt; ergebnis &lt;&lt; &quot;\nzwischenschritt = &quot; &lt;&lt; zwischenschritt &lt;&lt; endl;
            break;
        }

            zwischenschritt=0; // zwischenschritt wieder auf 0 setzen um manipulation vorzubeugen
            stackpointer++; //stackpointerzähler für operandenstack, darf ja nicht +2 sondern nur step-by-step abgearbeitet werden

            cout &lt;&lt; &quot;\nEndergebnis: &quot; &lt;&lt; ergebnis &lt;&lt; endl;

    }

}
</code></pre>
<p>Das ganze Teil kann jetzt soweit den Stream aufbrechen und entsprechend verbauen.</p>
<p>Jetzt fehlt an Implementation noch die vorzeichenbehaftete Berücksichtigung (sprich +-3 = -3) sowie Punkt-vor-Strich Rechnung.</p>
<p>Hier will ich aber erstmal selber knobeln <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1967280</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1967280</guid><dc:creator><![CDATA[Stefan_B]]></dc:creator><pubDate>Mon, 18 Oct 2010 19:27:54 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrstellige Zahlen aus string fischen on Mon, 18 Oct 2010 19:48:51 GMT]]></title><description><![CDATA[<p>schau mal hier <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>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39488.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-39488.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1967292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1967292</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 18 Oct 2010 19:48:51 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrstellige Zahlen aus string fischen on Mon, 18 Oct 2010 20:57:38 GMT]]></title><description><![CDATA[<p>... oder hier<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-p-is-1642138.html#1642138" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-p-is-1642138.html#1642138</a></p>
<p>Die dort gezeigte Lösung kann auch Zahlen mit Vorzeichen und berücksichtigt Punkt vor Strich.</p>
<p>Stefan_B schrieb:</p>
<blockquote>
<p>Offen gesagt habe ich deine Antwort nicht 100% verstanden. <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>
</blockquote>
<p>Was SeppJ meint ist, dass Du Zahlen idealerweise direkt aus einem Stream liest. Hier mal eine Skizze wie das gehen kann:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

int main()
{
    using namespace std;
    cout &lt;&lt; &quot;Term eingeben: &quot;;
    double a1, a2;
    char operator_;
    if( cin &gt;&gt; a1 &gt;&gt; operator_ &gt;&gt; a2 ) // hier kannst Du die Zahlen direkt vom Stream lesen
    {
        switch( operator_ )
        {
        case '+':
            cout &lt;&lt; a1 &lt;&lt; &quot; + &quot; &lt;&lt; a2 &lt;&lt; &quot; = &quot; &lt;&lt; (a1 + a2) &lt;&lt; endl;
            break;
        case '-':
            cout &lt;&lt; a1 &lt;&lt; &quot; - &quot; &lt;&lt; a2 &lt;&lt; &quot; = &quot; &lt;&lt; (a1 - a2) &lt;&lt; endl;
            break;
        // case .. usw.
        default:
            cerr &lt;&lt; &quot;unbekannter Operator&quot; &lt;&lt; endl;
        }
    }
    return 0;
}
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1967333</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1967333</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 18 Oct 2010 20:57:38 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrstellige Zahlen aus string fischen on Tue, 19 Oct 2010 08:05:00 GMT]]></title><description><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Shunting-yard_algorithm" rel="nofollow">http://en.wikipedia.org/wiki/Shunting-yard_algorithm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1967414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1967414</guid><dc:creator><![CDATA[Panke]]></dc:creator><pubDate>Tue, 19 Oct 2010 08:05:00 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrstellige Zahlen aus string fischen on Tue, 19 Oct 2010 11:37:57 GMT]]></title><description><![CDATA[<p>Das ist eine schöne Übungsaufgabe: einen Eingabestring in Zahlen und Operatoren aufzudröseln. So etwas leistet kein Compiler von allein. Man muss das schon selbst machen mit zeichenweiser Betrachtung des Eingabestrings. Das nennt sich dann Programmieren. <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/1967476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1967476</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Tue, 19 Oct 2010 11:37:57 GMT</pubDate></item><item><title><![CDATA[Reply to Mehrstellige Zahlen aus string fischen on Tue, 19 Oct 2010 20:45:19 GMT]]></title><description><![CDATA[<p>berniebutt schrieb:</p>
<blockquote>
<p>Das ist eine schöne Übungsaufgabe:</p>
</blockquote>
<p>ja - aber nicht unbedingt für Anfänger.</p>
<p>berniebutt schrieb:</p>
<blockquote>
<p>einen Eingabestring in Zahlen und Operatoren aufzudröseln. So etwas leistet kein Compiler von allein. Man muss das schon selbst machen mit zeichenweiser Betrachtung des Eingabestrings. Das nennt sich dann Programmieren. <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>.. würde ich eher als Hacken bezeichnen <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="😉"
    /><br />
Das zeichenweise Einlesen und Umwandeln in eine Integer- oder Fließkommazahl ist z.B. nichts anderes als die Facette <a href="http://www.cplusplus.com/reference/std/locale/num_get/" rel="nofollow">num_get</a> nachzuprogrammieren. Das kann man machen - klar, viel wichtiger finde ich, den Umgang mit streams zu üben. Das nennt sich dann C++ Programmieren.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1967759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1967759</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 19 Oct 2010 20:45:19 GMT</pubDate></item></channel></rss>