<?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[Problem bei Fehlersuche]]></title><description><![CDATA[<p>Hallo Leute, ich weiß echt nicht mehr weiter</p>
<p>folgende Aufgabenstelleung</p>
<p>Programm schreiben, wo der Benutzer die Möglichkeit hat zwischen einem Rechteck und einem Quadrat zu entscheiden, die Dimension festzulegen und diese Dann mit X und leerzeichen am Bildschirm ausgeben</p>
<p>mein lösungsansatz:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class QuadratMatrix
{
      int x;
      private:
              int Matrix[100][100];
      public:
              void MatrixA();
              void input();
              void output();
              };

class RechteckMatrix
{
      int x,y;
      private: 
               int Matrix[100][100];
      public: 
              void MatrixA();
              void input();
              void output();
              };

void QuadratMatrix::MatrixA()
{
     cout &lt;&lt;&quot;Geben Sie die Zeilen/Spalten Anzahl der Matrix ein:&quot;;
     cin &gt;&gt; x;
}

void QuadratMatrix::input()
{
    for(int i = 0;i&lt;x;i++)
            {
                for(int j= 0;j&lt;x;j++)
                {
                        cout&lt;&lt;&quot;Bitte geben den Boolschen Wert fuer Zeile&quot;&lt;&lt;i+1&lt;&lt;&quot; und Spalte &quot;&lt;&lt;j+1&lt;&lt;&quot;ein:&quot;;
                        cin &gt;&gt; Matrix[i][j];
}
}
}

void QuadratMatrix::output()
{
     for(int i=0;i&lt;x;i++)
     {
             for(int j=0;j&lt;x;j++)
             {
                     if(Matrix[i][j] == 1)
                     {
                     cout &lt;&lt; &quot;X&quot;;
                     }
                     else
                     {
                         cout &lt;&lt;&quot; &quot;;
                         }
                         }
                         }
                         }

void RechteckMatrix::MatrixA()
{
     cout &lt;&lt;&quot;Geben Sie die Zeilen Anzahl der Matrix ein:&quot;;
     cin &gt;&gt; x;
     cout &lt;&lt;&quot;Geben Sie die Spalten Anzahl der Matrix ein:&quot;;
     cin &gt;&gt; y;
}

void RechteckMatrix::input()

{
    for(int i = 0;i&lt;x;i++)
            {
                for(int j= 0;j&lt;x;j++)
                {
                        cout&lt;&lt;&quot;Bitte geben den Boolschen Wert fuer Zeile&quot;&lt;&lt;i+1&lt;&lt;&quot; und Spalte &quot;&lt;&lt;j+1&lt;&lt;&quot;ein:&quot;;
                        cin &gt;&gt; Matrix[i][j];
}
}
}

void RechteckMatrix::output()
{
     for(int i=0;i&lt;x;i++)
     {
             for(int j=0;j&lt;x;j++)
             {
                     if(Matrix[i][j] == 1)
                     {
                     cout &lt;&lt; &quot;X&quot;;
                     }
                     else
                     {
                         cout &lt;&lt;&quot; &quot;;
                         }
                         }
                         }
                         }

int main()
{
    int entscheidung;

    do
    {
        cout &lt;&lt;&quot;Geben Sie bitte ein ob sie eine Rechteckige Matrix oder eine quadratische Matrix berechnen wollen\n&quot;;
        cout &lt;&lt;&quot;1 für eine quadratische Matrix\n&quot;;
        cout &lt;&lt;&quot;2 für eine quadratische Matrix\n&quot;;
        cout &lt;&lt;&quot;0 um das Programm zu verlassen\n&quot;;
        cin &gt;&gt; entscheidung;

switch(entscheidung)
{
                    case 'q':  
                               QuadratMatrix Q1;
                               Q1.MatrixA();
                               Q1.input();
                               Q1.output();
                               break; 

                    case 'r': 
                               RechteckMatrix R1;
                               R1.MatrixA();
                               R1.input();
                               R1.output();
                               break; 
                    case 0:    
                               cout&lt;&lt;&quot;\n Ihr Wunsch ist mir Befehl, einen schönen Tag auf Wiedersehen \n&quot;;
                               break;

                    default:   cout&lt;&lt;&quot;Eingabefehler das Programm wird beendet\n&quot;;
                               break;
}
}
while(entscheidung);
system(&quot;pause&quot;);
}
</code></pre>
<p>Bekomme beim komilieren diese Fehlermeldung:</p>
<p>**enters scope of NON-POD !QuadratMatixQ1<br />
jump to case lable</p>
<p>an was kann das liegen <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>würde mich über lösungsvorschläge freuen</p>
<p>mfg</p>
<p>fipo144<br />
den selben Fehler für die Rechteck case Fall**</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/168239/problem-bei-fehlersuche</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 07:46:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/168239.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 19 Dec 2006 22:15:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem bei Fehlersuche on Tue, 19 Dec 2006 22:17:02 GMT]]></title><description><![CDATA[<p>Hallo Leute, ich weiß echt nicht mehr weiter</p>
<p>folgende Aufgabenstelleung</p>
<p>Programm schreiben, wo der Benutzer die Möglichkeit hat zwischen einem Rechteck und einem Quadrat zu entscheiden, die Dimension festzulegen und diese Dann mit X und leerzeichen am Bildschirm ausgeben</p>
<p>mein lösungsansatz:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class QuadratMatrix
{
      int x;
      private:
              int Matrix[100][100];
      public:
              void MatrixA();
              void input();
              void output();
              };

class RechteckMatrix
{
      int x,y;
      private: 
               int Matrix[100][100];
      public: 
              void MatrixA();
              void input();
              void output();
              };

void QuadratMatrix::MatrixA()
{
     cout &lt;&lt;&quot;Geben Sie die Zeilen/Spalten Anzahl der Matrix ein:&quot;;
     cin &gt;&gt; x;
}

void QuadratMatrix::input()
{
    for(int i = 0;i&lt;x;i++)
            {
                for(int j= 0;j&lt;x;j++)
                {
                        cout&lt;&lt;&quot;Bitte geben den Boolschen Wert fuer Zeile&quot;&lt;&lt;i+1&lt;&lt;&quot; und Spalte &quot;&lt;&lt;j+1&lt;&lt;&quot;ein:&quot;;
                        cin &gt;&gt; Matrix[i][j];
}
}
}

void QuadratMatrix::output()
{
     for(int i=0;i&lt;x;i++)
     {
             for(int j=0;j&lt;x;j++)
             {
                     if(Matrix[i][j] == 1)
                     {
                     cout &lt;&lt; &quot;X&quot;;
                     }
                     else
                     {
                         cout &lt;&lt;&quot; &quot;;
                         }
                         }
                         }
                         }

void RechteckMatrix::MatrixA()
{
     cout &lt;&lt;&quot;Geben Sie die Zeilen Anzahl der Matrix ein:&quot;;
     cin &gt;&gt; x;
     cout &lt;&lt;&quot;Geben Sie die Spalten Anzahl der Matrix ein:&quot;;
     cin &gt;&gt; y;
}

void RechteckMatrix::input()

{
    for(int i = 0;i&lt;x;i++)
            {
                for(int j= 0;j&lt;x;j++)
                {
                        cout&lt;&lt;&quot;Bitte geben den Boolschen Wert fuer Zeile&quot;&lt;&lt;i+1&lt;&lt;&quot; und Spalte &quot;&lt;&lt;j+1&lt;&lt;&quot;ein:&quot;;
                        cin &gt;&gt; Matrix[i][j];
}
}
}

void RechteckMatrix::output()
{
     for(int i=0;i&lt;x;i++)
     {
             for(int j=0;j&lt;x;j++)
             {
                     if(Matrix[i][j] == 1)
                     {
                     cout &lt;&lt; &quot;X&quot;;
                     }
                     else
                     {
                         cout &lt;&lt;&quot; &quot;;
                         }
                         }
                         }
                         }

int main()
{
    int entscheidung;

    do
    {
        cout &lt;&lt;&quot;Geben Sie bitte ein ob sie eine Rechteckige Matrix oder eine quadratische Matrix berechnen wollen\n&quot;;
        cout &lt;&lt;&quot;1 für eine quadratische Matrix\n&quot;;
        cout &lt;&lt;&quot;2 für eine quadratische Matrix\n&quot;;
        cout &lt;&lt;&quot;0 um das Programm zu verlassen\n&quot;;
        cin &gt;&gt; entscheidung;

switch(entscheidung)
{
                    case 'q':  
                               QuadratMatrix Q1;
                               Q1.MatrixA();
                               Q1.input();
                               Q1.output();
                               break; 

                    case 'r': 
                               RechteckMatrix R1;
                               R1.MatrixA();
                               R1.input();
                               R1.output();
                               break; 
                    case 0:    
                               cout&lt;&lt;&quot;\n Ihr Wunsch ist mir Befehl, einen schönen Tag auf Wiedersehen \n&quot;;
                               break;

                    default:   cout&lt;&lt;&quot;Eingabefehler das Programm wird beendet\n&quot;;
                               break;
}
}
while(entscheidung);
system(&quot;pause&quot;);
}
</code></pre>
<p>Bekomme beim komilieren diese Fehlermeldung:</p>
<p>**enters scope of NON-POD !QuadratMatixQ1<br />
jump to case lable</p>
<p>an was kann das liegen <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>würde mich über lösungsvorschläge freuen</p>
<p>mfg</p>
<p>fipo144<br />
den selben Fehler für die Rechteck case Fall**</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195148</guid><dc:creator><![CDATA[fipo144]]></dc:creator><pubDate>Tue, 19 Dec 2006 22:17:02 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Fehlersuche on Tue, 19 Dec 2006 22:58:24 GMT]]></title><description><![CDATA[<p>Hi,</p>
<pre><code class="language-cpp">case 'r':
                               {
                                     RechteckMatrix R1;
                                     R1.MatrixA();
                                     R1.input();
                                     R1.output();
                               }
                               break;
</code></pre>
<p>so funktionierts...</p>
<p>Interessant ich kannte dies selber nicht und anscheinend funktioniert es auch nur nicht, wenn die Klassen Member haben.<br />
Würde auch gern wissen, wieso sich case-blöcke und Benutzerdefinierte Objekte nicht mögen...</p>
<p>Edit: Ist doch bei anderen Typen auch so, wahrscheinlich spinnt da irgendwas mit den Gültigkeitsbereichen und man muss deshalb die geschweiften Klammern rum machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195158</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 19 Dec 2006 22:58:24 GMT</pubDate></item><item><title><![CDATA[Reply to Problem bei Fehlersuche on Wed, 20 Dec 2006 00:03:07 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ja das ist es, ein case-Block ist kein eigener Scope/Gültigkeitsbenreich. Deshalb ist es ohne zusätzliche geschweifte Klammern nicht möglich, in einem case-Block eine Variable zu deklarieren. Denn theoretisch könnte diese Variable ja dann auch nach den case-Blöcken und der switch-Anweisung verwendet werden. Doch wenn zur Laufzeit nicht dieser entsprechende case-Block mit der Deklaration aufgerufen wird, sondern ein andere ohne, dann gibt es ja gar keine Variable die nach dem case immer benutzt werden kann...<br />
Deshalb muß da ein extra scope aufgemacht werden.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1195167</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1195167</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 20 Dec 2006 00:03:07 GMT</pubDate></item></channel></rss>