<?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[erste gehversuche mit c++ (Taschenechner)]]></title><description><![CDATA[<p>moin,</p>
<p>Erstmal moechte ich mich vorstellen:</p>
<p>Ich mache ein Ausbildung zum Fisi seit etwa 3 Monaten und hab auch schon viel<br />
gelernt <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="🙂"
    /> , doch neben bei programmiere ich Zu Hause und auch etwas bei der Arbeit etwas C++.</p>
<p>Ich möchte mich natürlich immer weiter verbessern, und da meine Arbeitskollegen alle in Delphi programmieren und sie mir so nicht immer optimal helfen können, wollte ich hier mal in laufe meiner Karriere als Hobbyprogrammierer <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="😉"
    /> ein paar Quellcodes posten.</p>
<p>Ich hoffe das ich hier viel lernen werde <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>So aber nun zu meinem Rechner:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;math.h&gt;

using namespace std;

double grundrechenarten(double a, double b,char x);
double wurzelziehen(double a,char x);
void textgrundrechenarten(double &amp;a , double &amp;b);
void textwurzelziehen(double &amp;a);

int main() {

    double zahl1, zahl2;
    char zeichen;
    bool schleife1 {1};
    do {
        cout &lt;&lt; &quot;Bitte waehlen Sie aus was Sie rechen wollen!&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Um das Programm zu beenden druecken Sie n&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;+&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;-&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;*&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;/&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;erweiterte Rechenarten: &quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;***********************************&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;Wurzel ziehen (w)&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;beenden (n)&quot; &lt;&lt; endl;
        cin &gt;&gt; zeichen;
        switch (zeichen) {
        case '+' : case '-' : case '*' : case '/' :
            textgrundrechenarten(zahl1, zahl2);
             break;
        case 'w' :
            textwurzelziehen(zahl1);
            break;
        case 'n' :
            cout &lt;&lt; &quot;Programm wird beendet!&quot; &lt;&lt; endl;
            schleife1 = 0;
        default  :
            cout &lt;&lt; &quot;Die Eingabe ist ungültig!&quot; &lt;&lt; endl;
            break;
        }
        if ((grundrechenarten(zahl1,zahl2,zeichen) != 0))
            {
                cout &lt;&lt; &quot;das Ergebnis ist: &quot; &lt;&lt;  grundrechenarten(zahl1,zahl2,zeichen) &lt;&lt; endl;
            }
            else if ((wurzelziehen(zahl1,zeichen) !=0))
                     {
                cout &lt;&lt; &quot;Die Wurzel ist: &quot; &lt;&lt; wurzelziehen(zahl1,zeichen) &lt;&lt; endl;
            }
    } while (schleife1);
    return 0;
}

double grundrechenarten(double a, double b,char x)
{
    double summe = 0;

    if (x == '+')
    {
        summe = a + b;
    }
    else if (x == '-')
    {

        summe = a - b;
    }
    else if (x == '*')
    {
        summe = a * b;

    }
    else if (x == '/')
    {
    if (b != 0)
    {
        summe = a / b;
    }
    else {
    cout &lt;&lt; &quot;Durch Null teilen ist leider nicht moeglich!&quot; &lt;&lt; endl &lt;&lt; endl;
    }
    }
    return summe;
}

void textgrundrechenarten(double &amp;a , double &amp;b)
{
  cout &lt;&lt; &quot;Geben Sie bitte Zahl 1 ein&quot; &lt;&lt; endl;
  cin &gt;&gt; a;
  cout &lt;&lt; &quot;Geben Sie bitte Zahl 2 ein&quot; &lt;&lt; endl;
  cin &gt;&gt; b;
}
double wurzelziehen(double a,char x)
{
    double wurzel;

if (x == 'w')
{
    wurzel = sqrt (a);
}
    return wurzel;
}

void textwurzelziehen(double &amp;a)
{
  cout &lt;&lt; &quot;Geben Sie die Zahl ein, von dem Sie die Wurzel haben moechten&quot; &lt;&lt; endl &lt;&lt; endl;
  cin &gt;&gt; a;
}
</code></pre>
<p>Was nicht klappt</p>
<p>wenn die Zahl 0 als ergebnis kommt außer natürlich bei /.<br />
endlosschleife wenn ich bei der Eingabe der 1. zahl ein Buchstabe eingebe.</p>
<p>naja, sonst scheint alles zu laufen.</p>
<p>mfg d4rksider</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/329233/erste-gehversuche-mit-c-taschenechner</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 15:05:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/329233.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Nov 2014 16:48:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 16:48:57 GMT]]></title><description><![CDATA[<p>moin,</p>
<p>Erstmal moechte ich mich vorstellen:</p>
<p>Ich mache ein Ausbildung zum Fisi seit etwa 3 Monaten und hab auch schon viel<br />
gelernt <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="🙂"
    /> , doch neben bei programmiere ich Zu Hause und auch etwas bei der Arbeit etwas C++.</p>
<p>Ich möchte mich natürlich immer weiter verbessern, und da meine Arbeitskollegen alle in Delphi programmieren und sie mir so nicht immer optimal helfen können, wollte ich hier mal in laufe meiner Karriere als Hobbyprogrammierer <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="😉"
    /> ein paar Quellcodes posten.</p>
<p>Ich hoffe das ich hier viel lernen werde <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>So aber nun zu meinem Rechner:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;math.h&gt;

using namespace std;

double grundrechenarten(double a, double b,char x);
double wurzelziehen(double a,char x);
void textgrundrechenarten(double &amp;a , double &amp;b);
void textwurzelziehen(double &amp;a);

int main() {

    double zahl1, zahl2;
    char zeichen;
    bool schleife1 {1};
    do {
        cout &lt;&lt; &quot;Bitte waehlen Sie aus was Sie rechen wollen!&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Um das Programm zu beenden druecken Sie n&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;+&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;-&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;*&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;/&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;erweiterte Rechenarten: &quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;***********************************&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;Wurzel ziehen (w)&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;beenden (n)&quot; &lt;&lt; endl;
        cin &gt;&gt; zeichen;
        switch (zeichen) {
        case '+' : case '-' : case '*' : case '/' :
            textgrundrechenarten(zahl1, zahl2);
             break;
        case 'w' :
            textwurzelziehen(zahl1);
            break;
        case 'n' :
            cout &lt;&lt; &quot;Programm wird beendet!&quot; &lt;&lt; endl;
            schleife1 = 0;
        default  :
            cout &lt;&lt; &quot;Die Eingabe ist ungültig!&quot; &lt;&lt; endl;
            break;
        }
        if ((grundrechenarten(zahl1,zahl2,zeichen) != 0))
            {
                cout &lt;&lt; &quot;das Ergebnis ist: &quot; &lt;&lt;  grundrechenarten(zahl1,zahl2,zeichen) &lt;&lt; endl;
            }
            else if ((wurzelziehen(zahl1,zeichen) !=0))
                     {
                cout &lt;&lt; &quot;Die Wurzel ist: &quot; &lt;&lt; wurzelziehen(zahl1,zeichen) &lt;&lt; endl;
            }
    } while (schleife1);
    return 0;
}

double grundrechenarten(double a, double b,char x)
{
    double summe = 0;

    if (x == '+')
    {
        summe = a + b;
    }
    else if (x == '-')
    {

        summe = a - b;
    }
    else if (x == '*')
    {
        summe = a * b;

    }
    else if (x == '/')
    {
    if (b != 0)
    {
        summe = a / b;
    }
    else {
    cout &lt;&lt; &quot;Durch Null teilen ist leider nicht moeglich!&quot; &lt;&lt; endl &lt;&lt; endl;
    }
    }
    return summe;
}

void textgrundrechenarten(double &amp;a , double &amp;b)
{
  cout &lt;&lt; &quot;Geben Sie bitte Zahl 1 ein&quot; &lt;&lt; endl;
  cin &gt;&gt; a;
  cout &lt;&lt; &quot;Geben Sie bitte Zahl 2 ein&quot; &lt;&lt; endl;
  cin &gt;&gt; b;
}
double wurzelziehen(double a,char x)
{
    double wurzel;

if (x == 'w')
{
    wurzel = sqrt (a);
}
    return wurzel;
}

void textwurzelziehen(double &amp;a)
{
  cout &lt;&lt; &quot;Geben Sie die Zahl ein, von dem Sie die Wurzel haben moechten&quot; &lt;&lt; endl &lt;&lt; endl;
  cin &gt;&gt; a;
}
</code></pre>
<p>Was nicht klappt</p>
<p>wenn die Zahl 0 als ergebnis kommt außer natürlich bei /.<br />
endlosschleife wenn ich bei der Eingabe der 1. zahl ein Buchstabe eingebe.</p>
<p>naja, sonst scheint alles zu laufen.</p>
<p>mfg d4rksider</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427477</guid><dc:creator><![CDATA[d4rksider]]></dc:creator><pubDate>Thu, 13 Nov 2014 16:48:57 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 17:05:41 GMT]]></title><description><![CDATA[<blockquote>
<p>Was nicht klappt</p>
<p>wenn die Zahl 0 als ergebnis kommt außer natürlich bei /.<br />
endlosschleife wenn ich bei der Eingabe der 1. zahl ein Buchstabe eingebe.</p>
<p>naja, sonst scheint alles zu laufen.</p>
<p>mfg d4rksider</p>
</blockquote>
<p>also du kannst das mit dem buchstaben verhindern mit der &quot;isdigit&quot; funktion...<br />
diese prüft ob nur zahlen in der eingabe vorhanden sind, damit solltest du z.B.</p>
<p>auch die eingabe von sonderzeichen oder ähnlichem abfangen können...<br />
hier ein link dazu:<br />
<a href="http://www.cplusplus.com/reference/cctype/isdigit/" rel="nofollow">http://www.cplusplus.com/reference/cctype/isdigit/</a><br />
<a href="http://en.cppreference.com/w/cpp/locale/isdigit" rel="nofollow">http://en.cppreference.com/w/cpp/locale/isdigit</a></p>
<p>zu deinem anderen problem hab ich jetzt nicht gesehen warum bei eingabe einer 0 abgesehen von &quot;/&quot; ein fehler auftreten sollte... (hab gerade aber auch nur mal schnell drüber geschaut)</p>
<p>hoff ich konnte helfen<br />
lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427481</guid><dc:creator><![CDATA[MfG]]></dc:creator><pubDate>Thu, 13 Nov 2014 17:05:41 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 17:13:14 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>danke für die Antwort.</p>
<p>naja, wegen der 0:</p>
<pre><code>if ((grundrechenarten(zahl1,zahl2,zeichen) != 0)) 
            { 
                cout &lt;&lt; &quot;das Ergebnis ist: &quot; &lt;&lt;  grundrechenarten(zahl1,zahl2,zeichen) &lt;&lt; endl; 
            } 
            else if ((wurzelziehen(zahl1,zeichen) !=0)) 
                     { 
                cout &lt;&lt; &quot;Die Wurzel ist: &quot; &lt;&lt; wurzelziehen(zahl1,zeichen) &lt;&lt; endl; 
            }
</code></pre>
<p>denke weil bei jeder Zahl dieser Text angezeigt wird ausßer bei der 0.<br />
wollte damit verhindern, dass ich durch 0 teilen kann...<br />
ich glaube ich steige gerade selber nicht mehr durch den code <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>wenn ich nun z.b 4 * 0 rechne kommt da nur &quot;0 &quot; und nicht das Ergebnis ist...</p>
<p>werde mal versuchen isdigit einzuarbeitet</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427483</guid><dc:creator><![CDATA[d4rksider]]></dc:creator><pubDate>Thu, 13 Nov 2014 17:13:14 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 17:15:53 GMT]]></title><description><![CDATA[<p>was passiert eig wenn &quot;0&quot; als ergebnis kommt?<br />
hast du dann eine falsche zahl? hängt sich das programm auf?<br />
oder etwas anderes? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>ich hab eben nochmal geschaut ich kann nix erkennen wo eine 0 probleme machen sollte...<br />
bitte beschreibe woran du erkennst das es &quot;falsch&quot; ist, um mir zu ermöglichen den fehler i.wie einzugrenzen...<br />
so sehe ichs leider nicht und kann dir nur bedningt weiterhelfen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427484</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427484</guid><dc:creator><![CDATA[MfG]]></dc:creator><pubDate>Thu, 13 Nov 2014 17:15:53 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 17:21:53 GMT]]></title><description><![CDATA[<p>d4rksider schrieb:</p>
<blockquote>
<p>hallo,</p>
<p>danke für die Antwort.</p>
<p>naja, wegen der 0:</p>
<pre><code>if ((grundrechenarten(zahl1,zahl2,zeichen) != 0)) 
            { 
                cout &lt;&lt; &quot;das Ergebnis ist: &quot; &lt;&lt;  grundrechenarten(zahl1,zahl2,zeichen) &lt;&lt; endl; 
            } 
            else if ((wurzelziehen(zahl1,zeichen) !=0)) 
                     { 
                cout &lt;&lt; &quot;Die Wurzel ist: &quot; &lt;&lt; wurzelziehen(zahl1,zeichen) &lt;&lt; endl; 
            }
</code></pre>
<p>denke weil bei jeder Zahl dieser Text angezeigt wird ausßer bei der 0.<br />
wollte damit verhindern, dass ich durch 0 teilen kann...<br />
ich glaube ich steige gerade selber nicht mehr durch den code <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>wenn ich nun z.b 4 * 0 rechne kommt da nur &quot;0 &quot; und nicht das Ergebnis ist...</p>
<p>werde mal versuchen isdigit einzuarbeitet</p>
</blockquote>
<p>ja das hört sich so an als wenn dort der fehler liegt, gerade wenn diese ausgabe da sein sollte und nicht da ist...</p>
<p>du musst dort auch nicht die &quot;0&quot; beim &quot;/&quot; abfangen das machst du doch schon hier:</p>
<pre><code>if (b != 0)
    {
        summe = a / b;
    }
</code></pre>
<p>oder?<br />
wenn dir da noch das a fehlt kannst du auch so machen</p>
<pre><code>if (b != 0 &amp;&amp; a != 0 )
    {
        summe = a / b;
    }
</code></pre>
<p>müsste dann wenn du oben das !=0 aus deiner if-Abfrage(if((grundrechenarten(zahl1,zahl2,zeichen) != 0))... ) nimmst die du gepostet hast, müssten deine fehler erstmal behoben sein...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427486</guid><dc:creator><![CDATA[MfG]]></dc:creator><pubDate>Thu, 13 Nov 2014 17:21:53 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 17:22:57 GMT]]></title><description><![CDATA[<p>naja, das ergebnis ist richtig nur kommt der Text kommt nicht:</p>
<p>das Ergebnis ist:</p>
<p>ist vll nicht so schwer in den Griff zu kriegen aber ich verstehe es momentan nicht wie ich es hinkriegen soll.</p>
<p>naja und später möchte ich natürlich noch mehr rechenarten einfügen und nicht daran scheitern^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427487</guid><dc:creator><![CDATA[d4rksider]]></dc:creator><pubDate>Thu, 13 Nov 2014 17:22:57 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 17:25:49 GMT]]></title><description><![CDATA[<p>also der fehler mit dem ergebnis &quot;0&quot; liegt hier:</p>
<pre><code>if ((grundrechenarten(zahl1,zahl2,zeichen) != 0))
            {
                cout &lt;&lt; &quot;das Ergebnis ist: &quot; &lt;&lt;  grundrechenarten(zahl1,zahl2,zeichen) &lt;&lt; endl;
            }
            else if ((wurzelziehen(zahl1,zeichen) !=0))
                     {
                cout &lt;&lt; &quot;Die Wurzel ist: &quot; &lt;&lt; wurzelziehen(zahl1,zeichen) &lt;&lt; endl;
            }
</code></pre>
<p>da du damit alle &quot;ergebniss die 0&quot; sind blockst... (also die rückgabe von grundrechenarten() darf nicht null sein...== dein ergebnis )</p>
<p>deswegen bekommst keine &quot;0&quot; als ergebnis, da die rückgabe von grundrechenarten nicht 0 sein darf... falls doch gehst du ja in den else if()...<br />
wenn du das änderst dann solltest du auch 0 als ergebnis bekommen können sofern keine weiteren fehler existieren...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427488</guid><dc:creator><![CDATA[MfG]]></dc:creator><pubDate>Thu, 13 Nov 2014 17:25:49 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 17:34:23 GMT]]></title><description><![CDATA[<p>d4rksider schrieb:</p>
<blockquote>
<p>naja, das ergebnis ist richtig nur kommt der Text kommt nicht:</p>
<p>das Ergebnis ist:</p>
<p>ist vll nicht so schwer in den Griff zu kriegen aber ich verstehe es momentan nicht wie ich es hinkriegen soll.</p>
<p>naja und später möchte ich natürlich noch mehr rechenarten einfügen und nicht daran scheitern^^</p>
</blockquote>
<p>dieser fall kann passieren wenn das ergebnis &quot;leer&quot; ist...<br />
musst du mal schauen wie sowas passieren kann, soweit ich gesehen habe ist die rückgabe von wurzelziehen &quot;leer&quot; sein, vll auch wenn du durch 0 versuchst zu teilen...<br />
mach mal bei deinen variablen diesen:</p>
<pre><code>int x=0;
int y=0;
int a=0; ...
</code></pre>
<p>dann steht wenigstens da das ergebniss ist &quot;0&quot;... auch wenn du keine rechenoperationen durchführst...</p>
<p>zuudem sollte man solche fehler wie teilen durch &quot;0&quot; direkt abfangen, dies wäre für mich ein kritischer fehler da die rechnung so nicht möglich ist...<br />
da solltest du die funktion definiert mit fehlermeldung beenden... (&quot;z.B.: ACHTUNG ......&quot; )<br />
sonst führt das später zu fehlern die du nicht mehr identifizieren kannst, da du keine fehlermeldung bekommst... <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="😉"
    /> oder etwa doch?<br />
diese fehler sind im nachhinein, geschweige denn wenn du evt. mal 10.000 zeilen code hast unmöglich oder nur mit sehr viel zeitaufwand zu finden... (musst du aber selbst entscheiden wie du mit fehlern umgehst...)-&gt; nicht kritische fehler musst du ja nicht abbrechen <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>alternativ kann man auch mit &quot;fstream's&quot; schnell ein custom-log anlegen wo du einfach die aktionen loggst... -&gt; damit du beim entwickeln und vorallem später deine fehler erkennen und lokalisieren kannst... (odewr zumindest wesentlich schneller in dieser hinsicht bist) <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>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427490</guid><dc:creator><![CDATA[MfG]]></dc:creator><pubDate>Thu, 13 Nov 2014 17:34:23 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 17:35:33 GMT]]></title><description><![CDATA[<p>danke für den Hinweis...<br />
muss ich mal drüber nachdenken wie ich das in den griff bekomme.</p>
<p>also ist der wert 0 der da rauskommt nicht das ergebnis der rechenoption sondern ein false wert.</p>
<p>Also ich habe bis jetzt noch keine passende lösung dafür aber werde mich da schon reinfuchsen <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>danke MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427491</guid><dc:creator><![CDATA[d4rksider]]></dc:creator><pubDate>Thu, 13 Nov 2014 17:35:33 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 17:37:56 GMT]]></title><description><![CDATA[<p>d4rksider schrieb:</p>
<blockquote>
<p>danke für den Hinweis...<br />
muss ich mal drüber nachdenken wie ich das in den griff bekomme.</p>
<p>also ist der wert 0 der da rauskommt nicht das ergebnis der rechenoption sondern ein false wert.</p>
<p>Also ich habe bis jetzt noch keine passende lösung dafür aber werde mich da schon reinfuchsen <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>danke MfG</p>
</blockquote>
<p>eigentlich sollte das nicht mehr passieren wenn du deine variablen auf &quot;0&quot; initialisierst... -&gt; wie oben schon geschrieben:</p>
<p>int x=0; etc...</p>
<p>ansonsten müsste ich jetzt nochmal schauen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427492</guid><dc:creator><![CDATA[MfG]]></dc:creator><pubDate>Thu, 13 Nov 2014 17:37:56 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 17:46:51 GMT]]></title><description><![CDATA[<p>hmm weiß gerade nicht welche variablen du meinst ... sorry.<br />
habe nämlich gar keine int variablen drin nur double.</p>
<p>kannst du mir vll sagen welche funktion du meinst?</p>
<p>danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427495</guid><dc:creator><![CDATA[d4rksider]]></dc:creator><pubDate>Thu, 13 Nov 2014 17:46:51 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 17:50:05 GMT]]></title><description><![CDATA[<p>d4rksider schrieb:</p>
<blockquote>
<p>hmm weiß gerade nicht welche variablen du meinst ... sorry.<br />
habe nämlich gar keine int variablen drin nur double.</p>
<p>kannst du mir vll sagen welche funktion du meinst?</p>
<p>danke</p>
</blockquote>
<p>sry ich meinte damit nich die &quot;int&quot; variablen sondern alle variablen die zahlen enthalten... <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 />
also auch double etc... mir gings eher ums prinzip... <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/2427496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427496</guid><dc:creator><![CDATA[MfG]]></dc:creator><pubDate>Thu, 13 Nov 2014 17:50:05 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 17:56:11 GMT]]></title><description><![CDATA[<p>z.B. hier...</p>
<pre><code>double wurzelziehen(double a,char x)
{
    double wurzel;

if (x == 'w')
{
    wurzel = sqrt (a);
}
    return wurzel;
}
</code></pre>
<p>wenn if() greift ist deine variable &quot;leer&quot;...<br />
normalerweise müsste das zwar dann NULL sein...<br />
aber das ist je nach gültigkeit der variablen unterschiedlich...</p>
<p>deswegen lieber das:</p>
<pre><code>double wurzelziehen(double a,char x)
{
    double wurzel=0;

if (x == 'w')
{
    wurzel = sqrt (a);
}
    return wurzel;
}
</code></pre>
<p>noch besser wäre:</p>
<pre><code>double wurzelziehen(double a,char x)
{
    double wurzel=0;

if (x == 'w')
{
    wurzel = sqrt (a);
}else{ 
    cout &lt;&lt; &quot;fehler beim wurzel ziehen der Zahl: &quot;&lt;&lt; a &lt;&lt; endl; 
}
    return wurzel;
}
</code></pre>
<p>aber wie du es machst mit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427497</guid><dc:creator><![CDATA[MfG]]></dc:creator><pubDate>Thu, 13 Nov 2014 17:56:11 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 18:00:23 GMT]]></title><description><![CDATA[<p>alles klar <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>so habe nun</p>
<pre><code>if ((grundrechenarten(zahl1,zahl2,zeichen)))
</code></pre>
<p>verändert</p>
<p>und auch:</p>
<pre><code>if (b != 0 &amp;&amp; a != 0 )
</code></pre>
<p>auch habe ich alle zahlen initialisiert.</p>
<p>es kommt leider immer noch nicht : Das Ergebnis ist:</p>
<p>aber werde wohl noch mal einer Nacht drüber schlafen und hoffen das ich dann nichts mehr übersehen werde.</p>
<p>danke für deine hilfe. Der nächte quelltex(s)t kommt bestimmt <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: beim tippen gerade deine Antwort gesehen:</p>
<p>gut zu wissen das man vieles erst initialisieren muss damit alles gut läuft.<br />
werde ich mir merken<br />
morgen schicke ich mal die aktualisierte version meiner kleinen rechenmaschine.</p>
<p>bis denn</p>
<p>d4rksider</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427498</guid><dc:creator><![CDATA[d4rksider]]></dc:creator><pubDate>Thu, 13 Nov 2014 18:00:23 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Thu, 13 Nov 2014 18:29:23 GMT]]></title><description><![CDATA[<p>d4rksider schrieb:</p>
<blockquote>
<p>alles klar <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>so habe nun</p>
<pre><code>if ((grundrechenarten(zahl1,zahl2,zeichen)))
</code></pre>
<p>verändert</p>
<p>und auch:</p>
<pre><code>if (b != 0 &amp;&amp; a != 0 )
</code></pre>
<p>auch habe ich alle zahlen initialisiert.</p>
<p>es kommt leider immer noch nicht : Das Ergebnis ist:</p>
<p>aber werde wohl noch mal einer Nacht drüber schlafen und hoffen das ich dann nichts mehr übersehen werde.</p>
<p>danke für deine hilfe. Der nächte quelltex(s)t kommt bestimmt <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: beim tippen gerade deine Antwort gesehen:</p>
<p>gut zu wissen das man vieles erst initialisieren muss damit alles gut läuft.<br />
werde ich mir merken<br />
morgen schicke ich mal die aktualisierte version meiner kleinen rechenmaschine.</p>
<p>bis denn</p>
<p>d4rksider</p>
</blockquote>
<p>ok mach das ...<br />
wenn es dir spaß macht und dich interessiert helfe ich gerne...</p>
<p>eig passiert so etwas mit der &quot;leeren&quot; ausgabe wenn kein wert in der variablen steht und du sie ausgibst...</p>
<p>eig musst du das nicht unbedingt, in den meisten fällen macht das der compiler selbst...<br />
jedoch bei rechenprogrammen habe ich festgestellt das es einfach fehlern vorbeugt auf 0 zu initialisieren... (bei strings,chars brauchst du so etwas z.B. gar nicht!)</p>
<p>falls dich das interessiert mit den variablen ließ mal hier:<br />
grundlegend:<br />
<a href="http://www.willemer.de/informatik/cpp/var.htm" rel="nofollow">http://www.willemer.de/informatik/cpp/var.htm</a></p>
<p>gültigkeitsbereich und alles was damit zusammenhängt (z.B. wert ohne initalisierung)<br />
<a href="http://www.willemer.de/informatik/cpp/geltungvar.htm" rel="nofollow">http://www.willemer.de/informatik/cpp/geltungvar.htm</a></p>
<p>hoff ich konnt dir paar tipps, anregungen, hilfen geben...<br />
gerne wieder <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>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2427502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2427502</guid><dc:creator><![CDATA[MfG]]></dc:creator><pubDate>Thu, 13 Nov 2014 18:29:23 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Tue, 02 Dec 2014 06:19:49 GMT]]></title><description><![CDATA[<p>moin,</p>
<p>hier mal meine aktualisierte version des Taschenrechners:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;math.h&gt;
#include &lt;string&gt;
#include &lt;algorithm&gt;

using namespace std;

bool grundrechenarten(double a, double b,char x, double &amp;summe);
bool wurzelziehen(double a,char x, double &amp;summe);
void textgrundrechenarten(double &amp;a , double &amp;b);
void textwurzelziehen(double &amp;a);
void bedingung(double &amp;a, double&amp;b);

int main() {

    double zahl1, zahl2;
    char zeichen;
    bool schleife1 {1};
    double summe;
    do {
        cout &lt;&lt; &quot;Bitte waehlen Sie aus was Sie rechen wollen!&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Um das Programm zu beenden druecken Sie n&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;+&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;-&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;*&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;/&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;erweiterte Rechenarten: &quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;***********************************&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;Wurzel ziehen (w)&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;beenden (n)&quot; &lt;&lt; endl;
        cin &gt;&gt; zeichen;
        switch (zeichen)
        {
        case '+' :
        case '-' :
        case '*' :
        case '/' :
            textgrundrechenarten(zahl1, zahl2);
            break;
        case 'w' :
            textwurzelziehen(zahl1);
            break;
        case 'n' :
            cout &lt;&lt; &quot;Programm wird beendet!&quot; &lt;&lt; endl;
            schleife1 = 0;
        default  :
            cout &lt;&lt; &quot;Die Eingabe ist ungültig!&quot; &lt;&lt; endl;
            break;
        }
        if (grundrechenarten(zahl1,zahl2,zeichen,summe))
        {
            cout &lt;&lt; &quot;das Ergebnis ist: &quot; &lt;&lt;  summe  &lt;&lt; endl;
        }
        else if (wurzelziehen(zahl1,zeichen,summe))
        {
            cout &lt;&lt; &quot;Die Wurzel ist: &quot; &lt;&lt; summe  &lt;&lt; endl;
        }
    } while (schleife1);
    return 0;
}

bool grundrechenarten(double a, double b,char x, double &amp;summe)
{
    summe = 0;
    bool wahr = 1;

    if (x == '+')
    {
        summe = a + b;
    }
    else if (x == '-')
    {

        summe = a - b;
    }
    else if (x == '*')
    {
        summe = a * b;

    }
    else if (x == '/')
    {
        if (b != 0 || a !=0)
        {
            summe = a / b;
        }
        else
        {
            wahr = 0;
        }
    }
    else
    {
        cout &lt;&lt; &quot;Bitte geben Sie eine Zahl ein!&quot; &lt;&lt; endl;
        wahr = 0;
    }
    return wahr;
}

void textgrundrechenarten(double &amp;a , double &amp;b)
{
    do {
        cout &lt;&lt; &quot;Geben Sie bitte Zahl 1 ein&quot; &lt;&lt; endl;
        cin &gt;&gt; a;
        bedingung(a,b);
        cout &lt;&lt; &quot;Geben Sie bitte Zahl 2 ein&quot; &lt;&lt; endl;
        cin &gt;&gt; b;
        bedingung(a,b);

    } while (cin.fail() || cin.bad());
}

bool wurzelziehen(double a,char x, double &amp;summe)
{
    summe = 0;
    bool wahr = 1;

    if (x == 'w')
    {
        summe = sqrt (a);
    }
    return wahr;
}

void textwurzelziehen(double &amp;a)
{
    cout &lt;&lt; &quot;Geben Sie die Zahl ein, von dem Sie die Wurzel haben moechten&quot; &lt;&lt; endl &lt;&lt; endl;
    cin &gt;&gt; a;
}

void bedingung(double &amp;a, double &amp;b)
{
    if (cin.fail() || cin.bad())
    {
        cin.clear();
        cin.ignore();
        cout &lt;&lt; &quot;Bitte geben Sie nur Zahlen ein&quot; &lt;&lt; endl &lt;&lt; endl;
    }
}
</code></pre>
<p>habe jetzt mal die funktion mit einem bool wert erweitert und nun zeigt der Taschenrechner auch Ergebnisse an wenn eine Null rauskommt :-).<br />
Nur noch die Erkennung mit den Buchstaben läuft nicht so wie ich das will...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2430655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2430655</guid><dc:creator><![CDATA[d4rksider]]></dc:creator><pubDate>Tue, 02 Dec 2014 06:19:49 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Tue, 02 Dec 2014 08:47:58 GMT]]></title><description><![CDATA[<p>Du musst dir ein bisschen klarer werden, was was tut und tuen soll.</p>
<p>Überleg dir im Kopf einfach immer ein Beispiel-Szenario und geh durch, wie dein Programm für dieses abläuft.</p>
<p>Im konkreten Beispiel: Deine bedingung-funktion überprüft zwar den stream auf Fehleingabe und weist den User darauf hin, aber lässt das Programm und die Eingabe dann in Ruhe weiterlaufen.<br />
Desweiteren macht es keinen Sinn, dass diese Funktion die zwei double mitbekommt, wenn sie überhaupt nichts damit anstellt, meinst Du nicht?</p>
<p>Zudem ist dein Programm einfach ... nicht stimmig, imho. Du selber sagst schon, dass du teilweise nicht mehr durchblickst. Und das wundert nicht, wenn du aus so einem simplem Programm so ein Wirr-Warr machst.</p>
<p>Reagiere in den entsprechenden case-marken mit der Ausrechnung des Ergebnises.<br />
So wie du es momentan machst ist es erstens falsch und zweitens gezwungen allgemein, was hier einfach keinen Sinn ergibt.</p>
<p>Ob man das Einlesen der Variabeln von der Berechnung trennen will, obwohl in den zwei unterschiedlichen Fällen eh unterschiedlicher Text ausgeben und unterschiedlich eingelesen wird ist auch zweifelhaft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2430668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2430668</guid><dc:creator><![CDATA[cvcv]]></dc:creator><pubDate>Tue, 02 Dec 2014 08:47:58 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Tue, 02 Dec 2014 10:36:48 GMT]]></title><description><![CDATA[<p>hier mal eine kleine änderung mit der Bedingung:</p>
<pre><code>bool bedingung()
{
    bool wahr = 0;
    if (cin.fail() || cin.bad())
    {
        cin.clear();
        cin.ignore();
        wahr = 1;
        cout &lt;&lt; &quot;Es sind nur Zahlen gueltig!!!&quot; &lt;&lt; endl &lt;&lt; endl;
    }
  return wahr;
}
</code></pre>
<p>und das einsetzen in eine andere funktion:</p>
<pre><code>void textgrundrechenarten(double &amp;a , double &amp;b)
{
    do {
        cout &lt;&lt; &quot;Geben Sie bitte Zahl 1 ein&quot; &lt;&lt; endl;
        cin &gt;&gt; a;
        } while (bedingung());
    do {
        cout &lt;&lt; &quot;Geben Sie bitte Zahl 2 ein&quot; &lt;&lt; endl;
        cin &gt;&gt; b;
       } while (bedingung());

}
</code></pre>
<p>scheint schon gut zu klappen...<br />
aber wenn man z.B ddd eingibt kommt die antwort 3 mal^^<br />
bezüglich das einlesen der Variablen in der einen funktion und das ausrechnen in der Anderen, ich dachte das wäre besser, da der text immer gleich bleibt und ich den Rechner ja noch um ein paar Rechenarten erweitern möchte...<br />
Berichtigt mich wenn ich falsch liege <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2430691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2430691</guid><dc:creator><![CDATA[d4rksider]]></dc:creator><pubDate>Tue, 02 Dec 2014 10:36:48 GMT</pubDate></item><item><title><![CDATA[Reply to erste gehversuche mit c++ (Taschenechner) on Tue, 02 Dec 2014 11:42:23 GMT]]></title><description><![CDATA[<p>Du kannst das auch mit exceptinos lösen, d.h. wenn jemand durch 0 teilen will, einfach ne exception werfen. Und die Funktion dann in einen try block packen, im catch einfach die Fehlermeldung ausgeben &quot;Sie können nicht durch 0 dividieren&quot; oder sonst sowas.</p>
<p>Wenn ich das richtig verstanden habe, ist das ja das Problem in der grundrechen'Dings' Funktion.</p>
<p>LG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2430706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2430706</guid><dc:creator><![CDATA[hardware]]></dc:creator><pubDate>Tue, 02 Dec 2014 11:42:23 GMT</pubDate></item></channel></rss>