![]() |
Funktionen (Hab Probleme damit)
Hallo!
Guckt euch erst das mal an:
Code:
...
void Funktion () { cout<<"HALLO!"<<endl; getch(); } int main (void) { Funktion(); return 0; } Ich verstehe ein nicht: Ich weiß wie man Funktionen benutzt, aber was sind eigentlich Rückgabetypen oder Parameter???? Bitte erklärt mir das Richtig! Ich habe in google.de überall nachgeguckt. Aber ich habe nix gefunden. Ich weiß nicht wöfür Parameter sind und wieso man einen Rückgabetyp braucht. DANKE! :-D :-D :-D :-D :-D |
Re: Was sind Rückgabetypen??? ---HILFE!
Zitat:
Allein auf wikipedia dürfte der Begriff Parameter im Informatikbereich zu genüge erklärt sein. Edit: Google 1. Ergebnis dafür übrigens: ![]() Und ein Rückgabetyp ist einfach ein Variablentyp. Funktionen können bestimmte Wete zurückgeben und diese haben wie jede Variable eben auch einen Typ :) |
Re: Was sind Rückgabetypen??? ---HILFE!
Kann sein das ich was gefunden habe aber:
Kann mir das mal einer Richtig verständlich erklären?? BITTE!! Sonst weiß ich wirklich nicht weiter. Danke! :( :( :( :( |
Re: Was sind Rückgabetypen??? ---HILFE!
Sorry, aber besser als auf wiki kann man das doch kaum erklären :gruebel:
Parameter in Funktionen sind einfach nur Platzhalter, so dass du die Funktion mit verschiedenen Werten aufrufen kannst. Wenn du Parameter aus der Mathematik kennst, dürfte es doch kein Problem sein, das ganze gedanklich zu übertragen ;) air |
Re: Was sind Rückgabetypen??? ---HILFE!
Danke Airblader aber:
Ich hatte das nie in der Mathematik. Könntest du etwas Coden und mir erzählen wie das abläuft?? Ich zwing dich nicht dazu, versteh mich nicht falsch. Aber es wäääääre sehr nett von dir! |
Re: Was sind Rückgabetypen??? ---HILFE!
Da Parameter und Rückgabewerte in C++ das gleiche bedeuten wie in Delphi, versuchs mal
![]() MfG freak |
Re: Was sind Rückgabetypen??? ---HILFE!
Zitat:
Noch ein kleines Beispiel:
Code:
"Bar" ist hier ein Integer. Damit wird die Funktion dynamisch und du kannst sie mit verschiedenen Werten aufrufen (siehe Gegenbeispiel).
function Foo(Bar: Integer): Boolean;
begin if Bar = 5 then Result := TRUE else Result := FALSE; end; Das "Boolean" ist übrigens der Rückgabetyp. Die "Rückgabevariable" Result ist also vom Typ Boolean ;) Gegenbeispiel:
Code:
Du siehst:
function Foo: Boolean;
begin if 5 = 5 then Result := TRUE else Result := FALSE; end; Du kannst keinen Wert übergeben, ergo auch nicht vergleichen. Diese Funktion würde immer TRUE liefern, während die obige nur dann TRUE liefert, wenn du sie mit "5" als Parameter aufrufst ;) air |
Re: Was sind Rückgabetypen??? ---HILFE!
Liste der Anhänge anzeigen (Anzahl: 1)
Du bist nicht der einzige, der hier Hilfe sucht :arrow: entfern mal das "HILFE!" aus dem Titel.
|
Re: Was sind Rückgabetypen??? ---HILFE!
Wenn ichs immer noch nicht richtig verstanden habe entferne ichs auch nicht.
|
Re: Was sind Rückgabetypen??? ---HILFE!
Zitat:
MfG freak |
Re: Was sind Rückgabetypen??? ---HILFE!
Zitat:
Sowas gehört einfach nicht zum ordentlichen Ton, da es überhaupt garnichts zum Thema sagt ;) Würde vielen Leuten gut tun, den Kodex mal zu lesen :stupid: :) air |
Re: Was sind Rückgabetypen??? ---HILFE!
Eine Funktion ist bei Delphi eine Prozedur, die aus bestimmten Werten einen anderen Wert berechnet und diesen zurückgibt.
Delphi-Quellcode:
Die Funktion Summe gibt einen Integer-Wert zurück. Auf diesen kannst du dann folgendermaßen zugreifen:
function summe(zahl1,zahl2:integer):integer;
begin result:=zahl1+zahl2; end;
Delphi-Quellcode:
Dies ist der Rückgabewert. Meine Funktion SUMME gibt in diesem Fall einen Integerwert zurück. Ich könnte auch einen String oder jeden beliebigen anderen Variablentyp zurückgeben (integer, real, byte, boolean, string, tbitmap, tpoint, tform1, hicon, tbutton, ...):
label1.caption:=inttostr(summe(1,2));
//jetzt ist label1.caption = '3'.
Delphi-Quellcode:
Auf diese Funktion kannst du folgendermaßen zugreifen:
function sayhallo(name:string):string;
begin result:='Hallo '+name+'!'; end;
Delphi-Quellcode:
Der Typ der Variable die zurückgegeben wird ist der Rückgabetyp.
label1.caption:=sayhallo('ichbins');
//Label1.caption ist jetzt = 'Hallo ichbins!'; Die Parameter sind die Variablen die beim Aufruf in die Klammern geschrieben werden. 'Ichbins' ist im unteren Beispiel der einzige Parameter der Funktion, ein String der Rückgabewert. Eine Funktion kann beliebig viele Parameter eines beliebigen/unterschiedlichen Typs haben. Unter C(++) und jeder anderen mir beakannten Programmiersprache ist es genauso. Bei C wird nun der Rückgabetyp vor den Funktionsnamen geschrieben.
Code:
bedeutet dass die Funktion xyz einen Int(eger) Wert zurückgibt.
int xyz
Bei C ist speziell, dass da void angibt, dass die Funktion keinen Rückgabewert hat, also eine Prozedur ist. |
Re: Was sind Rückgabetypen???
Also ich habe das in moment so verstanden:
Beispiel:
Code:
Also stelle mir das so vor: (hpffentlich liege ich richtig)
...
int main() { Punkte=BerechnePunkte(); cout<<Punkte; return 0; } int BerechnePunkte() { int Punkte; int Bonus=500; cin>>Punkte; Punkte+=Bonus; return Punkte; } Bei der Funktion BerechnePunkte Wird der Wert (von Punkte) an die Funktion halt weiter gegeben, so dass BerechnePunkte den Wert von Punkte hat. Bei der Main-Funktion wird halt der Wert (beispielweise 600, der ja von Punkte stammt) an Punkte zugewiesen. Und somit wird beispielsweise 600 angezeigt. So stelle ich mir das vor. Theoretisch ist die Funktion wie eine Variable. IST das richtig wie ich gedacht habe??? |
Re: Was sind Rückgabetypen???
Also ich würde es anders erklären als du g-hun, aber wenn du bei deinem Beispiel als Punkte 100 eingibst und als Ergebnis 600 herausbekommst dann dürftest du es verstanden haben :wink:
Flare |
Re: Was sind Rückgabetypen???
DANKE! JUNGS!
Hier kommen aber noch andere Fragen.(später) Aber noch was bevor die Frage erledigt ist: Wenn ich cout<<BerchnePunkte; eingebe. Dann wird 1 Ausgegeben. Man muss es immer erst einer Variable zuweisen oder?? Und woran liegt es?? |
Re: Funktionen (Hab Probleme damit)
Du musst das Ergebnis keiner Variable zuweisen. Einfach so schreiben:
Code:
Nicht auf die runden Klammern vergessen.
cout << BerechnePunkte();
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz