<?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[do Anweisung]]></title><description><![CDATA[<p>Hallo Leute. Ich habe diese Aufgabe gehabt</p>
<p>Lernziele<br />
Sie sollen die do-Anweisung einsetzen können, um ein Menü und dazu gehörige Anweisungen so lange auszuführen, bis der Benutzer das Programm beenden möchte. In der konkreten Aufgabenstellung muss zu diesem Zweck die do-Schleife in Verbindung mit einer switch- und einer if-Anweisung verwendet werden.<br />
Aufgabenstellung<br />
Schreiben Sie ein Programm, welches folgende Anforderungen erfüllt:</p>
<p>Nachdem der Anwender eine Fließkommazahl angegeben, erscheint dieses Menü:</p>
<p>1 - neue Zahl einlesen 2 - Wurzel berechnen 3 - Quadrat berechnen 4 - Betrag ermitteln E - Programm beenden<br />
Wird der zweite Menüpunkt ausgewählt, erscheint eine entsprechende Fehlermeldung, wenn die Wurzel einer negativen Zahl berechnet werden soll.</p>
<p>Wählt der Anwender den letzten Menüpunkt, wird gefragt, ob das Programm wirklich beendet werden soll.</p>
<p>Das Menü wird solange durchlaufen, bis der Anwender den letzten Menüpunkt auswählt und bestätigt.</p>
<p>Ich habe das zusammen geschrieben:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;cmath&gt;

using namespace std;

int main()
{

double a;

cout &lt;&lt; &quot; Geben Sie eine Zahl ein&quot;;
cin &gt;&gt; a;

cout &lt;&lt; &quot;Q - Quadrat?&quot; &lt;&lt; endl
     &lt;&lt; &quot;W - Wurzel?&quot; &lt;&lt; endl
     &lt;&lt; &quot;B - Betrag?&quot; &lt;&lt; endl
     &lt;&lt; &quot;E - Programm beenden&quot; &lt;&lt; endl
     &lt;&lt; &quot;N - Neue Zahl&quot; &lt;&lt; endl
     &lt;&lt; endl
     &lt;&lt; &quot;Ihre Wahl: &quot;;
do 
{   
char wahl;
      cin &gt;&gt; wahl;

if ('Q' == wahl)
          cout &lt;&lt; &quot;Quadrat: &quot;
               &lt;&lt; pow(a,2);

      else
          if ('W' == wahl)
              cout &lt;&lt;&quot; Wurzel: &quot;
                   &lt;&lt; sqrt(a);

         else
              if ('B' == wahl)
                 cout &lt;&lt; &quot;Betrag: &quot;
                      &lt;&lt; abs(a);

                                        else
                                            if ('E' == wahl)
                                               cout &lt;&lt; &quot;Programm beendet.&quot;;
                                                    else
                                                        cout &lt;&lt; &quot;Unzulaessige Eingabe, &quot;
                                                             &lt;&lt; &quot;Programm beendet.&quot;;     
                                                             cout &lt;&lt; &quot;Andere Zahl (J/N)? &quot;;
                                                             char antwort; 
                                                             cin &gt;&gt; antwort;
                                                             while (antwort != 'J' &amp;&amp; antwort != 'j');
                              else      // Fehler
                           if ('N' == wahl)
                           {cout &lt;&lt; &quot; Geben Sie eine Zahl ein&quot;;
                           cin &gt;&gt; a;}

        system(&quot;PAUSE&quot;);
        return 0;
}
</code></pre>
<p>zeigt mir immer den Fehler an</p>
<p>52 expected primary-expression before &quot;else&quot;<br />
52 expected <code>;' before &quot;else&quot; 61 expected</code>while' at end of input<br />
61 expected <code>(' at end of input 61 expected primary-expression at end of input 61 expected</code>)' at end of input<br />
61 expected <code>;' at end of input 61 expected</code>}' at end of input</p>
<p>Ich hoffe ihr könnt mir helfen, danke <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="🙂"
    /> :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/296505/do-anweisung</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 22:35:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/296505.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 06 Dec 2011 07:56:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to do Anweisung on Tue, 06 Dec 2011 07:56:13 GMT]]></title><description><![CDATA[<p>Hallo Leute. Ich habe diese Aufgabe gehabt</p>
<p>Lernziele<br />
Sie sollen die do-Anweisung einsetzen können, um ein Menü und dazu gehörige Anweisungen so lange auszuführen, bis der Benutzer das Programm beenden möchte. In der konkreten Aufgabenstellung muss zu diesem Zweck die do-Schleife in Verbindung mit einer switch- und einer if-Anweisung verwendet werden.<br />
Aufgabenstellung<br />
Schreiben Sie ein Programm, welches folgende Anforderungen erfüllt:</p>
<p>Nachdem der Anwender eine Fließkommazahl angegeben, erscheint dieses Menü:</p>
<p>1 - neue Zahl einlesen 2 - Wurzel berechnen 3 - Quadrat berechnen 4 - Betrag ermitteln E - Programm beenden<br />
Wird der zweite Menüpunkt ausgewählt, erscheint eine entsprechende Fehlermeldung, wenn die Wurzel einer negativen Zahl berechnet werden soll.</p>
<p>Wählt der Anwender den letzten Menüpunkt, wird gefragt, ob das Programm wirklich beendet werden soll.</p>
<p>Das Menü wird solange durchlaufen, bis der Anwender den letzten Menüpunkt auswählt und bestätigt.</p>
<p>Ich habe das zusammen geschrieben:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;cmath&gt;

using namespace std;

int main()
{

double a;

cout &lt;&lt; &quot; Geben Sie eine Zahl ein&quot;;
cin &gt;&gt; a;

cout &lt;&lt; &quot;Q - Quadrat?&quot; &lt;&lt; endl
     &lt;&lt; &quot;W - Wurzel?&quot; &lt;&lt; endl
     &lt;&lt; &quot;B - Betrag?&quot; &lt;&lt; endl
     &lt;&lt; &quot;E - Programm beenden&quot; &lt;&lt; endl
     &lt;&lt; &quot;N - Neue Zahl&quot; &lt;&lt; endl
     &lt;&lt; endl
     &lt;&lt; &quot;Ihre Wahl: &quot;;
do 
{   
char wahl;
      cin &gt;&gt; wahl;

if ('Q' == wahl)
          cout &lt;&lt; &quot;Quadrat: &quot;
               &lt;&lt; pow(a,2);

      else
          if ('W' == wahl)
              cout &lt;&lt;&quot; Wurzel: &quot;
                   &lt;&lt; sqrt(a);

         else
              if ('B' == wahl)
                 cout &lt;&lt; &quot;Betrag: &quot;
                      &lt;&lt; abs(a);

                                        else
                                            if ('E' == wahl)
                                               cout &lt;&lt; &quot;Programm beendet.&quot;;
                                                    else
                                                        cout &lt;&lt; &quot;Unzulaessige Eingabe, &quot;
                                                             &lt;&lt; &quot;Programm beendet.&quot;;     
                                                             cout &lt;&lt; &quot;Andere Zahl (J/N)? &quot;;
                                                             char antwort; 
                                                             cin &gt;&gt; antwort;
                                                             while (antwort != 'J' &amp;&amp; antwort != 'j');
                              else      // Fehler
                           if ('N' == wahl)
                           {cout &lt;&lt; &quot; Geben Sie eine Zahl ein&quot;;
                           cin &gt;&gt; a;}

        system(&quot;PAUSE&quot;);
        return 0;
}
</code></pre>
<p>zeigt mir immer den Fehler an</p>
<p>52 expected primary-expression before &quot;else&quot;<br />
52 expected <code>;' before &quot;else&quot; 61 expected</code>while' at end of input<br />
61 expected <code>(' at end of input 61 expected primary-expression at end of input 61 expected</code>)' at end of input<br />
61 expected <code>;' at end of input 61 expected</code>}' at end of input</p>
<p>Ich hoffe ihr könnt mir helfen, danke <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="🙂"
    /> :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153686</guid><dc:creator><![CDATA[Brain91]]></dc:creator><pubDate>Tue, 06 Dec 2011 07:56:13 GMT</pubDate></item><item><title><![CDATA[Reply to do Anweisung on Tue, 06 Dec 2011 07:59:43 GMT]]></title><description><![CDATA[<p>Du solltest öfter { und } benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153688</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Tue, 06 Dec 2011 07:59:43 GMT</pubDate></item><item><title><![CDATA[Reply to do Anweisung on Tue, 06 Dec 2011 08:01:57 GMT]]></title><description><![CDATA[<p>Ich sehe keine if Abfrage für das else in 52?! Es steht nur ein einfaches else.<br />
Für solche verschachtelten if/else Abfragen, gibt es wie in der Aufgabe vorgegeben, das switch-statement:</p>
<p><a href="http://www.proggen.org/doku.php?id=c:switch" rel="nofollow">http://www.proggen.org/doku.php?id=c:switch</a></p>
<p>Und wie Manni sagt, so {} können einem schon gut helfen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2153690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153690</guid><dc:creator><![CDATA[zuckerlie]]></dc:creator><pubDate>Tue, 06 Dec 2011 08:01:57 GMT</pubDate></item><item><title><![CDATA[Reply to do Anweisung on Tue, 06 Dec 2011 08:07:38 GMT]]></title><description><![CDATA[<p>Wie schon erwähnt, solltest Du Deine Bedingungen so klammern:</p>
<pre><code class="language-cpp">if(...)
{
  ...
}
else
{
  ...
}
</code></pre>
<p>Ohne diese Klammern gehört zum jeweiligen if oder else immer nur genau die nächste Anweisung. Die Klammern hingegen erzeugen einen ganzen Anweisungsblock, der dann zum if bzw. else gehört.</p>
<p>Diese wilde if - Verschachtelei in Deinem Programm lässt sich aber wohl sowieso durch ein switch/case - Konstrukt übersichtlicher formulieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153691</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Tue, 06 Dec 2011 08:07:38 GMT</pubDate></item><item><title><![CDATA[Reply to do Anweisung on Tue, 06 Dec 2011 08:07:08 GMT]]></title><description><![CDATA[<p>Du hast ein else ohne vorangegangenes if.</p>
<p>Kauf dir ein Buch oder schau dir ein Tutorial an und lerne, wie die if-Anweisung funktioniert. Wenn du programmieren willst, musst du präzise sein. Das ist leider nicht wie mit der deutschen Sprache, bei der du durchaus einiges falsch schreiben kannst und man dich trotzdem versteht. Beim Programmieren musst du die Grammatik beherrschen, sonst geht gar nichts. :xmas1:</p>
<p>Und deine Einrückung hilft leider auch nicht, sondern verwirrt nur. Rücke ein, wenn ein Block (if, while, do...) beginnt. Gehe zurück, wenn der Block endet. Mit der richtigen Einrückung hättest du den Fehler eventuell selbst bemerkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2153692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2153692</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 06 Dec 2011 08:07:08 GMT</pubDate></item></channel></rss>