Erster c++ Taschenrechner

mozo007

New member
Hallo,
ich habe mich seit Gestern richtig mit C++ beschäftigt.
Da habe ich angefangen, mir einen kleinen Taschenrechner zu schreiben.
Hier mal mein Taschenrechner:

Code:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#include <math.h>
[FONT=Courier New]#define pi 3.14159265358979323846[/FONT]


int main()
{
   int d;
   double x;
   double y;
   double z;
   int a;


   do
   {
   system("cls");
    cout<< " Willkommen, waehlen Sie die gewuenschte Funktion:"<<endl;
   cout<< "|================================================|"<<endl;
   cout<< "|= /-Grundrechenarten:   | /-Flaecheninhalte:   =|"<<endl;
   cout<< "|= ----------------------|--------------------  =|"<<endl;
   cout<< "|= /-Addition        (1) | /-Dreieck       (9)  =|"<<endl;
   cout<< "|= /-Subtraktion     (2) | /-Rechteck     (10)  =|"<<endl;
   cout<< "|= /-Multiplikation  (3) | /-Quadrat      (11)  =|"<<endl;
   cout<< "|= /-Division        (4) | /-Raute        (12)  =|"<<endl;
   cout<< "|= /-Alles           (5) | /-Trapez       (13)  =|"<<endl;
   cout<< "|= /-Wurzel          (6) | /-Kreis        (14)  =|"<<endl;
   cout<< "|= /-Quadratzahl     (7) | /-Umfang Kreis (15)  =|"<<endl;
   cout<< "|= /-Pythagoras      (8) |                      =|"<<endl;
   cout<< "|= ----------------------|--------------------  =|"<<endl;
   cout<< "|= /-Exit            (0) |                      =|"<<endl;
   cout<< "|================================================|"<<endl;
    cin >> a;
    switch(a)
    {
       case 1 :
      system("cls");
      cout<< "\nAddition:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie eine Zahl ein:";
      cin >> x;
      cout<< "\nGeben Sie eine zweite Zahl ein:";
      cin >> y;
      cout<< "\n----------------------------------";
      cout<< "\nErgebniss: " <<x<<"+"<<y<<"="<<x+y<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
       break;
      case 2:
      system("cls");
      cout<< "\nSubtraktion:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie eine Zahl ein:";
      cin >> x;
      cout<< "\nGeben Sie eine zweite Zahl ein:";
      cin >> y;
      cout<< "\n----------------------------------";
      cout<< "\nErgebniss: "<<x<<"-"<<y<<"="<<x-y<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 3:
      system("cls");
      cout<< "\nMultiplikation:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie eine Zahl ein:";
      cin >> x;
      cout<< "\nGeben Sie eine zweite Zahl ein:";
      cin >> y;
      cout<< "\n----------------------------------";
      cout<< "\nErgebniss= "<<x<<"x"<<y<<"="<<x*y<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 4:
      system("cls");
      cout<< "\nDivision:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie eine Zahl ein:";
      cin >> x;
      cout<< "\nGeben Sie eine zweite Zahl ein:";
      cin >> y;
      cout<< "\n----------------------------------";
      cout<< "\nErgebniss: "<<x<<":"<<y<<"="<<x/y<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 5:
      system("cls");
      cout<< "\nAlles:";
      cout<< "\n----------------------------------\n";
      cout<< "Geben Sie eine Zahl ein:";
      cin >> x;
      cout<< "Geben Die eine zweite Zahl ein:";
      cin >> y;
      cout<< "\n----------------------------------";
      cout<< "\nErgebnisse:";
      cout<< "\n----------------------------------\n";
      cout<< "\nAddition: "<<x<<"+"<<y<<"="<<x+y<<"";
      cout<< "\n----";
      cout<< "\nSubtraktion: "<<x<<"-"<<y<<"="<<x-y<<"";
      cout<< "\n----";
      cout<< "\nMultiplikation: "<<x<<"x"<<y<<"="<<x*y<<"";
      cout<< "\n----";
      cout<< "\nDivision: "<<x<<":"<<y<<"="<<x/y<<"\n";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 6:
      system("cls");
      cout<< "\nWurzel:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie eine Zahl ein:";
      cin >> x;
      cout<< "\n----------------------------------";
      cout<< "\nDie Wurzel aus "<<x<<" ist gleich: " <<sqrt(x)<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
       case 7:
      system("cls");
      cout<< "\nQuadratzahl:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie eine Zahl ein:";
      cin >> x;
      cout<< "\n----------------------------------";
      cout<< "\nErgebniss= " <<x*x<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 8:
      system("cls");
      cout<< "\nPythagoras:";
      cout<< "\n----------------------------------\n";
      cout<< "\nKatethe1:";
      cin >> x;
      cout<< "\nKatethe2:";
      cin >> y;
      cout<< "\n----------------------------------";
      cout<< "\nHypotenuse: " <<sqrt((x*x)+(y*y))<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 9:
      system("cls");
      cout<< "\nDreieck:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie die Grundseite ein:";
      cin >> x;
      cout<< "\nGeben Sie die H\x94he ein:";
      cin >> y;
      cout<< "\n----------------------------------";
      cout<< "\nFlaecheninhalt: " <<(x*y)/2<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 10:
      system("cls");
      cout<< "\nRechteck:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie die Seite a ein:";
      cin >> x;
      cout<< "\nGeben Sie die Seite b ein:";
      cin >> y;
      cout<< "\n----------------------------------";
      cout<< "\nFlaecheninhalt: " <<x*y<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 11:
      system("cls");
      cout<< "\nQuadrat:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie die Seite A ein:";
      cin >> x;
      cout<< "\n----------------------------------";
      cout<< "\nFlaecheninhalt: " <<x*x<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 12:
      system("cls");
      cout<< "\nRaute:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie die Grundflaeche ein:";
      cin >> x;
      cout<< "\nGeben Sie die Hoehe ein:";
      cin >> y;
      cout<< "\n----------------------------------";
      cout<< "\nFlaecheninhalt: " <<x*y<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 13:
      system("cls");
      cout<< "\nTrapez:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie die Seite a ein:";
      cin >> x;
      cout<< "\nGeben Sie die Seite c ein:";
      cin >> y;
      cout<< "\nGeben Sie die Hoehe h ein:";
      cin >> z;
      cout<< "\n----------------------------------";
      cout<< "\nFlaecheninhalt: " <<((x+y)/2)*z<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 14:
      system("cls");
      cout<< "\nKreis:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie den Radius ein:";
      cin >> x;
      cout<< "\n----------------------------------";
      cout<< "\nFlaecheninhalt: " <<pi*(x*x)<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 15:
      system("cls");
      cout<< "\nUmfang vom Kreis:";
      cout<< "\n----------------------------------\n";
      cout<< "\nGeben Sie den Durchmesser ein:";
      cin >> x;
      cout<< "\n----------------------------------";
      cout<< "\nUmfang: " <<pi*x<<"";
      cout<< "\n----------------------------------\n";
      cout<< "\nMoechten Sie noch etwas berechnen? (1=Ja, 2=Nein)\n";
      cin >>d;
      break;
      case 0:
      system("cls");
      cout<<"/////////                //        //"<<endl;
      cout<<"//                                 //"<<endl;
      cout<<"//           //    //    //        //"<<endl;
      cout<<"//            //  //     //     ////////"<<endl;
      cout<<"//////         ////      //        //"<<endl;
      cout<<"//////          //       //        //"<<endl;
      cout<<"//              //       //        //"<<endl;
      cout<<"//             ////      //        //"<<endl;
      cout<<"//            //  //     //        //"<<endl;
      cout<<"/////////    //    //    //        //"<<endl;
      system("PAUSE");
      return EXIT_SUCCESS;

   }
   }
   while(d==1);
    return 0;
}
Mit freundlichen Grüßen,
Maurice H.
 
Zuletzt bearbeitet:
Ok, schön wenn sich jemand mit C++ beschäftigt. Aber was sollen wir darauf antworten? 🙂

Nur ein paar Tipps:
Wenn du die math.h verwendest, gibts höchstwahrscheinlich auch eine Konstante für Pi (M_PI). Wenn nicht, kannst du die auch selbst definieren (#define PI 3.14159265358979323846). Das macht man bei sowas wie Pi relativ gerne.

Außerdem vergisst du bei der Division die Prüfung, ob der Divisor Null ist. Wenn ja, hast du nämlich ein Problem...
 
Danke für den Tipp.

Genau sowas möchte ich hören, verbesserungsvorschläge.

Naja, ist es schwer meinem Taschenrechner eine eigene Oberfläche mit Buttons usw. zu geben?


MfG

EDIT// Noch eine Frage:
Ist es besser switch oder if zu nehmen?
 
Zuletzt bearbeitet:
Das kommt drauf an. Du kannst zB mit dem arbeiten. Damit kannst du recht schnell eine GUI zusammen klicken.

Natürlich gibts da noch den harten, steinigen Weg, alles mit der WinAPI selbst zu schreiben. Ich kenne einige die darauf schwören (weil man halt volle Kontrolle über alles hat). Allerdings hat das eben den riesigen Nachteil, dass man enorm viel schreiben muss, um nur mal ein Fenster mit Button darstellen zu können. Praktisch macht das also eigentlich keiner mehr, außer für den Lerneffekt.

Beide Methoden haben den Nachteil, dass die GUI dann nur auf Windows läuft und auch nicht portiert werden kann. Deshalb verwende ich zurzeit zB sehr gerne ein Framework - genauer gesagt: (bestes Beispiel für dessen Verwendung ist der Linux-Desktop KDE und der Browser Opera, sowie Skype). Es gibt da zB auch nocht GTK+ (bestes Beispiel hierfür wäre Gnome).

Allerdings läuft das Ganze (egal wie du´s machst) dann komplett anders ab. Du hast keine Eingabezeile mehr, bei der du mit Switch-Case arbeiten kannst. Stattdessen gibts dann Events, die du mit Funktionen verknüpfen musst.

Ich würde dir raten erst mal bei der Command Line zu bleiben, besonders wenn du erst seit Gestern mit C++ arbeitest. Die Oberflächenprogrammierung erfordert da zB etwas mehr Wissen über wichtige Dinge von C++, wie beispielsweise Pointer.
 
Zuletzt bearbeitet:
Sooo... ich habe meinen Taschenrechner nochmal überarbeitet, könnt ihr mir sagen , welcher besser ist (switch oder if)...
Und habe ein Paar funktionen hinzugefügt!

Und Hier ist er:

Code:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <stdlib.h>
#include <math.h>
#define pi 3.14159265358979323846


int main()
{
    int exit;
   double zahl1;
   double zahl2;
   double zahl3;
   double zahl4;
   int auswahl1;
   int auswahl2;

   menu:
   {
       system("cls");
      cout<< "                   -Hauptmenu-"                  <<endl;
       cout<< "|================================================|"<<endl;
       cout<< "|= /-Rechner         (1) | /-Lalalalalal^^ (9)  =|"<<endl;
       cout<< "|= ----------------------|--------------------  =|"<<endl;
       cout<< "|= /-Exit            (0) |                      =|"<<endl;
       cout<< "|================================================|"<<endl;

      cin >> auswahl1;


      if (auswahl1==0)
      {
          goto close;
      }
      if (auswahl1==1)
      rechner:
      {
          system("cls");
          cout<< "|================================================|"<<endl;
          cout<< "|= /-Grundrechenarten:   | /-Flaecheninhalte:   =|"<<endl;
          cout<< "|= ----------------------|--------------------  =|"<<endl;
          cout<< "|= /-Addition        (1) | /-Dreieck       (9)  =|"<<endl;
          cout<< "|= /-Subtraktion     (2) | /-Rechteck     (10)  =|"<<endl;
          cout<< "|= /-Multiplikation  (3) | /-Quadrat      (11)  =|"<<endl;
          cout<< "|= /-Division        (4) | /-Raute        (12)  =|"<<endl;
          cout<< "|= /-Alles           (5) | /-Trapez       (13)  =|"<<endl;
          cout<< "|= /-Wurzel          (6) | /-Kreis        (14)  =|"<<endl;
          cout<< "|= /-Quadratzahl     (7) |                      =|"<<endl;
          cout<< "|= /-Pythagoras      (8) |                      =|"<<endl;
          cout<< "|=                       |                      =|"<<endl;
          cout<< "|= ======================|====================  =|"<<endl;
          cout<< "|= /-Umfaenge:           | /-Formeln:           =|"<<endl;
          cout<< "|= ----------------------|--------------------  =|"<<endl;
          cout<< "|= /-Kreis          (15) | /-Kreis        (21)  =|"<<endl;
          cout<< "|= /-Rechteck       (16) | /-Rechteck     (22)  =|"<<endl;
          cout<< "|= /-Quadrat        (17) | /-Quadrat      (23)  =|"<<endl;
          cout<< "|= /-Raute          (18) | /-Raute        (24)  =|"<<endl;
          cout<< "|= /-Trapez         (19) | /-Trapez       (25)  =|"<<endl;
          cout<< "|= /-Dreieck        (20) | /-Dreieck      (26)  =|"<<endl;
          cout<< "|=                       | /-Prozent      (27)  =|"<<endl;
          cout<< "|=                       |                      =|"<<endl;
          cout<< "|= ======================|====================  =|"<<endl;
          cout<< "|= /-Prozentrechnung:    |                      =|"<<endl;
         cout<< "|= ----------------------|--------------------  =|"<<endl;
            cout<< "|= /-Grundwert      (28) |                      =|"<<endl;
          cout<< "|= /-Prozentwert    (29) |                      =|"<<endl;
          cout<< "|= /-Prozentsatz    (30) |                      =|"<<endl;
          cout<< "|= ----------------------|--------------------  =|"<<endl;
          cout<< "|= /-Exit            (0) |                      =|"<<endl;
          cout<< "|================================================|"<<endl<<endl;
         cin >> auswahl2;


         if (auswahl2==0)
         {
             goto close;
         }
         if  (auswahl2==1)
         {
             system("cls");
             cout<< "Addition:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie eine Zahl ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie eine zweite Zahl ein:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Ergebniss: " <<zahl1<<"+"<<zahl2<<"="<<zahl1+zahl2<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==2)
         {
             system("cls");
             cout<< "Subtraktion:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie eine Zahl ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie eine zweite Zahl ein:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Ergebniss: " <<zahl1<<"-"<<zahl2<<"="<<zahl1-zahl2<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==3)
         {
             system("cls");
             cout<< "Multiplikation:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie eine Zahl ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie eine zweite Zahl ein:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Ergebniss: " <<zahl1<<"x"<<zahl2<<"="<<zahl1*zahl2<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==4)
         {
             system("cls");
             cout<< "Division:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie eine Zahl ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie eine zweite Zahl ein:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Ergebniss: " <<zahl1<<":"<<zahl2<<"="<<zahl1/zahl2<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==5)
         {
             system("cls");
             cout<< "Alles:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie eine Zahl ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie eine zweite Zahl ein:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Ergebnisse:"<<endl;
              cout<< "----------------------------------"<<endl;
              cout<< "Addition: "<<zahl1<<"+"<<zahl2<<"="<<zahl1+zahl2<<""<<endl;
              cout<< "----"<<endl;
              cout<< "Subtraktion: "<<zahl1<<"-"<<zahl2<<"="<<zahl1-zahl2<<""<<endl;
              cout<< "----"<<endl;
              cout<< "Multiplikation: "<<zahl1<<"x"<<zahl2<<"="<<zahl1*zahl2<<""<<endl;
              cout<< "----"<<endl;
              cout<< "Division: "<<zahl1<<":"<<zahl2<<"="<<zahl1/zahl2<<""<<endl;
            cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==6)
         {
             system("cls");
             cout<< "Wurzel:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie eine Zahl ein:"<<endl;
              cin >> zahl1;
              cout<< "----------------------------------"<<endl;
              cout<< "Die Wurzel aus " <<zahl1<<" ist " <<sqrt(zahl1)<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==7)
         {
             system("cls");
             cout<< "Quadratzahl:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie eine Zahl ein:"<<endl;
              cin >> zahl1;
              cout<< "----------------------------------"<<endl;
              cout<< "Die Quadratzahl von "<<zahl1<< " ist "<<zahl1*zahl1<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==8)
         {
             system("cls");
             cout<< "Pythagoras:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Kathete1:"<<endl;
              cin >> zahl1;
              cout<< "Kathete2:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Hypothenuse= "<<sqrt((zahl1*zahl1)+(zahl2*zahl2))<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==9)
         {
             system("cls");
             cout<< "Flaecheninhalt Dreieck:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie die Grundseite ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie die h\x94he ein:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Flaecheninhalt: " <<(zahl1*zahl2)/2<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==10)
         {
             system("cls");
             cout<< "Flaecheninhalt Rechteck:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie die Seite a ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie die Seite b ein:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Flaecheninhalt: " <<zahl1*zahl2<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==11)
         {
             system("cls");
             cout<< "Flaecheninhalt Quadrat:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie die Seite a ein:"<<endl;
              cin >> zahl1;
              cout<< "----------------------------------"<<endl;
              cout<< "Flaecheninhalt: "<<zahl1*zahl1<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==12)
         {
             system("cls");
             cout<< "Flaecheninhalt Raute:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie die Grundflaeche ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie die H\x94he ein:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Flaecheninhalt: " <<zahl1*zahl2<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==13)
         {
             system("cls");
             cout<< "Flaecheninhalt Trapez:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie die Seite a ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie die Seite c ein:"<<endl;
              cin >> zahl2;
            cout<< "Geben Sie die H\x94he ein:"<<endl;
            cin >> zahl3;
              cout<< "----------------------------------"<<endl;
              cout<< "Flaecheninhalt: " <<((zahl1+zahl2)/2)*zahl3<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==14)
         {
             system("cls");
             cout<< "Flaecheninhalt Kreis:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie den Radius ein:"<<endl;
              cin >> zahl1;
              cout<< "----------------------------------"<<endl;
              cout<< "Flaecheninhalt: "<<pi*(zahl1*zahl1)<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if  (auswahl2==15)
         {
             system("cls");
             cout<< "Umfang vom Kreis:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie den Durchmesser ein:"<<endl;
              cin >> zahl1;
              cout<< "----------------------------------"<<endl;
              cout<< "Umfang: "<<pi*zahl1<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==16)
         {
            system("cls");
             cout<< "Umfang vom Rechteck:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie die Seite a ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie die Seite b ein:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Umfang: "<<(2*zahl1)+(2*zahl2)<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==17)
         {
            system("cls");
             cout<< "Umfang vom Quadrat:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie die Seite a ein:"<<endl;
              cin >> zahl1;
              cout<< "----------------------------------"<<endl;
              cout<< "Umfang: "<<4*zahl1<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==18)
         {
            system("cls");
             cout<< "Umfang vom einer Raute:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie die Seite a ein:"<<endl;
              cin >> zahl1;
              cout<< "----------------------------------"<<endl;
              cout<< "Umfang: "<<4*zahl1<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==19)
         {
            system("cls");
             cout<< "Umfang vom Trapez:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie die Seite a ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie die Seite b ein:"<<endl;
              cin >> zahl2;
              cout<< "Geben Sie die Seite c ein:"<<endl;
              cin >> zahl3;
              cout<< "Geben Sie die Seite d ein:"<<endl;
              cin >> zahl4;
              cout<< "----------------------------------"<<endl;
              cout<< "Umfang: "<<zahl1+zahl2+zahl3+zahl4<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==20)
         {
               system("cls");
             cout<< "Umfang vom Dreieck:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie die Seite a ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie die Seite b ein:"<<endl;
              cin >> zahl2;
              cout<< "Geben Sie die Seite c ein:"<<endl;
              cin >> zahl3;
              cout<< "----------------------------------"<<endl;
              cout<< "Umfang: "<<zahl1+zahl2+zahl3<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==21)
         {
            system("cls");    
            cout<< "Formeln, Kreis:"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
            cout<< "Umfang:"<<endl;
            cout<< "-----------------"<<endl;               
            cout<< "u=pi*d"<<endl;
            cout<< "u=2*pi*r"<<endl<<endl;
            cout<< "Flaecheninhalt: "<<endl;
            cout<< "-----------------"<<endl;
            cout<< "A=pi*r^2"<<endl;
            cout<< "A=1/4*pi*d^2"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
               cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==22)
         {
            system("cls");    
            cout<< "Formeln, Rechteck:"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
            cout<< "Umfang:"<<endl;
            cout<< "-----------------"<<endl;               
            cout<< "u=(2*a)+(2*b)"<<endl<<endl;
            cout<< "Flaecheninhalt: "<<endl;
            cout<< "-----------------"<<endl;
            cout<< "A=a*b"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
               cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==23)
         {
            system("cls");    
            cout<< "Formeln, Quadrat:"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
            cout<< "Umfang:"<<endl;
            cout<< "-----------------"<<endl;               
            cout<< "u=4*a"<<endl<<endl;
            cout<< "Flaecheninhalt: "<<endl;
            cout<< "-----------------"<<endl;
            cout<< "A=a*a"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
               cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==24)
         {
            system("cls");    
            cout<< "Formeln, Raute:"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
            cout<< "Umfang:"<<endl;
            cout<< "-----------------"<<endl;               
            cout<< "u=4*a"<<endl<<endl;
            cout<< "Flaecheninhalt: "<<endl;
            cout<< "-----------------"<<endl;
            cout<< "A=a*h"<<endl;
            cout<< "A=1/2*e*f"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
               cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==25)
         {
            system("cls");    
            cout<< "Formeln, Trapez:"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
            cout<< "Umfang:"<<endl;
            cout<< "-----------------"<<endl;               
            cout<< "u=a+b+c+d"<<endl<<endl;
            cout<< "Flaecheninhalt: "<<endl;
            cout<< "-----------------"<<endl;
            cout<< "A=m*h"<<endl;
            cout<< "A=((a+c):2)*h"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
               cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==26)
         {
            system("cls");    
            cout<< "Formeln, Dreieck:"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
            cout<< "Umfang:"<<endl;
            cout<< "-----------------"<<endl;               
            cout<< "u=a*b*c"<<endl<<endl;
            cout<< "Flaecheninhalt: "<<endl;
            cout<< "-----------------"<<endl;
            cout<< "A=1/2*c*h"<<endl;
            cout<< "A=(c*h):2"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
               cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==27)
         {
            system("cls");    
            cout<< "Formeln, Prozentrechnung:"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
            cout<< "Prozentwert:"<<endl;
            cout<< "-----------------"<<endl;               
            cout<< "W=G*(p:100)"<<endl<<endl;
            cout<< "Prozentsatz: "<<endl;
            cout<< "-----------------"<<endl;
            cout<< "p=(W:g)*100"<<endl<<endl;
            cout<< "Grundwert: "<<endl;
            cout<< "-----------------"<<endl;
            cout<< "G=(W:p)*100"<<endl;
            cout<< "----------------------------------"<<endl<<endl;
               cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==28)
         {
            system("cls");
             cout<< "Prozent, Grundwert:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie den Prozentwert ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie den Prozentsatz ein:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Umfang: "<<(zahl1/zahl2)*100<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (auswahl2==29)
         {
            system("cls");
             cout<< "Prozent, Prozentwert:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie den Grundwert ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie den Prozentsatz ein:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Umfang: "<<zahl1*(zahl2/100)<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }  
         if (auswahl2==30)
         {
            system("cls");
             cout<< "Prozent, Prozentsatz:"<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Geben Sie den Prozentwert ein:"<<endl;
              cin >> zahl1;
              cout<< "Geben Sie den Grundwert ein:"<<endl;
              cin >> zahl2;
              cout<< "----------------------------------"<<endl;
              cout<< "Umfang: "<<(zahl1/zahl2)*100<<""<<endl;
              cout<< "----------------------------------"<<endl<<endl;
              cout<< "Moechten Sie noch etwas berechnen? (1=Ja, 0=Nein)"<<endl;
              cin >> exit;
         }
         if (exit==0)
         {
             goto close;
         }
         if  (exit==1)
         {
             goto rechner;
         }
      }
   }
   close:
   {
       system("cls");
       cout<< "Vielen Dank, fuer die benutzung meines Programmes!"<<endl<<endl;
      cout<< "/////////                //        //"<<endl;
      cout<< "//                                 //"<<endl;
      cout<< "//           //    //    //        //"<<endl;
      cout<< "//            //  //     //     ////////"<<endl;
      cout<< "//////         ////      //        //"<<endl;
      cout<< "//////          //       //        //"<<endl;
      cout<< "//              //       //        //"<<endl;
      cout<< "//             ////      //        //"<<endl;
      cout<< "//            //  //     //        //"<<endl;
      cout<< "/////////    //    //    //        //"<<endl;
       system("pause");
   }
}
 
Ich bin einer, der solchen Bandwurmcode hasst. Ich würde alles in mehrere Methoden auslagern. Sieht sonst unübersichtlich aus.

Gruß pdelvo
 
Modulare Programmierung und vor allem Funktionen kommen sicherlich später noch...

Deine erste Lösung mit Switch ist allerdings wesentlich besser als die neue. Nicht nur, dass du eine Menge goto´s verwendest (sowas macht man nicht). Du ersparst dir auch einige Überprüfungen. Bei deiner 2. Lösung muss jedes If überprüft werden - egal ob ich jetzt zB "1" eingegeben habe und mich die weiteren If´s gar nicht mehr interessieren. Wenn du switch verwendest, hast du nach jedem case ein break und man ist sofort wieder am Anfang.
 
Mit switch habe ich es aber noch nicht hinbekommen, das Hauptmenu und das Rechnermenü zu steuern...
Sondern nur das rechnermenü...
 
du kennst sicher die main methode, die deinen code beinhaltet. Du kannst selber auch welche definiere, die du dann aus deinem code aufrufen kannst, um deinen code zu struktorieren. zB
Code:
int _showMenu()
{
      cout<< "                   -Hauptmenu-"                  <<endl;
       cout<< "|================================================|"<<endl;
       cout<< "|= /-Rechner         (1) | /-Lalalalalal^^ (9)  =|"<<endl;
       cout<< "|= ----------------------|--------------------  =|"<<endl;
       cout<< "|= /-Exit            (0) |                      =|"<<endl;
       cout<< "|================================================|"<<endl;
int auswahl;
cin >> auswahl;
return auswahl;
}

Dise Methode kannst du über die main schreiben und sie verwenden. dann kannst du sowas schreiben:
Code:
int auswahl = _showMenu();
if(auswahl == .....

alternativ kannst du die methode auch unterhalb von main definieren, dann muss du dem compiler sagen, dass er diese zuerst verarbeiten soll. schreibe dazu über main:
Code:
int _showMenu();

Gruß pdelvo
 
Hi,
hab den eben mal gestartet und muss sagen, dass du dir viel Mühe gemacht hast. Dickes :-D.
Bin seit der letzten Woche auch an einem dabei, stehe aber vor dem mathematischen Problem z.B 5/0 zu teilen, da das System dann abstürzt.
kleiner verbesserungsvorschlag: Bei dir hängt es sich zwar nicht auf, trotzdem wäre ein (musst es auf dein System ein bisschen anpassen) :

else if (zahl2 > 0) oder sowas ähnliches
cout<< "Berechnungen einer Division mit dem Divisor 0 ist mathematisch
unmöglich." <<endl;

Ansonsten feines Ding 😉
Gruß:

Error
 

Online-Statistiken

Zurzeit aktive Mitglieder
1
Zurzeit aktive Gäste
46
Besucher gesamt
47

Beliebte Forum-Themen

Zurück
Oben Unten