<?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[Variable übernimmt nicht das was sie soll]]></title><description><![CDATA[<p>Hey Leute</p>
<p>Bin dabei C++ zu lernen und acker gerade ein Buch durch. Bin gerade bei Übungsaufgaben aber komme dort leider nicht weiter... und Lösungen gibt es dafür auch keine.</p>
<p>Also die Aufgabe ist:<br />
Man soll Zahlen mit Werten wie cm, inch, m und ft eingeben.<br />
Dann werden diese Werte in Meter umgerechnet.<br />
Am Ende wird ausgegeben, was der bisher kleinste und bisher größte Wert war.</p>
<p>val1 = kleinste Zahl<br />
val2 = größte Zahl</p>
<p>Das Programm funzt auch an sich wie es soll, nur mit der ersten Eingabe, sollen die double val1 und val2 auf den gleichen Wert x gesetzt werden, den ich als erstes eingebe.<br />
Komischerweise übernimmt bei 0cm, val1 auch &quot;0 Meter&quot;, aber bei val2 steht dann 6.95335e-310 Meter &quot;...</p>
<p>Und wenn ich 1cm eingebe, dann steht bei val1 &quot;62.0756e-317 Meter&quot; und bei val2 &quot;0.01 Meter&quot;...</p>
<p>Woran liegt das?</p>
<p>Hier ist das Programm:</p>
<pre><code class="language-cpp">int main()
{
    double x;           // Eingabe -&gt; Größe
    double val1;        // Kleinste Zahl
    double val2;        // Größte Zahl
    string wert;        // Eingabe -&gt; Wert
    char wert1;         // Erster Buchstabe von Wert
    while(0 &lt; 1) {      // KA was ich ich sonst eingeben soll dass sich die schleife immer wiederholt
        cin &gt;&gt; x &gt;&gt; wert;
        wert1 = wert[0];      // Wandelt ersten Buchstaben von string in char um
        switch(wert1) {
            case 'c':       // cm
                x=x/100;
                break;
            case 'm':       // m
                x=x;
                break;
            case 'i':       // inch
                x=x*2.54/100;
                break;
            case 'f':       // ft
                x=x*12*2.54/100;
                break;
            default:
                cout &lt;&lt; &quot;Bitte geben sie cm, inch, m oder ft ein!\n&quot;;
        }
        if(val1 &amp;&amp; val2 == 0) {
            val1=x;
            val2=x;
        }
        else {
            if(x &lt; val1) {
                val1 = x;
            }
            else {
                if(x &gt; val2) {
                    val2 = x;
                }
            }
        }
        cout &lt;&lt; &quot;Bisher kleinster Wert:    &quot; &lt;&lt; val1 &lt;&lt; &quot; Meter\n&quot;;
        cout &lt;&lt; &quot;Bisher grösster Wert:     &quot; &lt;&lt; val2 &lt;&lt; &quot; Meter\n&quot;;
    }
}
</code></pre>
<p>Schonmal Danke <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/topic/295415/variable-übernimmt-nicht-das-was-sie-soll</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 09:38:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/295415.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 13 Nov 2011 21:43:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variable übernimmt nicht das was sie soll on Sun, 13 Nov 2011 21:43:53 GMT]]></title><description><![CDATA[<p>Hey Leute</p>
<p>Bin dabei C++ zu lernen und acker gerade ein Buch durch. Bin gerade bei Übungsaufgaben aber komme dort leider nicht weiter... und Lösungen gibt es dafür auch keine.</p>
<p>Also die Aufgabe ist:<br />
Man soll Zahlen mit Werten wie cm, inch, m und ft eingeben.<br />
Dann werden diese Werte in Meter umgerechnet.<br />
Am Ende wird ausgegeben, was der bisher kleinste und bisher größte Wert war.</p>
<p>val1 = kleinste Zahl<br />
val2 = größte Zahl</p>
<p>Das Programm funzt auch an sich wie es soll, nur mit der ersten Eingabe, sollen die double val1 und val2 auf den gleichen Wert x gesetzt werden, den ich als erstes eingebe.<br />
Komischerweise übernimmt bei 0cm, val1 auch &quot;0 Meter&quot;, aber bei val2 steht dann 6.95335e-310 Meter &quot;...</p>
<p>Und wenn ich 1cm eingebe, dann steht bei val1 &quot;62.0756e-317 Meter&quot; und bei val2 &quot;0.01 Meter&quot;...</p>
<p>Woran liegt das?</p>
<p>Hier ist das Programm:</p>
<pre><code class="language-cpp">int main()
{
    double x;           // Eingabe -&gt; Größe
    double val1;        // Kleinste Zahl
    double val2;        // Größte Zahl
    string wert;        // Eingabe -&gt; Wert
    char wert1;         // Erster Buchstabe von Wert
    while(0 &lt; 1) {      // KA was ich ich sonst eingeben soll dass sich die schleife immer wiederholt
        cin &gt;&gt; x &gt;&gt; wert;
        wert1 = wert[0];      // Wandelt ersten Buchstaben von string in char um
        switch(wert1) {
            case 'c':       // cm
                x=x/100;
                break;
            case 'm':       // m
                x=x;
                break;
            case 'i':       // inch
                x=x*2.54/100;
                break;
            case 'f':       // ft
                x=x*12*2.54/100;
                break;
            default:
                cout &lt;&lt; &quot;Bitte geben sie cm, inch, m oder ft ein!\n&quot;;
        }
        if(val1 &amp;&amp; val2 == 0) {
            val1=x;
            val2=x;
        }
        else {
            if(x &lt; val1) {
                val1 = x;
            }
            else {
                if(x &gt; val2) {
                    val2 = x;
                }
            }
        }
        cout &lt;&lt; &quot;Bisher kleinster Wert:    &quot; &lt;&lt; val1 &lt;&lt; &quot; Meter\n&quot;;
        cout &lt;&lt; &quot;Bisher grösster Wert:     &quot; &lt;&lt; val2 &lt;&lt; &quot; Meter\n&quot;;
    }
}
</code></pre>
<p>Schonmal Danke <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/2144137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2144137</guid><dc:creator><![CDATA[Bumblebee]]></dc:creator><pubDate>Sun, 13 Nov 2011 21:43:53 GMT</pubDate></item><item><title><![CDATA[Reply to Variable übernimmt nicht das was sie soll on Sun, 13 Nov 2011 21:51:03 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// ...
        if(val1 == 0 &amp;&amp; val2 == 0) {
            val1=x;
            val2=x;
        }
// ...

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2144140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2144140</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 13 Nov 2011 21:51:03 GMT</pubDate></item><item><title><![CDATA[Reply to Variable übernimmt nicht das was sie soll on Sun, 13 Nov 2011 22:10:23 GMT]]></title><description><![CDATA[<p>Das hilft iwie auch nicht weiter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2144152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2144152</guid><dc:creator><![CDATA[Bumblebee]]></dc:creator><pubDate>Sun, 13 Nov 2011 22:10:23 GMT</pubDate></item><item><title><![CDATA[Reply to Variable übernimmt nicht das was sie soll on Mon, 14 Nov 2011 07:36:12 GMT]]></title><description><![CDATA[<p>Du hast vergessen, die beiden Variablen am Anfang zu initialisieren - das heißt, sie erhalten bis zur ersten Zuweisung einen unbestimmten Wert.</p>
<p>PS: alle Variablen am Anfang der Funktion zu definieren war in C++ noch nie nötig <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="😉"
    /> Und für Endlosschleifen gibt es auffälligere Lösungen wie <code>for(;; )</code> oder <code>while(true)</code></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2144232</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2144232</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Mon, 14 Nov 2011 07:36:12 GMT</pubDate></item><item><title><![CDATA[Reply to Variable übernimmt nicht das was sie soll on Mon, 14 Nov 2011 21:17:00 GMT]]></title><description><![CDATA[<p>Ok danke, habe es jetzt geändert:</p>
<pre><code class="language-cpp">double val1 = '0';
double val2 = '0';
</code></pre>
<p>Jetzt kommt aber bei der Eingabe von 1cm:</p>
<p>Bisher kleinster Wert: 0.01 Meter<br />
Bisher grösster Wert: 48 Meter</p>
<p>Das ist ja auch nicht wirklich richtig oO</p>
<p>Das mit der Whileschleife funktioniert, danke <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>
<p>Warum funzt das alles immernoch nicht? Weiß einer noch ne Lösung?...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2144587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2144587</guid><dc:creator><![CDATA[Bumblebee]]></dc:creator><pubDate>Mon, 14 Nov 2011 21:17:00 GMT</pubDate></item><item><title><![CDATA[Reply to Variable übernimmt nicht das was sie soll on Mon, 14 Nov 2011 21:40:18 GMT]]></title><description><![CDATA[<p>Naja, richtig ist das schon ;P '0' == 48. Du hast halt intern ein cast von char nach int erreicht, laut ASCII-Tabelle ist '0' der Wert 48. Lass die ' ' weg und es sollte funzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2144598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2144598</guid><dc:creator><![CDATA[cvcv]]></dc:creator><pubDate>Mon, 14 Nov 2011 21:40:18 GMT</pubDate></item><item><title><![CDATA[Reply to Variable übernimmt nicht das was sie soll on Tue, 15 Nov 2011 21:40:48 GMT]]></title><description><![CDATA[<p>Ahh vielen Dank, jetzt funzt es <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>
<p>Hier das funzende:</p>
<pre><code class="language-cpp">#include &quot;std_lib_facilities.h&quot;

int main()
{
    double x;
    double val1 = 0;
    double val2 = 0;
    string wert;
    char wert1;
    while(true) {
        cin &gt;&gt; x &gt;&gt; wert;
        wert1 = wert[0];
        switch(wert1) {
            case 'c':
                x=x/100;
                break;
            case 'm':
                x=x;
                break;
            case 'i':
                x=x*2.54/100;
                break;
            case 'f':
                x=x*12*2.54/100;
                break;
            default:
                cout &lt;&lt; &quot;Bitte geben sie cm, inch, m oder ft ein!\n&quot;;
        }
        if(val1 == 0 &amp;&amp; val2 == 0) {
            val1=x;
            val2=x;
        }
        else {
            if(x &lt; val1) {
                val1 = x;
            }
            else {
                if(x &gt; val2) {
                    val2 = x;
                }
            }
        }
        cout &lt;&lt; &quot;Bisher kleinster Wert:    &quot; &lt;&lt; val1 &lt;&lt; &quot; Meter\n&quot;;
        cout &lt;&lt; &quot;Bisher grösster Wert:     &quot; &lt;&lt; val2 &lt;&lt; &quot; Meter\n&quot;;
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2144997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2144997</guid><dc:creator><![CDATA[Bumblebee]]></dc:creator><pubDate>Tue, 15 Nov 2011 21:40:48 GMT</pubDate></item><item><title><![CDATA[Reply to Variable übernimmt nicht das was sie soll on Wed, 16 Nov 2011 07:17:59 GMT]]></title><description><![CDATA[<p>Ist zwar nur eine Kleinigkeit, aber die die Prüfung, welche Einheit der Nutzer eingegeben hat, ist etwas ungenau und unflexibel. Was kommt heraus, wenn er &quot;cl&quot; (Zentiliter - bestimmt keine Längeneinheit) oder &quot;fische&quot; eingibt? Was macht du, wenn du das Programm später mal auf Meilen oder mm erweitern willst?</p>
<p>(btw, was soll herauskommen, wenn der erste eingegebene Wert tatsächlich 0 ist?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145068</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Wed, 16 Nov 2011 07:17:59 GMT</pubDate></item><item><title><![CDATA[Reply to Variable übernimmt nicht das was sie soll on Wed, 16 Nov 2011 14:10:34 GMT]]></title><description><![CDATA[<p>Habe ich noch gar nicht dran gedacht oO</p>
<p>Habs halt jetzt blind gemacht wie es die Übungsaufgabe verlangt.</p>
<p>Und des mit 0 ist auch nicht so das Wahre ich weiß, aber kümmert mich gerade recht wenig <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/2145221</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145221</guid><dc:creator><![CDATA[Bumblebee]]></dc:creator><pubDate>Wed, 16 Nov 2011 14:10:34 GMT</pubDate></item><item><title><![CDATA[Reply to Variable übernimmt nicht das was sie soll on Wed, 16 Nov 2011 14:13:37 GMT]]></title><description><![CDATA[<p>Bumblebee schrieb:</p>
<blockquote>
<p>Habe ich noch gar nicht dran gedacht oO</p>
<p>Habs halt jetzt blind gemacht wie es die Übungsaufgabe verlangt.</p>
<p>Und des mit 0 ist auch nicht so das Wahre ich weiß, aber kümmert mich gerade recht wenig <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>
</blockquote>
<p>Nun ja ... man muss sich immer überlegen, wozu denn <strong>Übungs</strong>aufgaben gut sein könnten ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145223</guid><dc:creator><![CDATA[cvcv]]></dc:creator><pubDate>Wed, 16 Nov 2011 14:13:37 GMT</pubDate></item></channel></rss>