Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16
  1. #1
    Krümelmonster Avatar von Nur4mon
    Registriert seit
    12.05.2009
    Beiträge
    221

    Standard Funktionen (Erklärung nötig)

    So, mein nächster Threat im C/ C++ Forum.

    Ich bin jetzt bei den Funktionen angelangt.

    Definition ist alles kein Problem usw, aber ich hab mit dem Beispiel im Tutorial Probleme.

    int Funktion(int i); // Funktionsdeklaration
    int main(void) // Hauptfunktion
    {
    //Anweisungen
    }

    int Funktion(int i) //Funktionskopf
    { //Funktionsrumpf Anfang
    int z = i * 100;
    return z;
    } //Funktionsrumpf Ende



    Wieso genau return z?

    So, dann die Ausgabe. Das Bsp. im Tutorial wäre folgendes.

    int main(void)
    {
    int u = 5;
    int a = Funktion(u); //5 wird an i übergeben


    Scheint mir etwas umständlich. Wieso zuerst int u = 5 ? Kann man der Funktion nicht gleich einen Wert zuweisen?

    Dann kommt hier nochmal ein Bsp. in einem Kontext.

    #include <iostream>

    using namespace std;

    int f1(int a, int b);

    int f2(int a, int c);

    int main(void)
    {
    int q = 10, w = 20;

    cout << "f1(10, 20) ergibt: " << f1(10, 20);

    cout << "\nf1( q, w) ergibt: " << f1( q, w);

    cout << "\nf1(20, 10) ergibt: " << f1(20, 10);

    cout << "\nf2(10, 20) ergibt: " << f2(10, 20);

    cout << "\nf2( q, w) ergibt: " << f2( q, w);

    cout << "\nf2(42, 19) ergibt: " << f2(42, 19);

    cin >> q;

    return 0;
    }

    int f1(int a, int b)
    {
    a *= ++b;
    a %= ++b;
    return a;
    }

    int f2(int a, int c)
    {
    int b = a * c;
    return b;
    }


    Und da blicke ich eben echt nicht durch.

    z.B. cout << "f1(10, 20) ergibt: " << f1(10, 20);

    Wo genau wird denn da die Funktion ausgegeben?

    Vll. kann sich jmd. etwas Zeit nehmen und mir dazu ein paar Erklärungen geben.


    mfg


  2. #2
    Besserwisser Avatar von Hiramu
    Registriert seit
    02.07.2009
    Beiträge
    170

    Standard

    1. Weil z verändert wurde und wieder ausgegeben wird

    2. Dann wäre die Funktion unnötig, weil das Ergebnis bekannt ist. Es geht darum, dass eine Variable an eine Funktion übergeben wird. Hier ist es 5 als BEISPIEL.

  3. #3
    Krümelmonster Avatar von Nur4mon
    Registriert seit
    12.05.2009
    Beiträge
    221

    Standard

    Und was ist jetzt mit cout << "f1(10, 20) ergibt: " << f1(10, 20); ?

    Wo wird da die Funktion f1 ausgegeben?


    //EDIT:

    Also, ich hab je folgenen Code:

    #include <iostream>

    using namespace std;

    int FunktionA(int a); // Funktionsdeklaration


    int main(void) // Hauptfunktion
    {
    int u;
    cin >> u;

    int o = FunktionA(u);

    cout << "\n Ergebnis: " << FunktionA(z); //Hier versuche ich mir das Ergebnis der Funktion mit cout ausgeben zu lassen. Geht nicht. Klar, Variable z ist in main nicht zugeteilt.

    cout << '\n'
    << '\n';

    system("PAUSE");
    }

    int FunktionA(int a) //Funktionskopf
    {
    int z = a * 129;


    return z;
    }


    Meine Frage an dem Punkt:

    Wie kann ich mir das Ergebnis einer funktion ausgeben lassen?
    Geändert von Nur4mon (22.07.2009 um 20:34 Uhr)

  4. #4
    Besserwisser Avatar von Hiramu
    Registriert seit
    02.07.2009
    Beiträge
    170

    Standard

    Ich bin nie SO weit gekommen XD

    ich fang erst in ca. 1 Monat wieder mit dem Lernen an ^^

  5. #5
    Krümelmonster Avatar von Nur4mon
    Registriert seit
    12.05.2009
    Beiträge
    221

    Standard

    Na dann^^

    Ich hab gestern mit C++ angefangen, bisher lief alles ganz gut. aber mit den Funktionen habe ich Probleme bzw. sie lassen sich nicht so leicht lernen (finde ich).

  6. #6
    Anfänger Avatar von rogger
    Registriert seit
    21.03.2009
    Beiträge
    17

    Standard

    cout << "f1(10, 20) ergibt: " << f1(10, 20);
    Hier wird zunächst "f1(10, 20) ergibt: " ausgegeben weil das ist Anführungszeichen steht. und dann anschliesend das Ergebnis der Funktion "f1" mit den beiden Parametern 10 und 20.

  7. #7
    Krümelmonster Avatar von Nur4mon
    Registriert seit
    12.05.2009
    Beiträge
    221

    Standard

    Okey...

    Und was mache ich in meinem Code falsch? Wie kann ich mir int z ausgeben lassen um es mit cout darzustellen oder einfach damit weiter rechnen zu können?

  8. #8
    -a.k.a. EAX.Style- Avatar von INfERn0 StyLe
    Registriert seit
    02.06.2009
    Beiträge
    75

    Standard



    Sprich die Variable z gibt es hier nur in der FunktionA.
    Ich hoffe das war nicht zu kompliziert, als Anfänger hat man es ja nie leicht..

    MfG


    Rechtschreibfehler sind gewollt und ein Ausdruck meiner Kreativität

  9. #9
    Krümelmonster Avatar von Nur4mon
    Registriert seit
    12.05.2009
    Beiträge
    221

    Standard

    Also erstmal ein Dankeschön an INfERn0 StyLe.

    Ja, das mit den Gültigkeitsbereichen hatte ich schon, deswegen war meine Frage wie ich mir den Wert aus FunktionA in main ausgeben lassen kann.

    Mitlerweile hab ich das auch herrausgefunden (cout << FunktionA(u)).

    Hab jetzt mal zwei Funktionen reingepackt, bekomme aber zweimal die Warnung:

    [Warning] multi-character character constant.


    Der Code ist:

    #include <iostream>

    using namespace std;

    int fnA(int a); // Funktionsdeklaration
    int fnB(int b);

    int main(void) // Hauptfunktion
    {
    int u;
    cin >> u;

    int o = fnA(u);


    int k = 'fnA';
    int l = fnB(k);



    cout << "\n Ergebnis: " << fnB(k);

    cout << '\n'
    << '\n';

    system("PAUSE");
    }

    int fnA(int a) //Funktionskopf
    {
    int z = a * 129;


    return z;
    }

    int fnB(int b)
    {
    int z = 'fnA' - 20;

    return z;
    }


    Hoffe ich bekomme weiterhin so aufschlussreiche Hilfe,

    mfg

  10. #10
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    int k = 'fnA';
    Ergibt keinen Sinn...
    Wo hast du das bitte her?

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

Seite 1 von 2 12 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •