|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
tha programma Mini JLI'ler
Anmeldedatum: 26.03.2006 Beiträge: 2
Medaillen: Keine
|
Verfasst am: 26.03.2006, 19:22 Titel: Ein Programm gibt/liefert einen Wert zurück????? |
|
|
Ich habe schon mehrere programmierbücher über C++ gelesen doch
Eins ist mir immer noch nicht klar geworden:
Was bedeutet es, wenn ein programm oder eine Funktion einen
wert zurückgibt???
was bedeuten dabei die Schlüsselwörter void und return???
Wann gibt ein Programm einen Wert zurück? |
|
Nach oben |
|
|
Blubb-Tec JLI'ler
Alter: 33 Anmeldedatum: 29.03.2005 Beiträge: 171 Wohnort: Düsseldorf Medaillen: Keine
|
Verfasst am: 26.03.2006, 19:29 Titel: |
|
|
hier ein kleines beispiel:
CPP: | #include <iostream>
using namespace std; //der einfachheit halber
int addition(int i1,int i2);
int main(void)
{
int i;
i = addition(3,4);
cout << i;
cout << addition(3,4);
cin.sync(); //auf tastatureingabe
cin.get(); //am ende warten
return 0;
}
int addition(int i1, int i2)
{
return (i1 + i2);
}
|
probier's aus, und du verstehst es hoffentlich, aber ohne das zu verstehen, kannst du nicht mehrere bücher über C++ gelesen haben oO
(kann's leider nich besser erklären, sorry) _________________ www.planlos.de |
|
Nach oben |
|
|
51m0n JLI'ler
Alter: 33 Anmeldedatum: 06.01.2006 Beiträge: 167 Wohnort: Erkelenz Medaillen: Keine
|
Verfasst am: 26.03.2006, 19:29 Titel: |
|
|
du hättest dies Frage auch ruhig in deinem anderen Thread stellen können
Das Schlüsselwort void besagt das die Methode keinen Ruckgabewert hat. Wenn man als rückgabetyp int gewählt hat kann man hinter return einen integer wert wert schreiben diesen kann man dann mit if(methode() == 1) abfragen.
Mit dem Beispiel dürfte es einfacher zu verstehen sein:
CPP: | int main()
{
if(methode() == 1) //wenn die methode 1 zurückgibt:
{
//mach was
}
return 0;
}
int methode()
{
return 1; //gibt den wert 1 zurück
}
|
Ich hoffe du hast es nun verstanden. _________________ Teigwaren
heißen Teigwaren,
weil sie früher einmal Teig waren |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 27.03.2006, 15:01 Titel: |
|
|
Der C(++) Stadard besagt, dass ein Programm einen Integerwert zurückgeben muss. Viele Compiler ersetzen - wenn mann was eigendlich falsch ist schreibt - durch die richtige Variante und geben den Integer 0 zurück.
Der Rückgabewert eines Programmes kann vom Betriebssystem dazu verwendet werden, einen Fehlerstatus festzustellen. (Hat sich das Programm ordnungsgemäss beendet, wird in der Regel 0 zuückgegeben, Negative Werte für Fehlerfälle, Positive Werte für andere Fälle.) _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
|
proggaholic Junior JLI'ler
Alter: 36 Anmeldedatum: 07.05.2005 Beiträge: 85 Wohnort: Heap Medaillen: Keine
|
Verfasst am: 03.05.2006, 17:53 Titel: |
|
|
Viele Funktionen haben eine bestimmte Aufgabe, wo als Ergebnis ein bestimmter Wert errechnet/ermittelt wird. Weil Funktionen aber lokale Blöcke bilden, kann man von aussen normal nicht darauf zugreifen (Alternative: call-by-reference). Also wurde in C/C++ (und natürlich auch in vielen anderen Programmiersprachen) ein Mechanismus eingebaut, der diesen Wert "zurückgibt". D.h. bildlich gesprochen wird an der Stelle, an der die Funktion aufgerufen wurde, eben dieses Ergebnis weiter verwendet, als ob man dort direkt das errechnete Ergebnis hingeschrieben hätte. Natürlich hat auch so ein Rückgabetyp einen Typ, der bei der Funktionsdefinition/-deklaration als allererstes (vor dem Funktionsnamen) angegeben wird. Dieser kann auch "void" sein, eine solche Funktion hat dann explizit keinen Rückgabewert (die main()-Funktion muss allerdings den Rückgabetyp int haben - laut Lippman). Mit return wird genau dieser Mechanismus in Gang gesetzt - der Wert hinter return wird zurückgegeben und die Funktion wird verlassen. Beim Rückgabetyp void steht dahinter nichts (man kann das return in diesem Fall auch ganz weglassen). An dieser Stelle kann jeder gültige Ausdruck stehen. Die Anwendung kannst du den obigen (sehr guten) Beispielen entnehmen. Da aber Bilder beim Lernen sehr helfen, und auch noch meistens sehr lange im Gedächnis bleiben, habe ich hier noch ein Bild zur Veranschaulichung: return.jpg |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|