-
Krümelmonster
Funktionen (Erklärung nötig)
So, mein nächster Threat im C/ C++ Forum.
Ich bin jetzt bei den Funktionen angelangt.
Definition ist alles kein Problem usw, aber ich hab mit dem Beispiel im Tutorial Probleme.
int Funktion(int i); // Funktionsdeklaration
int main(void) // Hauptfunktion
{
//Anweisungen
}
int Funktion(int i) //Funktionskopf
{ //Funktionsrumpf Anfang
int z = i * 100;
return z;
} //Funktionsrumpf Ende
Wieso genau return z?
So, dann die Ausgabe. Das Bsp. im Tutorial wäre folgendes.
int main(void)
{
int u = 5;
int a = Funktion(u); //5 wird an i übergeben
Scheint mir etwas umständlich. Wieso zuerst int u = 5 ? Kann man der Funktion nicht gleich einen Wert zuweisen?
Dann kommt hier nochmal ein Bsp. in einem Kontext.
#include <iostream>
using namespace std;
int f1(int a, int b);
int f2(int a, int c);
int main(void)
{
int q = 10, w = 20;
cout << "f1(10, 20) ergibt: " << f1(10, 20);
cout << "\nf1( q, w) ergibt: " << f1( q, w);
cout << "\nf1(20, 10) ergibt: " << f1(20, 10);
cout << "\nf2(10, 20) ergibt: " << f2(10, 20);
cout << "\nf2( q, w) ergibt: " << f2( q, w);
cout << "\nf2(42, 19) ergibt: " << f2(42, 19);
cin >> q;
return 0;
}
int f1(int a, int b)
{
a *= ++b;
a %= ++b;
return a;
}
int f2(int a, int c)
{
int b = a * c;
return b;
}
Und da blicke ich eben echt nicht durch.
z.B. cout << "f1(10, 20) ergibt: " << f1(10, 20);
Wo genau wird denn da die Funktion ausgegeben?
Vll. kann sich jmd. etwas Zeit nehmen und mir dazu ein paar Erklärungen geben.
mfg
-
-
Besserwisser
1. Weil z verändert wurde und wieder ausgegeben wird
2. Dann wäre die Funktion unnötig, weil das Ergebnis bekannt ist. Es geht darum, dass eine Variable an eine Funktion übergeben wird. Hier ist es 5 als BEISPIEL.
-
-
Krümelmonster
Und was ist jetzt mit cout << "f1(10, 20) ergibt: " << f1(10, 20); ?
Wo wird da die Funktion f1 ausgegeben?
//EDIT:
Also, ich hab je folgenen Code:
#include <iostream>
using namespace std;
int FunktionA(int a); // Funktionsdeklaration
int main(void) // Hauptfunktion
{
int u;
cin >> u;
int o = FunktionA(u);
cout << "\n Ergebnis: " << FunktionA(z); //Hier versuche ich mir das Ergebnis der Funktion mit cout ausgeben zu lassen. Geht nicht. Klar, Variable z ist in main nicht zugeteilt.
cout << '\n'
<< '\n';
system("PAUSE");
}
int FunktionA(int a) //Funktionskopf
{
int z = a * 129;
return z;
}
Meine Frage an dem Punkt:
Wie kann ich mir das Ergebnis einer funktion ausgeben lassen?
Geändert von Nur4mon (22.07.2009 um 20:34 Uhr)
-
-
Besserwisser
Ich bin nie SO weit gekommen XD
ich fang erst in ca. 1 Monat wieder mit dem Lernen an ^^
-
-
Krümelmonster
Na dann^^
Ich hab gestern mit C++ angefangen, bisher lief alles ganz gut. aber mit den Funktionen habe ich Probleme bzw. sie lassen sich nicht so leicht lernen (finde ich).
-
-
Anfänger
cout << "f1(10, 20) ergibt: " << f1(10, 20);
Hier wird zunächst "f1(10, 20) ergibt: " ausgegeben weil das ist Anführungszeichen steht. und dann anschliesend das Ergebnis der Funktion "f1" mit den beiden Parametern 10 und 20.
-
-
Krümelmonster
Okey...
Und was mache ich in meinem Code falsch? Wie kann ich mir int z ausgeben lassen um es mit cout darzustellen oder einfach damit weiter rechnen zu können?
-
-
-a.k.a. EAX.Style-
-
-
Krümelmonster
-
-
Der mit Anatidaephobie
int k = 'fnA';
Ergibt keinen Sinn...
Wo hast du das bitte her?
PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
please do feed the trolls crew and elk
Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
"Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^
-
Stichworte
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln