Vorstellung erster code tipps.



  • Hallo zusammen, ich würde gern mal mein ersten code vorstellen, und dazu Tipp´s
    und kleine verbesserungen abholen.

    Ich poste einfach mal den code 😋

    #include <iostream>
    
    void plus();
    void minus();
    void mal();
    void geteilt();
    
    using namespace std;
    
    int main()
    {
    	char Taschenrechner;
    
    	cout << "Taschenrechner Waehle eine Zahl und druecke Enter\n"
    		 << "\t1.Plus +\n"
    		 << "\t2.Minus -\n"
    		 << "\t3.Mal *\n"
    		 << "\t4.Geteilt :\n"
    		 << "\t5.Bildschirm Leeren\n"
    		 << "\t6.Beenden\n";
    		cin >> Taschenrechner;
    		switch(Taschenrechner)
    		{
    			case '1':
    				cout << "Plus +\n";
    				plus();
    				break;
    			case '2':
    				cout << "Minus -\n";
    				minus();
    				break;
    			case '3':
    				cout << "Mal *\n";
    				mal();
    				break;
    			case '4':
    				cout << "Geteilt :\n";
    				geteilt();
    				break;
    			case '5':
    				system("cls");
    				main();
    				break;
    			case '6':
    				return 0;
    			default:
    				cout << "Du hast keine Option Gewaehlt.";
    		}
    		cin.sync();
    		cin.get();
    		return 0;	
    }
    
    void plus()
    {
    	int zahl1, zahl2;
    	cout << "Erste Zahl\n";
    	cin >> zahl1;
    	cout << "Zweite Zahl\n";
    	cin >> zahl2;
    
    	cout << "Ergebnis\n" << zahl1 + zahl2 << endl;
    	main();
    }
    
    void minus()
    {
    	int zahl1, zahl2;
    	cout << "Erste Zahl\n";
    	cin >> zahl1;
    	cout << "Zweite Zahl\n";
    	cin >> zahl2;
    
    	cout << "Ergebnis\n" << zahl1 - zahl2 << endl;
    	main();
    }
    
    void mal()
    {
    	int zahl1, zahl2;
    	cout << "Erste Zahl\n";
    	cin >> zahl1;
    	cout << "Zweite Zahl\n";
    	cin >> zahl2;
    
    	cout << "Ergebnis\n" << zahl1 * zahl2 << endl;
    	main();
    }
    
    void geteilt()
    {
    	int zahl1, zahl2;
    	cout << "Erste Zahl\n";
    	cin >> zahl1;
    	cout << "Zweite Zahl\n";
    	cin >> zahl2;
    
    	cout << "Ergebnis\n" << zahl1 / zahl2 << endl;
    	main();
    }
    


  • Was passiert denn, wenn du vier mal gerechnet hast und dann beenden willst.
    Ist das Programm dann sofort zu Ende?



  • Monster_l3 schrieb:

    case '5':
    				system("cls");
    				main();
    				break;
    			}
    

    Der Aufruf von system ist schlecht, der rekursive Aufruf von main ist tödlich.



  • Bis auf die konkrete Rechenoperation sind die 4 Unterfunktionen alle identisch. Das geht besser. Versuch mal so wenig Code wie möglich zu verdoppeln, also die Eingabe der Operanden auszulagern.

    Die main-Rekursion ... wie kommt man auf so eine Idee?



  • qweasdyxc schrieb:

    ...
    Die main-Rekursion ... wie kommt man auf so eine Idee?

    Um ehrlich zu sein finde ich die Idee gar nicht schlecht. Intuitiv spricht ja erst ein Mal nichts dagegen, und woher soll man als Programmieranfänger denn wissen, dass der Standard das explizit verbietet?



  • Zu erst mal danke DocShoe.
    Danke an die Flamer die ich eigentlich nicht gefragt hatte, es steht im titel Tipps und keine Flame´s.

    Auser geflame von idioten sehe ich hier kein Vernünftigen Tipp und oder Rat.
    Es steht ja geschrieben das dies mein erster c++ code schnipsel, anstatt hier herumzu flamen wie ich darauf komme (qweasdyxc) hättest du oder jemand anders mal erklären können warum man es nicht benutzt.

    An Belli du bist anscheinend auch zu dumm um beim scheissen zu Stinken, kretik
    ist gut aber wo ist der Tipp wie ich es hätte besser machen können ?

    So nochmal zur Frage was kann man besser machen, bitte ein paar Tipps und Ratschläge und keine dummen leute mehr wie Belli und qweasdyxc.

    GeZ
    MB



  • Monster_l3 schrieb:

    Zu erst mal danke DocShoe.
    Danke an die Flamer die ich eigentlich nicht gefragt hatte, es steht im titel Tipps und keine Flame´s.

    Auser geflame von idioten sehe ich hier kein Vernünftigen Tipp und oder Rat.
    Es steht ja geschrieben das dies mein erster c++ code schnipsel, anstatt hier herumzu flamen wie ich darauf komme (qweasdyxc) hättest du oder jemand anders mal erklären können warum man es nicht benutzt.

    An Belli du bist anscheinend auch zu dumm um beim scheissen zu Stinken, kretik
    ist gut aber wo ist der Tipp wie ich es hätte besser machen können ?

    So nochmal zur Frage was kann man besser machen, bitte ein paar Tipps und Ratschläge und keine dummen leute mehr wie Belli und qweasdyxc.

    GeZ
    MB

    Tickst Du noch ganz sauber?
    Keiner außer Dir hat hier geflamet Du unverschämtes dummes Kind.



  • Das ist ein Tipp gewesen:
    Mach den rekursiven Aufruf von main() weg.


  • Mod

    Da es hier nur stinkende, dumme Scheißer gibt, kann ich den Thread auch schließen. Dann antworten sie dir wenigstens nicht und verletzen nicht dein zartes Gemüt.


Anmelden zum Antworten