 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
manu Super JLI'ler

Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 23.07.2006, 22:16 Titel: |
|
|
LBFreddurst hat Folgendes geschrieben: | ok,wenn ich es jetzt endlich richtig verstanden habe:
die Parameter sind Variablen,die sich auch auf das Hauptprogramm,in diesem Fall main() auswirken,aber nur in der Funktion,in der sie entstehen genutzt werden können ??? |
fast.
Jo. die Parameter können nur in der Funktion genutzt werden, in der sie "entstehen". Aber sie wirken sich nur auf das "Hauptprogramm" aus, wenn du das so programmierst. Die Parameter sind nur in der jeweiligen funktion gültig. ja
Zum Beispiel kannst du 1000 verschiedene funktionen erstellen und jede darf einen integer namens x erwarten, da die anderen Funktionen von Parametern der anderen Funktionen garnichts wissen...
Die main() ist übringens auch eine Funktion, wie man leicht erkennen kann. |
|
Nach oben |
|
 |
LBFreddurst Mini JLI'ler
Anmeldedatum: 18.07.2006 Beiträge: 18
Medaillen: Keine
|
Verfasst am: 23.07.2006, 22:33 Titel: |
|
|
erstmal danke dir,manu, sehr,vorallem für die gute und vor allem schnelle aufmerksamkeit .
nochwas:
man kann also auch in einer funktion variablen definieren/intialisieren und sie (nur) in dieser Funkion benutzen ?
und wohin würde dieser code führen ??? ;
CPP: | float RadiusEinlesen(void)
{
float Eingabe = 0.0f;
cout << "bitte zahl eingeben";
cin >> Eingabe;
return Eingabe:
}
|
edit:
muss man immer eine Variable in der Hauptfunktion,man(), machen,wenn etwas aus einer anderen Funktion wiedergegeben werden soll,wie z.b hier:
CPP: | #include <iostream>
using namespace std;
void Sprechhelferlein(char Buchstabe,int Ziffer)
{
cout << "Ich kann text ausgeben! Mein Lieblingsbuchstabe ist " << Buchstabe << Ziffer << "\n";
}
int main()
{
char Zeichen = 'y';
int Zahl = 11;
Sprechhelferlein(Zeichen,Zahl);
cin.get();
return 0;
}
|
|
|
Nach oben |
|
 |
manu Super JLI'ler

Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 23.07.2006, 22:52 Titel: |
|
|
LBFreddurst hat Folgendes geschrieben: | erstmal danke dir,manu, sehr,vorallem für die gute und vor allem schnelle aufmerksamkeit .
nochwas:
man kann also auch in einer funktion variablen definieren/intialisieren und sie (nur) in dieser Funkion benutzen ?
|
Alle Variablen, die man in einer Funktion deklariert, können ausschließlich in dieser Funktion benutzt werden. Man nennt solche Variablen auch lokale Varibeln. Eigentlich werden fast alle Variblen in einer Funktion deklariert(Die main() ist ja auch eine Funktion()). Deswegen braucht man auch sowas wie Parameter bei Funktionen....
LBFreddurst hat Folgendes geschrieben: |
edit:
muss man immer eine Variable in der Hauptfunktion,man(), machen,wenn etwas aus einer anderen Funktion wiedergegeben werden soll,wie z.b hier:
|
Nein. nicht im geringsten. Variblen speichern ja nur Werte.. Du kannst das auch so schreiben:
CPP: | #include <iostream>
using namespace std;
void Sprechhelferlein(char Buchstabe,int Ziffer)
{
cout << "Ich kann text ausgeben! Mein Lieblingsbuchstabe ist " << Buchstabe << Ziffer << "\n";
}
int main()
{
Sprechhelferlein('y', 11);
cin.get();
return 0;
}
|
|
|
Nach oben |
|
 |
LBFreddurst Mini JLI'ler
Anmeldedatum: 18.07.2006 Beiträge: 18
Medaillen: Keine
|
Verfasst am: 23.07.2006, 23:15 Titel: |
|
|
gut,aber des klappt auch:
CPP: | #include <iostream>
using namespace std;
void Sprechhelferlein(char Buchstabe,int Ziffer)
{
bool Ergebnis ;
int Alter1 = 100;
int Alter2 = 100;
Ergebnis = Alter1 == Alter2 ;
cout << "Ich kann text ausgeben! Mein Lieblingsbuchstabe ist " << Buchstabe << Ziffer << "\n" << Ergebnis;
}
int main()
{
Sprechhelferlein('y',11);
cin.get();
return 0;
}
|
das heisst man kann absolut alles in dieser funktion (jaja,main ist auch eine^^) mach,was man in der hauptfunktion,main,machen kann ?
der Parameter ist,sozusagen nur zum weiterleiten an die main() funktion ???
ich mein man könnte das programm auch so schreiben und man bekommt , den vergleichswert der beiden personen:
CPP: | void Sprechhelferlein(int weiterleitung)
{
bool Ergebnis ;
int Alter1 = 100;
int Alter2 = 100;
Ergebnis = Alter1 == Alter2 ;
cout << "Ich kann text ausgeben! Mein Lieblingsbuchstabe ist " << weiterleitung<< "\n" << Ergebnis;
}
int main()
{
Sprechhelferlein(000);
cin.get();
return 0;
}
|
Und ich meine natürlich diesen Code und frage mich wo er hinführt :
CPP: | float RadiusEinlesen(void)
{
float Eingabe =0.0f;
cout << " Zahl eingeben";
cin >> Eingabe;
return Eingabe;
}
|
Wie ich sehe wird die Funktion nicht an die main() funktion geleitet und bleibt die ganze zeit in der RadiusEinlesen() funktion ?
Danke,die antworten dieser beiden Fragen sind echt wichtig für meine verständlichkeit  |
|
Nach oben |
|
 |
manu Super JLI'ler

Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 23.07.2006, 23:26 Titel: |
|
|
Also die main() Funktion ist der Einstiegspunkt für jedes Programm. Von der main() funktion aus rufst du andere Funktionen aus.
Mit dem return, wird eine Funktion veralssen und wieder dahin gesprungen, wo sie aufgerufen wurde...
Zitat: | der Parameter ist,sozusagen nur zum weiterleiten an die main() funktion ??? |
Nein. Wie du das mit dem weiterleiten meinst, verstehe ich irgendwie grad nicht.. Aber ich bin erhrlich gesagt nicht gut im Erklären und komme hier schon stark an meine Grenzen... Du solltest dich vielleicht einfach nochmal intensiv mit dem Variabeln Kapitel und mit dem Funktionen Kapitel beschäftigen... |
|
Nach oben |
|
 |
GreveN JLI Master

Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 23.07.2006, 23:36 Titel: |
|
|
Naja, du musst eine Funktion einfach als etwas Abstraktes begreifen, was aufgerufen wird (von einer anderen Funktion), dabei etwas erwartet (Parameter), anschließend etwas mit dem Übergebenen tut und schließlich das Ergebnis zurückgibt (Rückgabewert). Nun besteht ein C/C++-Programm generell nur aus Funktionen, und da Funktionen nur durch Funktionen aufgerufen werden können, werden wir irgendwo auf das Problem stoßen, "Wo wird eigentlich die erste Funktion aufgerufen?" Und an dieser Stelle kommt die 'main' ins Spiel, welche als einzige Funktion nicht explizit aufgerufen werden muss, sondern beim Start automatisch ausgeführt wird. |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 23.07.2006, 23:59 Titel: |
|
|
Zitat: | Und ich meine natürlich diesen Code und frage mich wo er hinführt :
CPP: | float RadiusEinlesen(void)
{
float Eingabe =0.0f;
cout << " Zahl eingeben";
cin >> Eingabe;
return Eingabe;
}
|
Wie ich sehe wird die Funktion nicht an die main() funktion geleitet und bleibt die ganze zeit in der RadiusEinlesen() funktion ? |
Der Rückgabewert ist das, was nach dem Aufruf der Funktion durch den Aufruf ersetzt wird. z.B:
CPP: | float RadiusEinlesen(void)
{
float Eingabe =0.0f;
cout << " Zahl eingeben";
cin >> Eingabe;
return Eingabe;
}
int main()
{
int zahl = RadiusEinlesen(); // Funktion wird aufgerufen und ausgeführt. Dadrin wird mit Hilfe von cin eine eingegebene Zahl in der Variable 'Eingabe' gespeichert. Damit man die eingegebene Zahl auch außerhalb verwenden kann ('Eingabe' ist nur in 'RadiusEinlesen' verfügbar) gibt die FUnktion den Wert, der in 'Eingabe' steht zurück. Genauer gesagt wird hier der Aufruf 'RadiusEinlesen()' durch den Wert in 'Eingabe' ersetzt. Nehmen wir an, der User gibt 0.3 ein. Dann würde theoretisch hier folgendes stehen:
// int zahl = 0.3; |
Gruß DXer |
|
Nach oben |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 02.08.2006, 22:44 Titel: |
|
|
Hm, ich würds so sagen:
Parameter sind Variablen die vom "Hauptprogramm" übergeben werden, aber nur inder Funktion genutzt werden können. Die Funktion benutzt sie um irgendwas damit zu tun, und evlt. das Ergebnis dann dem Hauptprogramm mit zuteilen. _________________ https://jonathank.de/games/ |
|
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
|