Mein Erstes Programm und meine ersten Fehler



  • Hi, ich hoffe ich bin hier richtig.

    //Kurze Vorgeschite

    Ich hab vor ein paar tagen mit Hilfe von dem Online-PDF "C++ in 21 Tagen" angefangen C++ zu "lernen".
    Ich bin bisher bis Kapitel 5 gekommen und hab mir nun ein Buch bestellt (Das hoffentlich besser ist 😞 ).
    Irgentwann heute hab ich mir gedacht ich schreib mal ein eigenes Programm um ein bischen zu Üben.
    Nach kurzer denk Pause wusste ich auch was es werden sollte, ein Dreisatz-Rechner der Per wahl verschiedene arten von Dreisätzen Rechnen kann.

    //Ende der Vorgeschite

    Naja, jetzt sitze ich hier mit ca. 143 Zeilen code, Kaum ahnung von C++ und ner menge Kompelier fehler die da heißen: z.B.

    error: invlid conversion from ´int (*)(int, int, int, int, int)´to ´int´
    und
    warnig left-hand operand of comma has no effect|

    um nurmal 2 zu nennen.

    Ich benutze Code::Blocks 8.0.2 mit MinGW ver. ka.

    Als erstes würde ich nur mal gern wissen ob ich hier richtig bin mit meinem Problem, bevor ich hier anfange meinen code zu posten ( Den ihr sicher brauchen werdet um mein problem zu analysiern.)

    Ps: Entschuldigt Eventuelle Rechtschreibfehler, bin von natur aus faul 😃



  • An sich solltest Du mit viel kleineren Programmen anfangen. Und bei Problemen ist es am einfachsten, Du postet den gesamten Code. Aber nur Konsole-Anwendungen. Grafische Anwendungen für Anfänger werden eher gar nicht unterstützt.

    Wurstbrot schrieb:

    Ps: Entschuldigt Eventuelle Rechtschreibfehler, bin von natur aus faul 😃

    Mist, jetzt habe ich die Lust verloren, Dir noch zu helfen.



  • Hi,
    ich schlage vor, du fängst mit kleinen Programmen an mit nicht so vielen Zeilen.
    143 Zeilen wird kaum jemand durchsehen wollen. Auch für dich ist es sinnvoll, wegen der Übersicht.



  • Das "Von natur aus faul" lässt sich in bestimmen situationen abschalten 😃 z.b. beim coden.

    Es handelt sich auch um eine consolen anwendung

    naja Hier ist dann das gute stück:

    // Dreisatz mit auswahl-funktion
    
    #include <iostream>
    
    using namespace std;
    
    int FuncChoiseOne(int anzahl, int summe, int gewAnz, int, int);
    unsigned short FuncChoiseTwo(unsigned short anzahl, unsigned short summe, unsigned short gewAnz, unsigned short, unsigned short);
    int FuncChoiseThree(int Protzent, int Anzahl, int gewAnz, int, int);
    unsigned short FuncChoiseFour(unsigned short Protzent, unsigned short Anzahl, unsigned short gewAnz, unsigned short, unsigned short);
    
    /*
    Funktionen für
    die whalen 1-4 in der selben
    Reihenfloge der Wahl fragen
    */
    
    int main()
    {
        int Wahl;
    
        cout << " Bitte Wählen Sie den Typ der Dreisatz aufgabe" << endl;
        cout << "\n";
        cout << " Für Anzahl und Summe ohne vorzeichen, Ergebnis Anzahl und Summe, drücken Sie: 1\t";
        cout << " Für Anzahl und Summe mit vorzeichen, Ergebnis Anzahl und Summe, drücken Sie: 2\t";
        cout << " Für Protzent und Anzahl ohne Vorzeichen, Ergebnis Protzent und Anzahl, drücken Sie: 3\t";
        cout << " Für Protzent und Anzahl mit Vorzeichen, Ergebnis Protzent und Anzahl, drücken Sie: 4\t\t";
    
        cin >> Wahl;
    
        if (Wahl = 1)                                                       // Start der if-Anweisungen beginnt mit 1 endet mit 4
        {                                                                   // Ruft jeweils die zugehörige Funktion auf
            int ErgebnisOne, ErgebnisTwo;
    
            cout << " Ihr Aufgabentyp entsprach der Wahl 1\n";
            cout << " Das Ergebnis lautet: " << ErgebnisOne << ErgebnisTwo << endl;
            ErgebnisOne = FuncChoiseOne;
            ErgebnisTwo = FuncChoiseOne;
        }
    
        if (Wahl = 2)
        {
            int ErgebnisOne, ErgebnisTwo;
    
            cout << " Ihr Aufgabentyp entsprach der Wahl 2\n";
            cout << " Das Ergebnis lautet: " << ErgebnisOne << ErgebnisTwo << endl;
            ErgebnisOne, ErgebnisTwo = FuncChoiseTwo;
        }
    
        if (Wahl = 3)
        {
            int ErgebnisOne, ErgebnisTwo;
    
            cout << " Ihr Aufgabentyp entsprach der Wahl 3\n";
            cout << " Das Ergebnis lautet: " << ErgebnisOne << ErgebnisTwo << endl;
            ErgebnisOne, ErgebnisTwo = FuncChoiseThree;
        }
    
        if (Wahl = 4)
        {
            int ErgebnisOne, ErgebnisTwo;
    
            cout << " Ihr Aufgabentyp entsprach der Wahl 4\n";
            cout << " Das Ergebnis lautet: " << ErgebnisOne << ErgebnisTwo << endl;
            ErgebnisOne, ErgebnisTwo = FuncChoiseFour;
        }
                                                                          // Start der Error asugabe
        else
    
            cout << " Falsche eingabe! Nur Zahlen zwischen 1 und 4 erlaubt"<< endl;
    
        return 0;
    }
    // Erste Funktion
    int FuncChoiseOne(int anzahl, int summe, int gewAnz, int ergebnisOne, int ergebnisTwo)
    
    {
        cout << " Geben Sie die Anzahl ein: ";
        cin >> anzahl;
        cout << " Geben Sie die Summe ein: ";
        cin >> summe;
        cout << " Bitte geben Sie die gewünschte Anzahl ein: ";
        cin >> gewAnz;
    
        // Berechnen des Rückgabe Wertes
        ergebnisOne = ((anzahl/anzahl) * gewAnz);
        ergebnisTwo = ((summe/anzahl) * gewAnz);
        return ergebnisOne || ergebnisTwo;
    }
    // Zweite Funktin
    int FuncChoiseTwo(unsigned short anzahl, unsigned short summe, unsigned short gewAnz, unsigned short ergebnisOne, unsigned short ergebnisTwo)
    
    {
        cout << " Geben Sie die Anzahl ein: ";
        cin >> anzahl;
        cout << " Geben Sie die Summe ein: ";
        cin >> summe;
        cout << " Bitte geben Sie die gewünschte Anzahl ein: ";
        cin >> gewAnz;
    
        // Berechnen des Rückgabe Wertes
        ergebnisOne = ((anzahl/anzahl) * gewAnz);
        ergebnisTwo = ((summe/anzahl) * gewAnz);
        return ergebnisOne || ergebnisTwo;
    }
    // Dritte Funktion
    int FuncChoiseThree(int protzent, int anzahl, int gewAnz, int ergebnisOne, int ergebnisTwo)
    
    {
        cout << " Geben Sie die Anzahl ein: ";
        cin >> anzahl;
        cout << " Geben Sie die Protzent ein: ";
        cin >> protzent;
        cout << " Bitte geben Sie die gewünschte Anzahl ein: ";
        cin >> gewAnz;
    
        // Berechnen des Rückgabe Wertes
        ergebnisOne = ((anzahl/anzahl) * gewAnz);
        ergebnisTwo = ((protzent/anzahl) * gewAnz);
        return ergebnisOne, ergebnisTwo;
    }
    // Vierte Funktion
    int FuncChoiseFour(unsigned short anzahl, unsigned short protzent, unsigned short gewAnz, unsigned short ergebnisOne, unsigned short ergebnisTwo)
    
    {
        cout << " Geben Sie die Anzahl ein: ";
        cin >> anzahl;
        cout << " Geben Sie die Protzent ein: ";
        cin >> protzent;
        cout << " Bitte geben Sie die gewünschte Anzahl ein: ";
        cin >> gewAnz;
    
        // Berechnen des Rückgabe Wertes
        ergebnisOne = ((anzahl/anzahl) * gewAnz);
        ergebnisTwo = ((summe/anzahl) * gewAnz);
        return ergebnisOne, ergebnisTwo;
    }
    

    Sorry das des so lang ist, aber ich hatte keine ahnung ob es noch eleganter Lösungen gibt.

    @vorschlag0r: Sorry hab deine Post zuspat gesehen.

    aber vlt kann mir ja auch jemand einen tip geben, für eine etwas kleiner version.



  • Schau mal in den vorherigen Kapiteln nach, wie man Funktionen aufruft, und wieviele Rückgabewerte Funktionen haben können.



  • nur kurz draufgeschaut:

    die funktionsdeklarationen stimmen nicht mit den implementierungen überein.



    1. if( Wahl = 1 ) frägt nicht ob Wahl eins ist, sondern weist Wahl den Wert 1 zu...
    2. Dein ganzen funcChoiceOne() usw (schlechte Namen weil man nicht weiß was das sein soll :P) erwarten Parameter! Und du frägst dann in der Funktion per cin diese ab? Also entweder oder.
    3. Dein Funktionsaufurfe zeugen von wenig Ahnung (sry)

    Also wart auf dein Buch (welches ist es denn?) und fang gaaanz langsam an 😉
    Z.B. mit nem eigenen Hello world-Programm, oder eines welches ein Passwort abfrägt und nach drei Fehlversuchen abbricht...



  • Schau mal in den vorherigen Kapiteln nach, wie man Funktionen aufruft, und wieviele Rückgabewerte Funktionen haben können.

    Oh...Ich wusste das das irgentwie nich klappen kann.
    Jetzt weiß ich auch warum der immer nur ein rückgabewert hat im Kapitel Funktionen.

    k schon mal thx.

    dann wird aber der code ja noch länger. *kopfschüttel*



  • ASCII kennt keine Vokale wie "ä, ü, ö".



  • Karosse schrieb:

    1. if( Wahl = 1 ) frägt nicht ob Wahl eins ist, sondern weist Wahl den Wert 1 zu...
    2. Dein ganzen funcChoiceOne() usw (schlechte Namen weil man nicht weiß was das sein soll :P) erwarten Parameter! Und du frägst dann in der Funktion per cin diese ab? Also entweder oder.
    3. Dein Funktionsaufurfe zeugen von wenig Ahnung (sry)

    Also wart auf dein Buch (welches ist es denn?) und fang gaaanz langsam an 😉
    Z.B. mit nem eigenen Hello world-Programm, oder eines welches ein Passwort abfrägt und nach drei Fehlversuchen abbricht...

    zu 3. wie gesagt stehe noch ganz am anfang.

    Das buch ist Das hier: http://www.amazon.de/C-für-Spieleprogrammierer-Heiko-Kalista/dp/3446403329/ref=sr_1_3?ie=UTF8&s=books&qid=1247681522&sr=1-3

    naja diesen ganzen standart kram hatte ich schon, Hello World, Kreis berechnung usw.

    auf mein buch warte ich so oder so, nur wollte ich mir die zeit ein bischen vertreiben bis es soweit ist.

    Kóyaánasqatsi schrieb:

    ASCII kennt keine Vokale wie "ä, ü, ö".

    kleiner flüchtigkeits fehler hat aber nicht zu Kompelier-fehlern geführt und wer mir beim erfolgreichm ausführen bestimmt aufgefallen.

    Trotzdem danke^^



  • Wurstbrot schrieb:

    Das buch ist Das hier: http://www.amazon.de/C-für-Spieleprogrammierer-Heiko-Kalista/dp/3446403329/ref=sr_1_3?ie=UTF8&s=books&qid=1247681522&sr=1-3

    Grafikprogrammierung, Musik, Gamepads oder Joysticks sind nicht das Thema des Buchs. Ebenso wenig wie Programmier- oder C++ Vorwissen. Dass legt den Rahmen fest: Zu Beginn beschreibt Kalista die Grundlagen, erzählt von der Geschichte von C++, stellt ein erstes Programm und die Entwicklungsumgebung vor und rundet mit einer Aufgabe für den Novizen ab. Dann kommen die Variablen an die Reihe, gefolgt von Schleifen, Bedingungen und Funktionen bis hin zu Arrays und Strukturen, Zeigern, Referenten und Klassen. Damit sind nach knapp 200 Seiten die Grundlagen abgeschlossen und C++ sowie Programmierung ist kein Fremdwort mehr, bevor es dann an fortgeschrittene Themen geht, bis hin zur Standard Template Library (STL).

    Ich bin skeptisch ob das das Buch ist, mit dem du glücklich wirst (ich kenn es nicht). Wobei die Rezensionen doch ausschauen, als wärs es ein reines Einsteigerbuch. Berichte dann bitte wenn du es (gelesen) hast 🙂
    Hier im Forum wird gern der C++ Primer empfohlen. Ich war eigentlich mit meinem C++ - Lernen und professionell anwenden von Ulla Kirch-Prinz ganz zufrieden.



  • Ich fass mal kurz zusamme dmait ich weiß woran ich arbeiten muss.

    Funktion:
    -deklaration, implementierung stimmen nicht überein.
    -Sind nicht aussagekräftig genug
    -können nur einen rückgabewert erzeugen
    -sollten ihre Parameter in main() erhalten ( ich hoffe ich hab das richtig verstanden)

    Umlaute:
    -durch alternative schreibweise ersetzen.
    Code Ansich:

    -Zu lang für meine Wissenstand
    -" komplex " " "

    sollte ich etwas vergessen haben ergänzt mich bitte.

    Und Danke an alle die so freundlich waren etwas von ihrer Zeit für mich zu opfern 👍 .

    Ich werd dann wohl mit etwas kleinerem weiter machen und den Code "vorerst" zur Seite legen.

    Edit1:

    @Karosse: Schon wider war ich zu langsam beim posten 🙄 .

    Naja, ich hab mich natürlcih vorher schlau gemacht was das Buch angeht und bei amazon ist es glaubich das einzige mit 5sternen.
    C++Prime stand auch zur wahl es kam mir aber vor als währe das mehr, ein nachschlage werk als ein Einsteiger Buch.

    "C++ - Lernen und professionell anwenden" hab ich mir auch angeschut and war meine 2te wahl. Ich denke mal das ich es mir noch zusätzlich kaufen werde sollte etwas bei dem von mir genannten Buch für mich unklar sein.

    Edit2:

    Ach ja und ich werde sehr gerne das Buch vorstellen sobalt ich es durchgearbeitet hab.



  • Wurstbrot schrieb:

    können nur einen rückgabewert erzeugen

    Falls das globale "Umfeld" gemeint ist und du Objekt orientiert arbeitest, kannst du durch mehrmaliges Aufrufen der Funktion einen Rückgabewert bekommen.

    Wurstbrot schrieb:

    Umlaute:
    -durch alternative schreibweise ersetzen.

    Nein, only ASCII knows nothing about the german-language... Der Deutsche-Zeichendatensatz bietet alle benötigten Zeichensätze an. (Sprich: Es ist auch "ä", "ü" und "ö" in der Konsole möglich)



  • Kóyaánasqatsi schrieb:

    Wurstbrot schrieb:

    können nur einen rückgabewert erzeugen

    Falls das globale "Umfeld" gemeint ist und du Objekt orientiert arbeitest, kannst du durch mehrmaliges Aufrufen der Funktion einen Rückgabewert bekommen.

    Wurstbrot schrieb:

    Umlaute:
    -durch alternative schreibweise ersetzen.

    Nein, only ASCII knows nothing about the german-language... Der Deutsche-Zeichendatensatz bietet alle benötigten Zeichensätze an. (Sprich: Es ist auch "ä", "ü" und "ö" in der Konsole möglich)

    Zum ersten quote:

    Gut zu wissen, aber beim Objekt orientierten programmieren bin ich "noch" nich.

    Trotzdem danke für den hinweis.

    Zum zweiten quote:

    Ja, das ä,ö und ü möglich sind ist mir klar doch die einzige möglichkeit die mir da einfällt ist mit dem Typ "char" was, wie ich finde, zu kompliziert und aufwendig für einen langen code ist.



  • Bin zwar auch ein anfänger, aber dennoch kann ich dir raten deine IF anweisungen mit einer Switch Anweisung zu "bauen"

    Switch wird wie folgt aufgebaut

    int wahl = 0;            //-----Am besten immer einen standard wert zuweisen 
    cin << wahl              //-----damit durch Eingabe einer zahl die Variable "wahl" auch verändert wird
    
    switch (wahl)            //-----hier kommt die variable rein, welche den wert zum vergeleichen beinhaltet, in deinem Fall "wahl"
    {
           case 1:           //-----wenn "wahl" den inhalt 1 hat
              ANWEISUNG
           break;
           case 2:           //-----wenn "wahl" den inhalt 2 hat
              ANWEISUNG     
           break;
           default:          //-----wenn "wahl" alles außer der obrigen werte beinhaltet
              Anweisung      
           break;
    }
    

    😉 Also am besten nochmals alle Bedinngungs möglichkeiten durchlesen bzw auch schleifen varianten !!



  • Sheepstyle schrieb:

    Bin zwar auch ein anfänger, aber dennoch kann ich dir raten deine IF anweisungen mit einer Switch Anweisung zu "bauen"

    Switch wird wie folgt aufgebaut

    int wahl = 0;            //-----Am besten immer einen standard wert zuweisen 
    cin << wahl              //-----damit durch Eingabe einer zahl die Variable "wahl" auch verändert wird
    
    switch (wahl)            //-----hier kommt die variable rein, welche den wert zum vergeleichen beinhaltet, in deinem Fall "wahl"
    {
           case 1:           //-----wenn "wahl" den inhalt 1 hat
              ANWEISUNG
           break;
           case 2:           //-----wenn "wahl" den inhalt 2 hat
              ANWEISUNG     
           break;
           default:          //-----wenn "wahl" alles außer der obrigen werte beinhaltet
              Anweisung      
           break;
    }
    

    😉 Also am besten nochmals alle Bedinngungs möglichkeiten durchlesen bzw auch schleifen varianten !!

    Vielen Dank für diesen wertvollen tipp.

    Ich hab gerad mal nachgeschaut, schleifen und die gennante switch anweisung würden in Kapitel 7 kommen aber ich probier des morgen mal so aus. Danke.



  • Sheepstyle schrieb:

    Bin zwar auch ein anfänger, aber dennoch kann ich dir raten deine IF anweisungen mit einer Switch Anweisung zu "bauen"

    Switch wird wie folgt aufgebaut

    int wahl = 0;            //-----Am besten immer einen standard wert zuweisen 
    cin << wahl              //-----damit durch Eingabe einer zahl die Variable "wahl" auch verändert wird
    
    switch (wahl)            //-----hier kommt die variable rein, welche den wert zum vergeleichen beinhaltet, in deinem Fall "wahl"
    {
           case 1:           //-----wenn "wahl" den inhalt 1 hat
              ANWEISUNG
           break;
           case 2:           //-----wenn "wahl" den inhalt 2 hat
              ANWEISUNG     
           break;
           default:          //-----wenn "wahl" alles außer der obrigen werte beinhaltet
              Anweisung      
           break;
    }
    

    Von Kommentar zu Kommentar:
    Standardwert? Es gibt keinen definierten "Standardwert". Es ist ein simpler Initialisierungswert.

    Eine Variable ist ein Synonym für einen bestimmten Werte- bzw. Speicherbereich im RAM. Sprich der reservierte Speicher für diese Variable wird mit dem Eingabestream und deren Operator ">>" gesetzt. (Nicht neugesetzt!)

    Außerdem sollte man switch()-Cases bewusst einsetzen.



  • Ich wollte mich nochmal bei allen bedanken die mir geholfen haben oder auch tipps gegeben haben.

    Ich hab mir Heute nochmal meinen Code abgeschaut und musste veststellen das einige Sachen nicht gut genug durchdacht waren.
    Und andere von Fehlern übersät waren.
    Also hab ich mich hingesetzt und das getan was ich am sinnvollsten fand, nähmlich den Code durch Auskommentieren verkleinert und einen kleinen Teilbereich zum laufen gebracht.
    Ich denke mal die beste Übung die ich kriegen kann ist nicht mit etwas kleinerem komplett neu anzufangen, sondern das was ich habe zu korrigieren und zu Perfektionieren. Natürlich mit dem Wissen das mir zur verfügung steht, auch wenn es begrenzt ist.

    PS:
    Ach ja mein Buch ist auch heute gekommen und ich muss sagen ich bin sehr erstaunt.
    Auch wenn ich bisher nur die ersten beiden Kapitel gelesen habe muss ich sagen das ich mich beim lesen sehr Wohlfühle.
    Aber ich werde dazu später noch eine ausführlichen Bericht schreiben, sobald ich das Buch durch habe. Falls jemand nicht solange warten will kann er mich natürlich auch schon vorher nach einzellheiten fragen, allerdings kann ich dann noch nicht so präzise antworten.



  • Kóyaánasqatsi schrieb:

    Von Kommentar zu Kommentar:
    Standardwert? Es gibt keinen definierten "Standardwert". Es ist ein simpler Initialisierungswert.

    Eine Variable ist ein Synonym für einen bestimmten Werte....... (Nicht neugesetzt!)

    Ich meine mit standardwert auch keinen festgelegten wert der allgemein gültig ist, sondern das es besser wäre die Variable schonmal vorab mit einem Initialisierungswert zu belegen, damit später im verlauf die variable besser verglichen werden kann.!!! bzw in dieser Variable nichts ungewolltes drinne steht!!!

    Kóyaánasqatsi schrieb:

    Außerdem sollte man switch()-Cases bewusst einsetzen.

    In seinem fall wäre es doch durchaus angebracht eine Switchanweisung zu verwenden oder irre ich mich da?



  • Sheepstyle schrieb:

    In seinem fall wäre es doch durchaus angebracht eine Switchanweisung zu verwenden oder irre ich mich da?

    Ja. Die menuschleife einer Konsolenanwendung ist das natürliche Rückzugsgebiet dieses Schlüsselworts.



  • Ich mache mir mal die Mühe (und ich hoffe, du respektierst die Geste), dein Programm neu zu schreiben:

    #include <iostream> 
    
    using namespace std; 
    
    typedef __int32 LONG;           // __int32 == signed int
    typedef unsigned __int32 DWORD; // unsigned __int32 == unsigned int
    
    void FirstChoice (LONG&,LONG&); 
    void SecondChoice(DWORD&,DWORD&); 
    void ThirdChoice (LONG&,LONG&); 
    void FourthChoice(DWORD&,DWORD&); 
    
    int main() 
    { 
        DWORD Wahl;
    
        cout<<"Bitte waehlen Sie den Typ der Dreisatzaufgabe.\n\n";
        cout<<"Fuer Anzahl und Summe ohne Vorzeichen, Ergebnis Anzahl und Summe, druecken sie:\t1";
        cout<<"Fuer Anzahl und Summe mit Vorzeichen, Ergebnis Anzahl und Summe, druecken Sie:\t2";
        cout<<"Fuer Protzent und Anzahl ohne Vorzeichen, Ergebnis Prozent und Anzahl, druecken Sie:\t3"; 
        cout<<"Fuer Protzent und Anzahl mit Vorzeichen, Ergebnis Prozent und Anzahl, druecken Sie:\t4\n";
    
        cin>>Wahl;
    
        cout<<"Ihr Aufgabentyp entsprach der Wahl: "<<wahl<<endl;
            <<"Das Ergebnis ist: ";
    
        switch(Wahl)
        {
        case 1:
            LONG lFirstReference,lSecondReference;
            FirstChoice(lFirstReference,lSecondReference);
            cout<<lFirstReference<<" "<<lSecondReference<<endl;
            break;
        case 2:
            DWORD dwFirstReference,dwSecondReference;
            SecondChoice(dwFirstReference,dwSecondReference);
            cout<<dwFirstReference<<" "<<dwSecondReference<<endl;
            break;
        case 3:
            LONG lFirstReference,lSecondReference;
            ThirdChoice(lFirstReference,lSecondReference);
            cout<<lFirstReference<<" "<<lSecondReference<<endl;
            break;
        case 4:
            DWORD dwFirstReference,dwSecondReference;
            FourthChoice(dwFirstReference,dwSecondReference);
            cout<<dwFirstReference<<" "<<dwSecondReference<<endl;
            break;
        default:
            cout<<"Fehlerhaft!"<<endl;
        }
        cin.get();
        return 0; 
    } 
    
    void FirstChoice(LONG& lFirstArguement,LONG& lSecondArguement) 
    { 
        LONG lCount,lSum;
        cout<<"Geben Sie die Anzahl ein:\t"; 
        cin>>lCount; 
        cout<<"Geben Sie die Summe ein:\t"; 
        cin>>lSum; 
        cout<<"Bitte geben Sie die gewünschte Anzahl ein:\t"; 
        cin>>lFirstArguement; 
    
        lSecondArguement=(lSum/lCount)*lFirstArguement;
    } 
    
    void SecondChoice(DWORD& dwFirstArguement,DWORD& dwSecondArguement) 
    {
        DWORD dwCount,dwSum;
        cout<<"Geben Sie die Anzahl ein:\t";
        cin>>dwCount; 
        cout<<"Geben Sie die Summe ein:"\t;
        cin>>dwSum;
        cout<<"Bitte geben Sie die gewünschte Anzahl ein:\t";
        cin>>dwFirstArguement;
    
        dwSecondArguement=(dwSum/dwCount)*dwFirstArguement;
    } 
    
    void ThirdChoice(LONG& lFirstArguement,LONG& lSecondArguement)
    {
        LONG lCount,lPercent;
        cout<<"Geben Sie die Anzahl ein:\t"; 
        cin>>lCount;
        cout<<"Geben Sie die Protzent ein:\t"; 
        cin>>lPercent;
        cout<<"Bitte geben Sie die gewünschte Anzahl ein:\t";
        cin>>lFirstArguement;
    
        lSecondArguement=(lPercent/lCount)*lFirstArguement; 
    } 
    
    void FourthChoice(DWORD& dwFirstArguement,DWORD& dwSecondArguement) 
    {
        DWORD dwCount,dwPercent;
        cout<<"Geben Sie die Anzahl ein:\t"; 
        cin>>dwCount; 
        cout<<"Geben Sie die Protzent ein:\t"; 
        cin>>dwPercent; 
        cout<<"Bitte geben Sie die gewünschte Anzahl ein:\t"; 
        cin>>dwFirstArguement; 
    
        dwSecondArguement= (dwPercent/dwCount)*dwFirstArguement; 
    }
    

    Ich sage keinesfalls, dass dieses Programm fehlerfrei ist. Ich habe es soeben aus dem Ärmel geschrieben, und ich weiss nicht, ob es sich überhaupt komilieren lässt. Aber zumindest sollte es jetzt weniger Compilerfehler geben. Für logische Fehler innerhalb des Programms habe ich nichts korrigiert, da jeder Programmierer mit der Zeit seine eigenen Algorythmen, Rechenprozeduren und Funktionen (Klassen) definieren sollte (zumindest ist das meine Meinung).

    Viel Spass beim Debuggen!


Anmelden zum Antworten