Rückgabewert einer Funktion



  • Convoy schrieb:

    Ok und was müsste ich jetzt noch einfügen damit die Funktion zusätzlich Gewinn/Verlust des Gesamten zurückliefert und dann noch zusätzlich die komplette Anzahl meiner gehaltenen Aktien?

    Guter Witz! Ich konnte herzhaft lachen. Dankeschön!



  • Na wie geil 😃 Der Thread _muss_ in die Netzkultur!!

    greetz, Swordfish



  • Ich warte auf die Frage:

    "Und was müsste ich hinzufügen, um aus dem Programm ein vollständiges Warenwirtschaftsystem mit Finanz- und Lohnbuchhaltung und integrierter Tabellenkalkulation, Textverarbeitung und Webeditor, basierend auf einem eigenen, revolutionären Betriebssystem zu machen?"



  • Bitte schön, war mir ein Vergnügen.



  • Im Ernst.
    Ich möchte doch nur zusätzlich die Gesamtanzahl meiner momentanen Waren übergeben haben und den Gewinn/ Verlust aus den An-und Verkauf.

    Ist das dann wirklich so komplex?



  • Convoy schrieb:

    Ist das dann wirklich so komplex?

    Nein, gegen Geld schreib ich dir so eine Software gerne.

    Du kannst hier gerne Fragen stellen und wir helfen dir - aber deine Arbeit machen wir sicherlich nicht.



  • Ja ok das verstehe ich.



  • Wozu brauche ich denn diese Zeile?

    int wdiff(int, int); /*Prototyp der Funktion*/
    


  • Damit der Compiler weiß, dass es eine Funktion wdiff gibt, die einen int zurückliefert und 2 int Parameter bekommt.

    Wenn du eine Funktion einer Bibliothek benutzt, dann sollte der Compiler wissen, dass es eine solche Funktion gibt, damit er sie nicht implizit als int deklariert. Es ist außerdem nützlich, wenn den Code von 2 Funktionen nicht in der Reihenfolge schreibt, in der sie sich selber aufrufen:

    struct abc {
        int x;
        int y;
        int z;
    };
    
    /* Ohne diesen Prototyp würde der Code nicht kompiliert werden */
    struct abc bar(int x, int y, int z);
    
    struct abc foo(int x, int y)
    {
      int j = 8;
      return bar(x,y,j);
    }
    
    struct abc bar(int x, int y, int z)
    {
        struct abc obj;
        obj.x = x;
        obj.y = y;
        obj.z = z;
        return obj;
    }
    


  • Nimm mir das nicht übel, Convoy, aber die übliche Vorgehensweise wäre, dass du hier deinen Lösungsversuch postest, und wir sagen dir dann, warum es nicht funktioniert. Du fragst aber nach einer kompletten Lösung. So macht es den Eindruck, als ob du gar kein Interesse daran hättest, etwas selbst zu machen. Du hast ja jetzt ein Programm, auf dem du aufsetzen kannst. Erweiter es nach deinen Vorstellungen, und wenn du nicht weiter kommst, sag Bescheid.



  • Aber so kann ich es doch auch schreiben das es geht.

    #include <stdio.h>
    
    int wdiff(int a, int b) /*Die Funktion*/
    {
            return a-b; /*Differenz von a und b (Parameter) als Rückgabewert*/
    }
    
    int main()
    {
            int awert=100, vwert=130, d; /*Variablen*/
    
            d=wdiff(vwert, awert); /*Funktionsaufruf*/
            printf("Differenz: %d\n", d);
    
            return 0;
    }
    

Anmelden zum Antworten