<?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[operatoren umwandlung...von char in +, - etc.]]></title><description><![CDATA[<p>hallo,</p>
<p>ich habe folgendes problem:</p>
<p>angenohmen ich habe ein einfaches programm wo der benutzer z.b. arithmetische operatoren eingeben kann...meine frage lautet: wie kann ich diese operatoren in meinem programm benutzen:</p>
<p>z.b.:<br />
user gibts: (2-3)*23/30</p>
<p>wenn ich jetzt minus(-) in ein char speichere: cin&lt;&lt;operator;<br />
wie kann ich dann sowas wie: cout&lt;&lt;34 operator 45 (das soll das gleiche wie cout&lt;&lt;34-45; sein) machen? am ende soll das ergebnis rauskommen, also z.b. -11</p>
<p>mfg xerios</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/154095/operatoren-umwandlung-von-char-in-etc</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 22:34:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/154095.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 Jul 2006 12:15:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Mon, 24 Jul 2006 12:15:06 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich habe folgendes problem:</p>
<p>angenohmen ich habe ein einfaches programm wo der benutzer z.b. arithmetische operatoren eingeben kann...meine frage lautet: wie kann ich diese operatoren in meinem programm benutzen:</p>
<p>z.b.:<br />
user gibts: (2-3)*23/30</p>
<p>wenn ich jetzt minus(-) in ein char speichere: cin&lt;&lt;operator;<br />
wie kann ich dann sowas wie: cout&lt;&lt;34 operator 45 (das soll das gleiche wie cout&lt;&lt;34-45; sein) machen? am ende soll das ergebnis rauskommen, also z.b. -11</p>
<p>mfg xerios</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1103102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103102</guid><dc:creator><![CDATA[xerios]]></dc:creator><pubDate>Mon, 24 Jul 2006 12:15:06 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Mon, 24 Jul 2006 13:07:18 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Naja so ohne weiteres geht das nicht. Du musst halt den &quot;String&quot; splitten in Zahlenwerte, Operatoren, ...</p>
<p>Und daraus musst du dann halt nach ner bestimmten reihenfolge (Je nach rechenart, Punkt vor Strich, ...) die eingegebene Aufgabe rechnen lassen.</p>
<p>Ist aber - vorweg schon mal erwähnt - bei komplexeren aufgaben ziemlich schwierig <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>Lyrix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1103150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103150</guid><dc:creator><![CDATA[Lyrix]]></dc:creator><pubDate>Mon, 24 Jul 2006 13:07:18 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Mon, 24 Jul 2006 13:09:24 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int erg;
    char c;
    std::cin &gt;&gt; c; 

    switch (c) {
        case '-':
            erg = 5 - 4;
            break;
        case '+':
            erg = 5 + 4;
            break;
        default:
            erg = 0;
    }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1103154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103154</guid><dc:creator><![CDATA[xxxblubxxx]]></dc:creator><pubDate>Mon, 24 Jul 2006 13:09:24 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Mon, 24 Jul 2006 14:34:00 GMT]]></title><description><![CDATA[<p>xxxblubxxx schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int erg;
    char c;
    std::cin &gt;&gt; c; 
        
    switch (c) {
        case '-':
            erg = 5 - 4;
            break;
        case '+':
            erg = 5 + 4;
            break;
        default:
            erg = 0;
    }
</code></pre>
</blockquote>
<p>Hallo,</p>
<p>ich vermute xerios möchte eher auf einen Parser hinaus <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/1103217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103217</guid><dc:creator><![CDATA[Lyrix]]></dc:creator><pubDate>Mon, 24 Jul 2006 14:34:00 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Mon, 24 Jul 2006 14:47:53 GMT]]></title><description><![CDATA[<p>ich bin einfach mal von dieser aussage ausgegangen</p>
<blockquote>
<p>wenn ich jetzt minus(-) in ein char speichere: cin&lt;&lt;operator;</p>
</blockquote>
<p><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/1103230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103230</guid><dc:creator><![CDATA[xxxblubxxx]]></dc:creator><pubDate>Mon, 24 Jul 2006 14:47:53 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Mon, 24 Jul 2006 15:11:48 GMT]]></title><description><![CDATA[<p>ja, an switch habe ich schon gedacht....aber was ist wenn die formel komplexer ist und man die operatoren gar nicht kennt...wie soll ich z.b. (3+4*32.34/32*(54-3)+21)/21.323+32*34 parsen, wenn ich gar nicht weiss was ein user eingibt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1103253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103253</guid><dc:creator><![CDATA[xerios]]></dc:creator><pubDate>Mon, 24 Jul 2006 15:11:48 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Mon, 24 Jul 2006 15:49:04 GMT]]></title><description><![CDATA[<p>ja... hört sich nach parser an...<br />
ich bin auch scho seit wochen am versuchen... wenn hier jemand ne tolle idee hatt binn auch ich sehr dankbar....<br />
und ach ja... iss das falsche forum... bekommst bestimt noch *GGGGG* danke an die fredels hier dies drauf haben !!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1103281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103281</guid><dc:creator><![CDATA[Baltur]]></dc:creator><pubDate>Mon, 24 Jul 2006 15:49:04 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Tue, 25 Jul 2006 00:58:07 GMT]]></title><description><![CDATA[<p>Kennt ihr google?</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> <a href="http://www.willemer.de/informatik/compiler/bspcalc.htm" rel="nofollow">Compilerbau: Beispiel</a></p>
<p>Greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1103539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1103539</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Tue, 25 Jul 2006 00:58:07 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Tue, 25 Jul 2006 20:55:47 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=2822" rel="nofollow">SideWinder</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=13" rel="nofollow">DOS und Win32-Konsole</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=15" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1104186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1104186</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Tue, 25 Jul 2006 20:55:47 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Tue, 25 Jul 2006 21:43:52 GMT]]></title><description><![CDATA[<p>Wenn du einen Parser schreiben willst, schau dir mal lex und yacc (<a href="http://epaperpress.com/lexandyacc/index.html" rel="nofollow">http://epaperpress.com/lexandyacc/index.html</a>) an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1104226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1104226</guid><dc:creator><![CDATA[GIGIA&#x2F;&#x2F;]]></dc:creator><pubDate>Tue, 25 Jul 2006 21:43:52 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Tue, 25 Jul 2006 23:43:45 GMT]]></title><description><![CDATA[<p>Bei der Simulation eines Taschenrechners ist die Methode des &quot;rekursiven Abstiegs&quot;, wie auf der Seite über den Compilerbau, die beste Lösung.<br />
Dabei kann man ein sogenanntes &quot;Syntaxdiagramm&quot; erstellen, das man direkt in C++ umsetzen kann.</p>
<p>In diesem Syntaxdiagramm wird beispielsweise die Priorität der Ausdrücke berücksichtigt, womit man auch Regeln wie &quot;Punkt vor Strich&quot; einhalten kann.<br />
Um einen mathematischen Ausdruck in ein solches Syntaxdiagramm umsetzen zu können, muss man sich einfach überlegen, woraus dieser besteht:</p>
<p>Der Term 12 * 4 + 5 ist zunächst ein Ausdruck, bestehend aus Summanden. Diese bestehen wiederrum aus Faktoren, nämlich &quot;12 * 4&quot; und &quot;5 * 1&quot;. Diese Faktoren können selbst wieder Ausdrücke sein, die sich auch wieder aus Summanden und Faktoren zusammensetzen.<br />
Die unterste Ebene ist dabei natürlich immer jeweils eine Zahl: Die Zahl 12 setzt sich zusammen aus 1 und 2.<br />
Alles in Allem braucht man also zur Umsetzung dieser relativ einfachen mathematischen Ausdrücke 4 Funktionen, zum Beispiel 'ausdruck()', 'summand()',<br />
'faktor()', 'zahl()'.</p>
<p>Im Hauptprogramm ruft man dann einfach die Funktion 'ausdruck(Parameter)' auf, die dann das Ergebnis berechnet. Parameter besteht in diesem Fall natürlich aus einer Zeichenkette, die auch zeichenweise von der Funktion interpretiert wird ( lässt sich mit cin.get() regeln ).<br />
Trifft die Funktion 'ausdruck()' dabei auf ein Zeichen, dass sie nicht interpretieren kann, holt sie sich das nächste Zeichen des Tastaturpuffers und übergibt es an die Funktion 'summand()'. Dies wird solange wiederholt, bis die unterste Ebene erreicht ist, und die Zeichenkette in eine Zahl umgewandelt ist.<br />
Das nächste Zeichen wird 'eingelesen', und an die aufrufende Funktion zur weiteren Analyse übergeben.</p>
<p>Bevor diese Ebene erreicht ist, kann dem Syntaxdiagramm natürlich noch weitere Funktionen hinzufügen, wie beispielsweise 'potenz()', je nachdem, wie kompliziert der mathematische Ausdruck sein soll bzw. sein darf <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>Dies alles kann man in diesem Buch schön nachlesen:</p>
<p><a href="http://www.amazon.de/gp/product/3446402535/302-2062014-1357657?v=glance&amp;n=299956" rel="nofollow">http://www.amazon.de/gp/product/3446402535/302-2062014-1357657?v=glance&amp;n=299956</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1104258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1104258</guid><dc:creator><![CDATA[Bobby - Karle]]></dc:creator><pubDate>Tue, 25 Jul 2006 23:43:45 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Wed, 26 Jul 2006 08:34:15 GMT]]></title><description><![CDATA[<p>Wenn du einen Parser schreiben willst empfehle ich dir <a href="http://compilers.iecc.com/crenshaw/" rel="nofollow">das hier</a></p>
<p>Ist leider schon etwas in die jahre gekommen aber immer noch mit Abstand das BESTE compilerbau tutorial das ich kenne. Das tutorial verwendet übrigens beispiele aus pascal, aber das sollte kein problem sein das in c zu übersetzen.</p>
<p>und für den Parser würd ich dir Kapitel 4 empfehlen</p>
<p>Und lass dich nicht von dem assembler code in kapitel 1-3 verwirren,<br />
der ist<br />
1. für deine zwecke nicht notwendig und<br />
2.hab ichs ja auch geschafft nen parser daraus zu machen und ich kann KEINEN assembler <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>zur not könnte ich auch den code posten wenn du willst...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1104344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1104344</guid><dc:creator><![CDATA[DeX3]]></dc:creator><pubDate>Wed, 26 Jul 2006 08:34:15 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Wed, 26 Jul 2006 12:37:49 GMT]]></title><description><![CDATA[<p>Hier waeren zwei Beispiele zu finden, fuer das was du willst:<br />
<a href="http://www.hcs-tuning.de/cppg/viewtopic.php?t=389" rel="nofollow">http://www.hcs-tuning.de/cppg/viewtopic.php?t=389</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1104569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1104569</guid><dc:creator><![CDATA[YASC]]></dc:creator><pubDate>Wed, 26 Jul 2006 12:37:49 GMT</pubDate></item><item><title><![CDATA[Reply to operatoren umwandlung...von char in +, - etc. on Wed, 26 Jul 2006 13:21:47 GMT]]></title><description><![CDATA[<p>GIGIA// schrieb:</p>
<blockquote>
<p>Wenn du einen Parser schreiben willst, schau dir mal lex und yacc (<a href="http://epaperpress.com/lexandyacc/index.html" rel="nofollow">http://epaperpress.com/lexandyacc/index.html</a>) an.</p>
</blockquote>
<p>*Börg*. <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 />
Better use boost::<a href="http://spirit.sourceforge.net/" rel="nofollow">Spirit</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1104619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1104619</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Wed, 26 Jul 2006 13:21:47 GMT</pubDate></item></channel></rss>