C++ Funktionen

03/11/2012 14:19 se7Ro#1
hallo zusammen :-)

bin seit einigen tagen (auch schulbedingt) C++ am "lernen".

hab nun ein wenig in der Konsole gearbeitet (Taschenrechner, Ausgaben etc.) und arbeite mich halt durch. Bin nun bei Funktionen angelangt:

[Only registered and activated users can see links. Click Here To Register...]

Ich möchte eine eigene Funktion schreiben hab dabei aber einen riesigen Blackout.. liegt auch daran, dass es mir schwer fällt, Funktionen perfekt zu beschreiben. Hab mich eine ganze Nacht totgegoogled, versucht einige Funktionen zu schreiben aber ich weiß einfach nicht was los ist.

Meine Frage daher:
Kann mir jemand eine relativ Simple Funktion zeigen/schreiben und mir Schritt für Schritt erklären, was sie macht etc.?


Timo
03/11/2012 14:22 Freddy​#2
Frag doch deine Lehrer in der Schule die können das mit sicherheit am besten.
03/11/2012 14:26 se7Ro#3
C++ haben wir erst im nächsten Block. Ich wollte schon eher anfangen, da ich relativ großes Interesse an C++ habe.

Habe mich auch nach Büchern umgeschaut, bin mir aber unsicher welches ich kaufen sollte. Hatte mal eins gesehen.. da waren die ersten 200 Seiten eher Theorielastig.. keine Übungsaufgaben, nur Fachbegriffe.. war dann wohl eher ein Buch für Fortgeschrittene.

Ich hatte bis vor kurzem ein HTML Buch (mir ist klar, dass die beiden nicht zu vergleichen sind) indem aber wirklich alles durcherklärt wurde mit sehr guten Beispielen und Übungsaufgaben, wo der Leser ständig mit eingebunden ist.
03/11/2012 15:00 NotEnoughForYou#4
Ein kleines Beispiel:
Code:
double minuten(double x, double y)
{
if (x<=y) return x;
else return y;
}
Am Anfang steht der Rückgabtyp der Funktion. In unserem Fall ist es eine Kommazahl ( double ). Natürlich kann man auch Funktionenen mit nem andern Rückgabetyp machen ( zb. int, boolean etc ).

Nach dem Rückgabewert steht der Funktionsname. In unserem Fall minuten. Dannach kommen 2 Paramter (ebenfalls double, also muss man den Datentyp angeben der erwartet wird ). Der 1. heißt x der 2. y.



Und das was die Funk zurück gibt ist das, was wir mit return "returnen".

Btw. das main (also int main()) am Anfang unseres Programms ist auch eine Funktion.
03/11/2012 15:05 jacky919#5
Quote:
Am Anfang steht der Rückgabewert der Funktion.
Nein, der Rückgabetyp

Quote:
Natürlich kann man auch Funktionenen mit nem andern Rückgabewerte machen ( zb. int, boolean etc ).
Wie gesagt sind es Rückgabetypen und es boolean sogesehen nicht gibt

Quote:
Btw. das main (also int main()) am Anfang unseres Script ist auch eine Funktion.
Es ist kein Skript
03/11/2012 15:08 Xenox3#6
Quote:
int BeispielFunktion(int Parameter)
{
Sleep(Parameter); //Wartet eine bestimmte anzahl von Millisekunden (in diesem beispiel 1 s) (Parameter)

return 500; // Gibt den wert 500 zürück
}

int main()
{
int x = BeispielFunktion(1000); //BeispielFunktion wird aufgerufen x wird = 500 gesetzt
cout<< x <<endl;//Gibt 500 aus
cin.get();
return 0;
}
Kleine Beispiel
03/11/2012 15:37 NotEnoughForYou#7
Quote:
Originally Posted by jacky919 View Post
Nein, der Rückgabetyp


Wie gesagt sind es Rückgabetypen und es boolean sogesehen nicht gibt


Es ist kein Skript
ty ... habs edited .... befasse mich sonst nicht mit c++ ^^
03/11/2012 17:58 .SkyneT.#8
Quote:
Originally Posted by Xenox3 View Post
Kleine Beispiel
Namespace bzw. "std::" vergessen.

Und ich würd anstatt zuerst x den return zuzuweisen und das dann auszugeben,
eher etwas in dieser Art schreiben:
Code:
std::cout << BeispielFunktion(123) << std::endl;
Oder speicherst du z.B "GetLastError()" zuerst ab, bevor du es ausgibst ?:rolleyes:
03/11/2012 18:08 jacky919#9
Quote:
Originally Posted by .SkyneT. View Post
Namespace bzw. "std::" vergessen.
Nicht nur das, er hat auch nichts inkludiert, was aber wohl Absicht war.
Quote:
Originally Posted by .SkyneT. View Post
Oder speicherst du z.B "GetLastError()" zuerst ab, bevor du es ausgibst ?:rolleyes:
Wofür brauchst du GetLastError()?
03/11/2012 18:19 .SkyneT.#10
Quote:
Originally Posted by jacky919 View Post
Nicht nur das, er hat auch nichts inkludiert, was aber wohl Absicht war.

Wofür brauchst du GetLastError()?
GetLastError war ein Beispiel.
Im Sinne von:
Code:
DWORD LastError = GetLastError();
std::cout << LastError << std::endl;
Anstelle des "normalen":
Code:
std::cout << GetLastError() << std::endl;

Ob man Includes gleich dazu schreibt oder nicht ist für mich
Geschmackssache.
03/11/2012 19:44 MoepMeep#11
Code:
int random() //real random func
{
    return 4;
}
Funktionen sind nun wirklich keine Kunst ;)
03/11/2012 20:21 jacky919#12
Quote:
Originally Posted by MoepMeep View Post
Code:
int random() //real random func
{
    return 4;
}
Habe schon lange nach einer Funktion gesucht, die wirklich zufällige Zahlen generiert. Danke das du sie gepostet hast ;)
03/11/2012 22:43 MrSm!th#13
Zufälliger als aus dem Verstand eines verwirrten drittklassigen Programmierers gehts ja auch nicht :p

@TE:

Verstehe ich das richtig, dass du einfach nur ein Problem damit hast, eine Funktion zu definieren? Ich meine, wie du schon gesehen hast, das ist nun wirklich nicht schwer, dafür reicht jedes 0815 C++ Tutorial, um einen zu erklären, wie das geht oO
Oder soll deine Funktion etwas bestimmtes tun, was du nicht realisieren kannst?
03/12/2012 14:40 se7Ro#14
Jo.. das und eine zu schreiben.. klingt lächerlich, aber nun weiß ich es jetzt. Ich war einfach total verwirrt und wusste rein nichts mehr.

Trotzdem danke :D