JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=c3fa2bf4fc08c8bbb506b5590e6b4dbfMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Ein Programm gibt/liefert einen Wert zurück?????

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
tha programma
Mini JLI'ler



Anmeldedatum: 26.03.2006
Beiträge: 2

Medaillen: Keine

BeitragVerfasst am: 26.03.2006, 19:22    Titel: Ein Programm gibt/liefert einen Wert zurück????? Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Blubb-Tec
JLI'ler


Alter: 33
Anmeldedatum: 29.03.2005
Beiträge: 171
Wohnort: Düsseldorf
Medaillen: Keine

BeitragVerfasst am: 26.03.2006, 19:29    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
51m0n
JLI'ler


Alter: 33
Anmeldedatum: 06.01.2006
Beiträge: 167
Wohnort: Erkelenz
Medaillen: Keine

BeitragVerfasst am: 26.03.2006, 19:29    Titel: Antworten mit Zitat

du hättest dies Frage auch ruhig in deinem anderen Thread stellen können Wink

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
Benutzer-Profile anzeigen Private Nachricht senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 27.03.2006, 15:01    Titel: Antworten mit Zitat

Der C(++) Stadard besagt, dass ein Programm einen Integerwert zurückgeben muss. Viele Compiler ersetzen - wenn mann was eigendlich falsch ist
CPP:
void main()
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
proggaholic
Junior JLI'ler


Alter: 36
Anmeldedatum: 07.05.2005
Beiträge: 85
Wohnort: Heap
Medaillen: Keine

BeitragVerfasst am: 03.05.2006, 17:53    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
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

Impressum