[HELP] Programm fertig leider viele Bugs.



  • Ahso sry 😞 wegen den Klammern. Wie sollte iche s den besser machen? danke schonmahl



  • dir fehlt sicher ne Klammer, das kann aber niemand erkennen, da du a) die Klammern absolut grottig positionierst(sodass man nicht erkennen kann, dass eine fehlt) und b) da du eine absolut häßliche schlangenfunktion geschrieben hast, sodass ich keine lust hab, die Klammern händisch richtig zu setzen.

    ok: klammerkurs für anfänger:

    if(a)
    {
        if(b)
        {
            switch(c)
            {
            }
        }
    }
    

    wenn dus so machst, musst du nur die augen nach oben und unten bewegen und kannst sofort fehlende/falsche Klammern erkennen. toll oder?



  • Ahja. Die klammern müssen sein. Sonst läuft nichts.
    Sagt mir wie man sowas besser machen kann. Ich blicke da durch. Sry wenn ihr das nicht macht.



  • mose schrieb:

    Ahso sry 😞 wegen den Klammern. Wie sollte iche s den besser machen? danke schonmahl

    Man rückt die Klammern ein:

    if(...)
    {
        while(...)
        {
        } // immer schön unter die zugehörige start-anweisung
    }
    

    MfG SideWinder



  • breaks fehlen imho auch.



  • da ist so einiges komisch wenn man sich das mal anschaut 😉



  • du solltest vll auch beachten das man switches eher benutzen soll wenns mehr als 2 fälle sind. bei der menue1 sache sinds 12 das ist ok, aber bei 2en zB deiner "beenden" abfrage ists nur unübersichtlich.
    Wie SideWinder schon sagte sind deine switches eh falsch.
    Dazu kommt das du dir vll gedanken machen solltest eine schleife zu benutzen, in der du immer wieder die berechnungen und eingaben machst mis jemand bei der abfrage obs weiter gehen soll "nein" eingibt.
    dazu solltest du dir überlegen ob du die einzelnen berechnungen nicht in funktionen packen solltest.Nur mal so als vorschlag



  • Jo, hier liegt ganz klar scherwer Fall von Spaghetticode vor (und das ganz ohne goto)

    MfG SideWinder



  • JO danke ! Aber ka wie ich es machen soll. In der Schule sind wir erst bei Hello World. Hab mir versucht zuhause weitere Sachen bei zu bringen. 😕 Naja kommt nur scheisse bei rum. 😞



  • mose was muss man rauchen um solch kranken code zu schreiben?





  • Wieso ist der code krank? der ist logisch aufgebaut ! Wenn manw eiss wie kann man den verstehen. Ahja sowas finde ich irgentwie feige. Die Person anzugreifen weil er so einen Code geschrieben hat. Besonders wenn er versucht sich das grad an zu eignen.



  • @mose: Nimms doch nicht persönlich, hier bist du im Internet. Der kann dich vollkommen anonym und zum Spaß angreifen und du regst dich auf obwohls gar nicht nötig ist. Lass ihn reden 😉

    MfG SideWiner



  • Mich regt es auf das so welche Leute nicht normal reden können. Müssen sofort die anderen angreifen ! Die sind im RL genau so drauf!



  • mose schrieb:

    Wieso ist der code krank? der ist logisch aufgebaut ! Wenn manw eiss wie kann man den verstehen.

    dass ist das problem: man kann nicht selber drauf kommen, sondern man muss den code selber geschrieben haben 😉

    gute Klammerung trägt viel zur lesbarkeit bei, da man genau sieht wo etwas anfängt und wo etwas aufhört.

    und...das ganze ist viel zulang. das ist einfach nicht wartbar. stell dir vor: bei deinem copy&paste ist dir an einer stelle ein fehler unterlaufen, der jetzt natürlich überall vorkommt. anstatt an einer stelle korrigieren zu müssen, musst du es jetzt an x stellen tun. Und du wirst wohl zugeben, dass dies nicht sinn der sache sein kann.



  • mose lerne es kleine funktionen zu schreiben. dann siehts nicht mehr so krank aus.



  • JO da hasse recht. leider kann ich noch nichts anderes.



  • otze schrieb:

    stell dir vor: bei deinem copy&paste ist dir an einer stelle ein fehler unterlaufen, der jetzt natürlich überall vorkommt. anstatt an einer stelle korrigieren zu müssen, musst du es jetzt an x stellen tun. Und du wirst wohl zugeben, dass dies nicht sinn der sache sein kann.

    Schon geschehen die konstante Pi ist falsch. Kommt im programm min 7x vor.
    Sowas solltest du wirklich vermeiden.
    Kurt



  • LOL



  • SOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
    Habe das alles überarbeitet. Naja ich hoffe es ist diesmahl besser. Ahja wenn ihr eine verbesserung habt bitte postet den Quelltext davon und erklärt die Befehle. Denn ich kann damit sonst nichts anfangen. DANKE

    #include <iostream>
    #include <cstdlib>
    #include<string>
    
    int main()
    {
          string figure[]={"das Rechteck","das Parallelogramm","das Dreieck","das Trapez",
                        "den Kreis","den Sektor"," den Quader","das Prisma","den Zylinder",
                        "die Pyramide","den Kegel","die Kugel"};
    
          int Menue1;
          int Menue2;
          int Menue3;
          const float Pi=3.141592654;
          cout<<"[0]Beenden  "<<endl;
          cout<<"[1]Rechteck"<<endl;
          cout<<"[2]Parallelogramm"<<endl;
          cout<<"[3]Dreieck"<<endl;
          cout<<"[4]Trapez"<<endl;
          cout<<"[5]Kreis: Flaecheninhalt"<<endl;
          cout<<"[6]Kreisausschnit (Sektor)"<<endl;
          cout<<"[7]Quader"<<endl;
          cout<<"[8]Prisma(gerades)"<<endl;
          cout<<"[9]Zylinder"<<endl;
          cout<<"[10]Pyramide"<<endl;
          cout<<"[11]Kegel"<<endl;
          cout<<"[12]Kugel"<<endl;
             cin>>Menue1;
           if(Menue1==0)
           return 0;
    
        switch(Menue1)
    
              cout<<"Sie haben "<<figure[Menue1-1]<<" gewaehlt."<<endl;
           switch(Menue1)
    
           case 1:
              cout<<"Formeln"<<endl;
              cout<<"Flaecheninhalt:A=a*b"<<endl;
              cout<<"Umfang: U=2a+2b"<<endl;
    
     {
                   cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl;
                      cin>>Menue2;
                      if(Menue2==0)
                       return 0;
    
                      float a;
                      float b;
                      switch(Menue2)
                  {
                         case 1:
                          cout<<"Waehlen Sie:"<<endl;
                          cout<<"[1]Flaecheninhalt: A=a*b"<<endl;
                          cout<<"[2]Umfang: U=2a+2b"<<endl;
                          break;
                   }
                          cin>>Menue3;
    
                       {
                            cout<<"Bitte geben Sie den Faktor a an."<<endl;
                               cin>>a;
                            cout<<"Bitte geben Sie den Faktor b an."<<endl;
                               cin>>b;
                       }
    
                           switch(Menue3)
                            {
                            case 1:
                             cout<<"Der Flaecheninhalt ist: "<<(a*b)<<endl;
                            break;
                            case 2:
                             cout<<"Der Umfang ist: "<<(a+a+b+b)<<endl;
                            break;
                            }
    
     }
    
           switch(Menue1)
    
            case 2:
               cout<<"Formeln"<<endl;
               cout<<"Flaecheninhalt:F=g*h"<<endl;
               cout<<"Umfang: U=2a+2b"<<endl;
    
     {
               {
                   cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl;
                      cin>>Menue2;
                      if(Menue2==0)
                       return 0;
               }
                      float a;
                      float b;
                      float h;
                      switch(Menue2)
    
                     {
    
                           case 1:
                             cout<<"Waehlen Sie:"<<endl;
                             cout<<"[1]Flaecheninhalt:A=g*h"<<endl;
                             cout<<"[2]Umfang:U=2a+2b"<<endl;
                              break;
                                cin>>Menue3;
                    }
    
                            {
                              cout<<"Bitte geben Sie den Faktor a an."<<endl;
                                 cin>>a;
                              cout<<"Bitte geben Sie den Faktor b an."<<endl;
                                 cin>>b;
                            }
    
                            switch(Menue3)
                              {
                                case 1:
                                    cout<<"Bitte geben Sie die Hoehe an"<<endl;
                                        cin>>h;
                                      cout<<"Die Flaeche ist: "<<(a*b*h)<<endl;
                                         break;
                                case 2:
                                      cout<<"Der Umfang ist: "<<(a+a+b+b)<<endl;
                                         break;
    
                              }
     }
    
          switch(Menue1)
    
           case 4:
              cout<<"Formeln"<<endl;
              cout<<"Flaecheninhalt:A=a+c/2*h"<<endl;
              cout<<"Umfang: U=a+b+c+d"<<endl;
     {
                     {
                      cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl;
                         cin>>Menue2;
                      if(Menue2==0)
                      return 0;
                     }
    
                      float a;
                      float b;
                      float c;
                      float d;
                      float h;
                      const int zwei=2;
                      switch(Menue2)
    
                         {
                          case 1:
                           cout<<"Waehlen Sie:"<<endl;
                           cout<<"[1]Flaecheninhalt:A=a+c/2*h"<<endl;
                           cout<<"[2]Umfang:U=U=a+b+c+d"<<endl;
                              cin>>Menue3;
                         }
    
                         cout<<"Bitte geben Sie den Faktor a an."<<endl;
                            cin>>a;
    
                            switch(Menue3)
    
                            {
                               case 1:
                                 cout<<"Bitte geben Sie Faktor c an"<<endl;
                                    cin>>c;
                                cout<<"Bitte geben Sie die Höhe an"<<endl;
                                   cin>>h;
                                   cout<<"Die Flaeche ist: "<<(a+c/2*h)<<endl;
                                   break;
    
                               case 2:
                                cout<<"Bitte geben Sie Faktor c an"<<endl;
                                   cin>>c;
                                cout<<"Bitte geben Sie Faktor d an"<<endl;
                                   cin>>d;
                                cout<<"Der Umfang ist: "<<(a+b+c+d)<<endl;
                                break;
    
                            }
     }
    
                 switch(Menue1)
    
                   case 5:
                     cout<<"Formeln"<<endl;
                     cout<<"Flaecheninhalt:A=Pi*r^2=Pi*d^2/4"<<endl;
                     cout<<"Umfang:U=Pi*d=2*Pi*r"<<endl;
    
     {
                     {
                      cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl;
                         cin>>Menue2;
                          if(Menue2==0)
                          return 0;
                     }
                          float r;
                          float d;
                          switch(Menue2)
    
                          {
                           case 1:
                             cout<<"Waehlen Sie:"<<endl;
                             cout<<"[1]Flaecheninhalt:A=Pi*r^2=Pi*d^2/4"<<endl;
                             cout<<"[2]Umfang:U=Pi*d=2*Pi*r"<<endl;
                              cin>>Menue3;
                          }
    
                            switch(Menue3)
    
                              {
                               case 1:
                                 cout<<"Bitte geben Sie den Radius an."<<endl;
                                    cin>>r;
                                 cout<<"Die Flaeche ist: "<<(Pi*r*r)<<endl;
                                   break;
    
                               case 2:
                                 cout<<"Bitte geben Sie den Durchmesser an."<<endl;
                                   cin>>d;
                                 cout<<"Der Umfang ist: "<<(Pi*d)<<endl;
                                    break;
                              }
     }
    
         switch(Menue1)
    
          case 6:
              cout<<"Formeln"<<endl;
              cout<<"Kreisausschnitt:A=Pi*r^2*Alpha/360^2"<<endl;
              cout<<"Umfang:U=Pi*r^2*Alpha/180"<<endl;
     {
                     {
                      cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl;
                         cin>>Menue2;
                          if(Menue2==0)
                          return 0;
                     }
                                float r;
                                float Alpha;
    
                             switch(Menue2)
                        {
                           case 1:
                             cout<<"Waehlen Sie:"<<endl;
                             cout<<"[1]Flaecheninhalt:A=Pi*r*r*Alpha/360*360"<<endl;
                              cout<<"[2]Umfang:U=Pi*r*r*Alpha/180"<<endl;
                              cin>>Menue3;
                        }
    
                             {
                              cout<<"Bitte geben Sie den Radius an."<<endl;
                                 cin>>r;
                              cout<<"Bitte geben Sie Alpha an."<<endl;
                                 cin>>Alpha;
                             }
    
                           switch(Menue3)
                                {
                                 case 1:
                                   cout<<"Die Flaeche ist: "<<(Pi*r*r*Alpha/360*360)<<endl;
                                      break;
    
                                 case 2:
                                   cout<<"Der Umfang ist: "<<(Pi*r*r*Alpha/180)<<endl;
                                       break;
    
                                }
     }
    
            switch(Menue1)
    
            case 7:
              cout<<"Formeln"<<endl;
              cout<<"Volumen: V= a*b*c"<<endl;
              cout<<"Oberflaeche: O=2ab+2ac+2bc"<<endl;
    
     {
                     {
                      cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl;
                         cin>>Menue2;
                          if(Menue2==0)
                          return 0;
                     }
    
                        float a;
                        float b;
                        float c;
    
                       switch(Menue2)
                       {
                        case 1:
                          cout<<"Waehlen Sie:"<<endl;
                          cout<<"[1]Volumen: V=a*b*c"<<endl;
                          cout<<"[2]Oberflaeche: O=2ab+2ac+2bc"<<endl;
                           cin>>Menue3;
                       }
    
                            {
                             cout<<"Bitte geben Sie Faktor a an."<<endl;
                                 cin>>a;
                             cout<<"Bitte geben Sie Faktor b an."<<endl;
                                 cin>>b;
                             cout<<"Bitte geben Sie Faktor c an."<<endl;
                                 cin>>c;
                             }
    
                           switch(Menue3)
    
                            {
                              case 1:
                               cout<<"Das Volumen ist: "<<(a*b*c)<<endl;
                                 break;
    
                                case 2:
                                 cout<<"Das Volumen ist: "<<(a*b+a*b+a*c+a*c+b*c+b*c)<<endl;
                                   break;
                            }
     }
    
           switch(Menue1)
    
            case 8:
              cout<<"Formeln"<<endl;
              cout<<"Volumen: V=G*h"<<endl;
              cout<<"Oberflaeche: O=2G+M"<<endl;
    
     {
                    {
                      cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl;
                         cin>>Menue2;
                          if(Menue2==0)
                          return 0;
                    }
                       float g;
                       float h;
                       float u;
    
                            switch(Menue2)
                             {
                              case 1:
                               cout<<"Waehlen Sie:"<<endl;
                               cout<<"[1]Volumen: V=G*h"<<endl;
                               cout<<"[2]Oberflaeche: O=2G+M"<<endl;
                                cin>>Menue3;
                             }
    
                                   {
                                      cout<<"Grundfläche  "<<endl;
                                      cout<<"____________________________"<<endl;
                                      cout<<"Bitte geben Sie Faktor g an."<<endl;
                                         cin>>g;
                                      cout<<"Bitte geben Sie Faktor h an."<<endl;
                                         cin>>h;
                                      cout<<"Mantelfläche"<<endl;
                                      cout<<"___________________________"<<endl;
                                      cout<<"Bitte geben Sie Faktor u an."<<endl;
                                         cin>>u;
    
                                    }
    
                                    switch(Menue3)
    
                                       {
                                        case 1:
                                          cout<<"Das Volumen ist: "<<(g*h/2*(u*h))<<endl;
                                            break;
    
                                        case 2:
                                          cout<<"Das Oberflaeche ist: "<<(g*h/2*g*h/2+u*h)<<endl;
                                            break;
    
                                       }
     }
    
             switch(Menue1)
             case 9:
              cout<<"Formeln"<<endl;
              cout<<"Volumen: V=Pi*r*r*h"<<endl;
              cout<<"Oberflaeche: O=M+2G=2*Pi*r*h+2*Pi*r*r"<<endl;
     {
                     {
                      cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl;
                         cin>>Menue2;
                          if(Menue2==0)
                          return 0;
                    }
                             float h;
                             float r;
                             switch(Menue2)
    
                           {
                            case 1:
                            cout<<"Waehlen Sie:"<<endl;
                            cout<<"[1]Volumen: V=Pi*r*r*h"<<endl;
                            cout<<"[2]Oberflaeche: O=M+2G=2*Pi*r*h+2*Pi*r*r"<<endl;
                           }
                          cin>>Menue3;
    
                              {
                                cout<<"Bitte geben Sie Faktor h an."<<endl;
                                   cin>>h;
                                cout<<"Bitte geben Sie Faktor r an."<<endl;
                                   cin>>r;
                              }
                           switch(Menue3)
                                    {
                                      case 1:
                                        cout<<"Das Volumen ist: "<<(Pi*r*r*h)<<endl;
                                         break;
    
                                       case 2:
                                        cout<<"Das Oberflaeche ist: "<<(2*Pi*r*h+2*Pi*r*r)<<endl;
                                          break;
                                    }
     }
    
           switch(Menue1)
           case 10:
              cout<<"Formeln"<<endl;
              cout<<"Volumen: V=1/3*G*h"<<endl;
              cout<<"Oberflaeche: O=G+M"<<endl;
     {
                    {
                      cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl;
                          cin>>Menue2;
                      if(Menue2==0)
                      return 0;
                    }
                         float a;
                         float h;
                         float hs;
    
                        switch(Menue2)
                       {
                        case 1:
                          cout<<"Waehlen Sie:"<<endl;
                          cout<<"[1]Volumen: V=1/3*G*h"<<endl;
                          cout<<"[2]Oberflaeche: O=G+M"<<endl;
                             cin>>Menue3;
                       }
    
                            {
                              cout<<"Bitte geben Sie Faktor a an."<<endl;
                                  cin>>a;
                              cout<<"Bitte geben Sie Faktor h an."<<endl;
                                  cin>>h;
                              cout<<"Bitte geben Sie Faktor hs an."<<endl;
                                 cin>>hs;
                            }
    
                           switch(Menue3)
                                   {
                                     case 1:
                                      cout<<"Das Volumen ist: "<<(1/3*a*a*h)<<endl;
                                       break;
    
                                      case 2:
                                       cout<<"Das Oberflaeche ist: "<<(a*a+a*hs/2)<<endl;
                                        break;
                                   }
     }
    
           switch(Menue1)
           case 11:
              cout<<"Formeln"<<endl;
              cout<<"Volumen: V=1/3G*h=1/3*Pi*r^2*h"<<endl;
              cout<<"Oberflaeche: O=G+M=Pe*r^2+Pi*r*S"<<endl;
              cout<<"Mantelflaeche: M=Pi*r*s"<<endl;
     {
                     {
                      cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl;
                         cin>>Menue2;
                           if(Menue2==0)
                           return 0;
                     }
                        float r;
                        float h;
                        float s;
    
                         switch(Menue2)
    
                               {
                                 case 1:
                                 cout<<"Waehlen Sie:"<<endl;
                                 cout<<"[1]Volumen: V=1/3G*h=1/3*Pi*r*r*h"<<endl;
                                 cout<<"[2]Oberflaeche: O=G+M=Pi*r*r+Pi*r*S"<<endl;
                                 cout<<"[3]Mantelflaeche: M=Pi*r*s"<<endl;
                                cin>>Menue3;
                               }
    
                                      {
                                       cout<<"Bitte geben Sie Faktor r an."<<endl;
                                          cin>>r;
                                       cout<<"Bitte geben Sie Faktor h an."<<endl;
                                          cin>>h;
                                       cout<<"Bitte geben Sie Faktor s an."<<endl;
                                          cin>>s;
                                      }
    
                                 switch(Menue3)
                                                  {
                                                   case 1:
                                                     cout<<"Das Volumen ist: "<<(1/3*Pi*r*r*h)<<endl;
                                                       break;
    
                                                   case 2:
                                                     cout<<"Das Oberflaeche ist: "<<(Pi*r*r+Pi*r*s)<<endl;
                                                       break;
    
                                                   case 3:
                                                     cout<<"Die Mantelflaeche ist: "<<(Pi*r*s)<<endl;
                                                       break;
                                                  }
     }
    
            switch(Menue1)
              case 12:
              cout<<"Formeln"<<endl;
              cout<<"Volumen: V=4/3*Pi*r^3"<<endl;
              cout<<"Oberflaeche: O=4*Pi*r*r"<<endl;
    
     {
                        {
                         cout<<"Wollen Sie fortfahren? [1] Ja [0] Nein."<<endl;
                            cin>>Menue2;
                             if(Menue2==0)
                             return 0;
                        }
                                    float r;
                                    switch(Menue2)
                             {
                              case 1:
                              cout<<"Waehlen Sie:"<<endl;
                              cout<<"[1]Volumen: V=4/3*Pi*r^3"<<endl;
                              cout<<"[2]Oberflaeche: O=4*Pi*r^2"<<endl;
                              cin>>Menue3;
                             }
    
                                  {
                                   cout<<"Bitte geben Sie Faktor r an."<<endl;
                                      cin>>r;
                                  }
    
                                    switch(Menue3)
                                          {
                                           case 1:
                                             cout<<"Das Volumen ist: "<<(4/3*Pi*r*r*r)<<endl;
                                               break;
    
                                           case 2:
                                            cout<<"Das Volumen ist: "<<(4*Pi*r*r)<<endl;
                                               break;
                                           }
    
     }
    
          std::cin.clear();
          std::cin.ignore(std::cin.rdbuf()->in_avail());
          std::cin.get();
    
          return 0;
    }
    

Anmelden zum Antworten