Allgemein und eine Programm Frage



  • Hallo, also ich bin erst seit kurzem hier, genauer gesagt erst seit gestern 😃 Ich bin ein Anfänger in der C++Sprache und als Anfänger werde ich wohl jedemenge Fragen haben, die sich aber erst im laufe meiner Programmierung ergeben werden. Bin ich dafür hier Richtig? oder gibt es dafür spezielle Forums?, weil ich habe keine Lust den Leuten hier mit meinen Fragen (die am Anfang wohl für die meisten lächerlich sind) auf die Nerven zu gehen.
    So und nun kommt auch schon meine Programm Frage: Also habe einen ganz, ganz einfachen Taschenrechner programmiert, nun möchte ich das dieser immer weiter läuft, also habe ich mir gedacht, ich baue eine Schleife ein, kann ich das mit meinem jetzigen Wissenstand überhaupt schon? Den Code gebe ich hier ganz am Schluß an. Desweiteren wäre es nett, wenn ein Profi mal schauen könnte ob das auch ein annehmbarer Programmaufbau ist, nein anders ob das so ein "guter" Programmstil ist. Mir ist schon klar das da jeder sein eigenes System hat, aber es müsste doch soetwas wie eine allgemeinen Stil geben, oder?
    So und nun mein Code (achja der Code ist noch ohne Schleife, wo setz ich die am besten ein?):

    / Versuch eines einfachen Taschenrechners
    #include<iostream>
    using namespace std;

    int main()
    {

    int zahl1;
    int zahl2;
    int ergebnis;
    cout <<"Bitte geben Sie zwei Zahlen ein: "<<endl;
    cin >> zahl1;
    cin >> zahl2;
    cout <<"Bitte geben Sie die Zahl fuer die Rechnungsart ein:"<<endl;
    cout <<"1 fuer addieren \n" <<"2 fuer subtraieren \n";
    cout <<"3 fuer multipliziern \n" <<"4 fuer dividiern \n";
    cin >> ergebnis;
    if (ergebnis == 1)
    {
    cout <<zahl1<< " + " <<zahl2<< " = " <<zahl1+zahl2<<endl;
    }
    else if (ergebnis == 2)
    {
    cout <<zahl1<< " - " <<zahl2<< " = " <<zahl1-zahl2<<endl;
    }
    else if (ergebnis == 3)
    {
    cout <<zahl1<< " * " <<zahl2<< " = " <<zahl1*zahl2<<endl;
    }
    else if (ergebnis == 4)
    {
    cout <<zahl1<< " / " <<zahl2<< " = " <<zahl1/zahl2<< " und " <<zahl1%zahl2<< " Rest "<<endl;
    }
    else
    cout <<"Nur 1-4 ist zulassig!!"<<endl;
    return 0;

    }

    Args hab den Code mit kopieren, einfügen hier gepostet, in wirklichkeit sieht der Aufbau anders aus



  • Ohne Code-Tags sag ich nichts.



  • // Versuch eines einfachen Taschenrechners
    #include<iostream>
    using namespace std;
    
    int main()
    {
    
    int zahl1;
    int zahl2;
    int ergebnis;
    cout <<"Bitte geben Sie zwei Zahlen ein: "<<endl;
    cin >> zahl1;
    cin >> zahl2;
    cout <<"Bitte geben Sie die Zahl fuer die Rechnungsart ein:"<<endl;
    cout <<"1 fuer addieren \n" <<"2 fuer subtraieren \n";
    cout <<"3 fuer multipliziern \n" <<"4 fuer dividiern \n";
    cin >> ergebnis;
    if (ergebnis == 1)
    {
    cout <<zahl1<< " + " <<zahl2<< " = " <<zahl1+zahl2<<endl;
    }
    else if (ergebnis == 2)
    {
    cout <<zahl1<< " - " <<zahl2<< " = " <<zahl1-zahl2<<endl;
    }
    else if (ergebnis == 3)
    {
    cout <<zahl1<< " * " <<zahl2<< " = " <<zahl1*zahl2<<endl;
    }
    else if (ergebnis == 4)
    {
    cout <<zahl1<< " / " <<zahl2<< " = " <<zahl1/zahl2<< " und " <<zahl1%zahl2<< " Rest "<<endl;
    }
    else
    cout <<"Nur 1-4 ist zulassig!!"<<endl;
    return 0;
    
    }
    

    Das Wunder der Codetags...

    Also richtig bist du hier schon mal.
    Evtl. solltest du statt den ganzen ifs lieber einen switch benutzen.

    Devil



  • kann ich das mit meinem jetzigen Wissenstand überhaupt schon?

    Kannst wohl nur du beantworten.....

    wenn ein Profi mal schauen könnte ob das auch ein annehmbarer

    Bin zwar keiner, aber ich hoffe das macht nix. Am besten du baust erstmal eine Endlosschleife ein:

    // Versuch eines einfachen Taschenrechners
    #include<iostream>
    using namespace std;
    
    int main()
    {
    int zahl1;
    int zahl2;
    int ergebnis;
    
    while(1){
    // Hier der Rest...
    } // Muss auch noch eingefügt werden. Also alles dazwischen wird unendlich oft ausgeführt...
    

    Sinnvoll wäre es noch, wenn statt einer Endlosschleife das Programm (bzw. die Schleife), beispielsweise beim Drücken einer bestimmten Taste, beendet würde. Das mit dem Switch statt if hat ja devil81 schon gesagt.



  • Für deine endlosschleife empfiehlt sich eine while schleife. Ich würde diese nehmen

    char eingabe;
    do{
    //hier deine Programmabläufe
    // Danach fragen ob noch eine Berechnung durchgeführt werden soll
    cout<<"Weitere Rechnung durchführen (j/n)?";
    cin>>eingabe;
    }while(eingabe!='n')
    

    Wenn dann mal "n" eingeben wird hört er auf mit der while-schleife.
    Hoffe keinen Tippfehler gemacht zu haben 😃



  • Ich glaube einen allgemeinen Programmierstil gibt es nicht wirklich. Schreib einfach so, dass möglichst viele Programmierer schnell durch Deinen Code durchgehen können, und ihn verstehen (also VIELE Kommentare!!!!), ist auch für Dich selbst einfacher (wenn Du nach 2 Monaten Deinen Code verändern / anpassen willst )
    Zu Deinem Taschenrechner: Ich denke, alles in Ordnung soweit. Halt ziemlich viele if-Anweisungen, aber für den ersten Versuch, ganz ok. Später wirst Du mehr mit Funktionen arbeiten.
    Eine Schleife einzubauen, ist für Anfänger vielleicht nicht ganz so trivial, aber früher oder später, musst Du da durch.
    Ich denke, Du solltest eine do..while-Schleife benutzen. Und zwar so:
    In Dein "Menü" (also die Frage nach Addieren oder Subtrahieren), fügst Du noch einen Punkt ein: "Exit". Bevor Du den User nach einer Auswahl fragst, beginnst Du die Schleife. Dann fragst Du ja ab, was der User tun will. Falls er "Exit" wählt, dann verlasse die Schleife mit der Abbruchbedingung. Fertig!
    In jedem C/C++-Tutorial findest Du sicherlich viele Beispiele zu Schleifen.

    Viel Spass beim Coden!!
    MFG



  • Das ging ja mal wieder super schnell, vielen Dank an alle, nun noch eine Frage, was ist ein Code-Tags?



  • diese beiden freunde hier
    [.cpp] hier dein code einfügen [./cpp]

    Die punkte aber weglassen!


Anmelden zum Antworten