Taschenrecher Code, für Vorstellungsgespräch



  • kay thx, bin immoment noch zufriden mit dev ;), visual war mir zu kompliziert und boarland wirst du wohl ja kennen und des hat nimmer gescheit gefunkt, deshalb hab ich bis jetzt immer dev benutzt 😉 thx für die Links werde mich demnächst drauf umschauen.

    mfg
    whenyou



  • Code::Blocks ist die Weiterentwicklung von Dev-C++, funktioniert also genau so. Daher sofort verwenden, ansonsten wirkst Du schlecht informiert und verstaubt => schlechtes Image. 🙄



  • kay^^, hab nonnie was davon gehört ;), thx

    mfg whenyou



  • hab nonnie was davon gehört

    Dafür hast Du ja uns. 🙂



  • joho 😉



  • Hey, es wird wohl niemand daran zweifeln, dass wenn du den Job bekommst, 50% des Ruhmes uns gebührt.
    Deshalb fände ich es nur fair, wenn wir auch 50% deines zukünftigen Gehaltes bekommen würden.

    Ich schick dir meine Bankverbindung per PM! 👍



  • xD guta witz 😉



  • Deshalb fände ich es nur fair, wenn wir auch 50% deines zukünftigen Gehaltes bekommen würden.

    Mal halblang, selbst der Staat ist nicht so gierig. 😃



  • Erhard Henkes schrieb:

    Mal halblang, selbst der Staat ist nicht so gierig. 😃

    Der trägt ja auch nichts dazu bei. 😉

    @whenyouDIE
    Wieso verwirfst du den ganzen Code, den ich mit dir erarbeitet habe? 😡
    Und Code::Blocks hab ich dir gegenüber auch schon erwähnt, also nichts hier von wegen davon hab ich noch nichts gehört. 😉



  • initialisier die variablen beim erstellen



  • @ far_away :habe den code nicht verworfen, habe ihn nur überarbeitet und war die auch sehr dankbar deswegen :), hatte mir nur nochmal gedanken darüber gemacht wie ich ihn vll einfacher schreiben könnte, aber trotzdem thx, war nicht böse gemeint
    :wie meinst du dass mit dem initialisiern?

    mfg
    whenyou



  • Hi,
    Mit dem Intalisieren meint er, das du anstatt direkt am Anfang des Codes sie erst dort anlegst wenn du sie brauchst.
    Bsp.:

    int iName;
    //blablalba
    iName = izahl + izahl2;
    

    kann man sauberer auch so schreiben:

    int IName = izahl + izahl2;
    

    MFG ReduX



  • achso k danke, aber noch eine Frage, gibt es vllt einen Befehl um jeweils den Bildschirm löschen zu lassen? da clrscr(); nicht funktioniert in Code::blocks gibt es dafür vll irgendetwas??, da dieses Programm sonst sehr unübersichtlich wird??thx schoma @Redux

    PS: Programm wurde wieder überarbeitet, fehler ausgeglichen

    mfg whenyou



  • system("cls");
    


  • sollte reichen schrieb:

    system("cls");
    

    Funktioniert thx

    mfg
    whenyou



  • Zeig doch mal deinen jetztigen Code, dann können wir eventuell noch Unschönheiten etc. beseitigen.



  • @Nexus: Der Code wo auf seite 1 steht is der jetzige Code, ich überarbeite immer gleich wenn ich Tipps bekommen habe ;), also so habe ich ihn auch atm auf meinem Rechner (obwohl ich jetzt die Namen der Variablen so lasse)

    thx

    mfg
    whenyou



  • Hallo, ich hab noch ein paar Kleinigkeiten überarbeitet und deinen Code schön eingerückt (das macht einen sauberen Eindruck). Vielleicht noch einige Anmerkungen: Wenn man eine falsche Auswahlzahl (z.B. 7) eingibt, und nachher eine richtige, wird mit dieser bereits weitergerechnet. An sich nicht so schlimm, schau einfach, dass du bei der Vorstellung eine gültige Auswahl triffst 😉
    Und getch() ist veraltet, nimm getchar() , da brauchst du auch nur den Header <iostream>.

    #include <iostream>
    //#include <conio.h> brauchst du gar nicht
    
    using namespace std;
    
    int main ()
    {
        float  fltNumber=0;
        float  fltResult=0;
        int intMode=0;
        bool first=true;
    
        cout<<"Willkommen bei meinem Taschenrechner, viel Erfolg beim Rechnen!";
    
        do
        {
            if (first==false)
            {
                //getch(); würde ich weglassen, da man sonst immer 2 Mal Enter drücken muss
                system("cls");
                cout<<"\n\n------------------";
                cout<<"\nErgebnis: "<<fltResult<<"!";
                cout<<"\n------------------";
                cout<<"\n\n-------------------------------------------------";
                cout<<"\nSie koennen nun mit Ihrem Ergebnis weiterrechnen!";
                cout<<"\n-------------------------------------------------";
            }
    
            do
            {
                cout<<"\n\n\nWas moechten sie nun tun?";
                cout<<"\ndruecken Sie:";
                cout<<"\n\n(1) fuer eine Addition";
                cout<<"\n(2) fuer eine Subtraktion";
                cout<<"\n(3) fuer eine Multiplikation";
                cout<<"\n(4) fuer eine Division";
                cout<<"\n(5) wenn Sie Ihr Ergebnis auf Null setzten moechten";
                cout<<"\n(6) wenn Sie dass Programm beenden wollen";
                cout<<"\n\nNach der Zahleneingabe immer Enter druecken!!";
                cout<<"\n\nAuswahl: ";
                cin >>intMode;
                cout<<"----------";
    
                if (intMode<1||intMode>6)
                {
                    cout<<"\n\aIhre Eingabe war nicht korrekt, versuchen Sie es erneut!";
                    cout<<"\n---------------------------------------------------------";
                    //first=true; das kann man weglassen
                }
    
                if (intMode==5)
                {
                    fltResult=0;
                    cout<<"\n\n------------------";
                    cout<<"\nErgebnis: "<<fltResult<<"!";
                    cout<<"\n------------------";
                    cout<<"\n\nNun koennen Sie ein neues Ergebnis bestimmen!";
                    cout<<"\n---------------------------------------------";
                    first=false;
                }
    
                if (intMode==6)
                {
                    first=false;
                }
    
    			// hier war der If-Block
            } while (intMode<1||intMode>6);
    
            // hier ist er jetzt (+ Abfrage, ob Eingabe nicht 5 oder 6)
            if (first==true && intMode!=5 && intMode!=6)
            {
                cout<<"\n\nBitte tippen Sie nun Ihre erste gewuenschte Zahl ein:  ";
                cin >>fltResult;
            }
    
            if (intMode!=5 && intMode!=6)
            {
    			cout <<"\nBitte tippen Sie nun Ihre zweite gewuenschte Zahl ein: ";
    			cin >>fltNumber;
            }
    
    		switch (intMode)
            {
                case 1:
                     fltResult=fltResult+fltNumber;
                     first=false;
                break;
    
                case 2:
                     fltResult=fltResult-fltNumber;
                     first=false;
                break;
    
                case 3:
                    fltResult=fltResult*fltNumber;
                    first=false;
                break;
    
                case 4:
    				if (fltNumber==0)
    				{
    					cout<<"\n\n\aMan darf nicht durch Null teilen!!!";
    					cout<<"\n-----------------------------------";
    					first=true;
    					break;
    				}
    				else
    				{
    					fltResult=fltResult/fltNumber;
    				}
    				first=false;
                break;
    
                case 5:
    				fltResult=0;
    				first=true;
                break;
             }
        } while (intMode<=5);
    
        cout<<"\nVielen Dank fuer Ihren Besuch!";
        system("pause");   // statt getch()
        //return 0; // muss nicht explizit stehen, main() gibt normalerweise 0 zurück
    }
    


  • Nexus schrieb:

    Hallo, ich hab noch ein paar Kleinigkeiten überarbeitet und deinen Code schön eingerückt (das macht einen sauberen Eindruck). Vielleicht noch einige Anmerkungen: Wenn man eine falsche Auswahlzahl (z.B. 7) eingibt, und nachher eine richtige, wird mit dieser bereits weitergerechnet. An sich nicht so schlimm, schau einfach, dass du bei der Vorstellung eine gültige Auswahl triffst 😉
    Und getch() ist veraltet, nimm getchar() , da brauchst du auch nur den Header <iostream>.

    ok dankeschön, aber ne frage, vll könntest du mir ja helfen, du hast gesagt ich rechne dann mit dem falschen Ergebnis weiter, wie muss man dass umschreiben?, dass das nicht geht?, sehe da grade nicht die stelle wo ich was einfügen müsste um diesen fehler zu beheben

    thx!

    mfg whenyou

    EDIT: OK dass problem liegt bei der IF Schleife

    if (intMode<1||intMode>6)
                {
                    cout<<"\n\aIhre Eingabe war nicht korrekt, versuchen Sie es erneut!";
                    cout<<"\n---------------------------------------------------------";
                    first=false;
                }
    

    aber wenn ich first=true; setzte, dann kriege ich wieder 2 zahlen zum weiterrechnen, aber wenn ich schonmal ein ergebnis, hatte dann stimmts ja eigentlich wieder, diees problem tritt ja eigentlich nur am anfang auf oder??



  • Natürlich braucht mein einen Rückgabewert. Deshalb heißt es ja auch int main(). 🙄


Anmelden zum Antworten