Probleme mit Code (funktion und rückgabewert)
-
huhu, bin noch ein ziemlicher anfänger und habe momentan probleme mit Funktion und Rückgabewert... hier mein code:
#include <iostream> using namespace std; int berechnePunkte (int Punkte, int Restzeit, int Zeitfaktor); //hauptprogramm int main () { //variablen int Gesamtpunkte = 0; //punkte, die insgesamt erreicht wurden int Punkte = 0; //punkte bisher int Restzeit = 0; //restzeit in sekunden int Zeitfaktor = 0; //punktebonus pro sekunde //abfragen der benötigten werte cout << "Wie viele Punkte wurden bisher erreicht: "; cin >> Punkte; cout << "Restzeit in Sekunden: "; cin >> Restzeit; cout << "Punktebonus pro Sekunde: "; cin >> Zeitfaktor; //gesamtpunkte durch aufrufen der funktion berechnen Gesamtpunkte = berechnePunkte (Punkte, Restzeit, Zeitfaktor); //gesamtpunkte anzeigen cout << "\nInsgesamt wurden " << Gesamtpunkte; cout << " Punkte erreicht!" << endl; system ("PAUSE"); return 0; } //berechnePunkte int berechnePunkte (int Punkte, int Restzeit, int Zeitfaktor) { int Temp; //zwischenwert //berechnung der gesamtpunktzahl Temp = Punkte + Restzeit * Zeitfaktor; //rückgabe des ergebnisses return Temp; }Probleme: z.b. bei int berechnePunkte, wieso ist dahinter eine klammer mit ein paar variablen aus der main funktion?
wieso ist am ende der rückgabewert Temp
mehr fragen fallen mir gerade nicht ein. werde vlt. noch was hinzufügen falls mir was einfällt.
freue mich über ausführliche und gut erklärte, nette antworten

-
Die Variablen in der Klammer sind die parameter, die du übergibst.
Tip: Fang von vorne an und steig, wenn du C++ lernen willst, nicht mit Funktionen an. Hier im Forum gibt es auch einige Links für Anfänger. Wenn du es wirklich ernst meinst, ließ ein Buch. Zwei Empfehlungen: Der C++ Programmierer (Deutsch) oder C++ Primer Fifth Edition(Englisch, kommt am 10.8. raus). Beides jedoch keine einfache Lektüre, wenn man kein Wille zeigt, schafft man das nicht!
Abraten würde ich vor Büchern, die als einfach dargestellt werden, weil C++ ist nunmal nicht einfach mal so zu lernen, und Bücher wie C++ in 21 Tagen oder C++ von A-Z benutzen auch nicht aktuellen C++ Standard, bei letzterem weiß ich, dass sehr viel C benutzt wird, was definitiv NICHT empfohlen wird, außer du willst wirklich C lernen
-
Ich arbeite mit einem buch und jetzt bin ich beim kapitel wo es um Funktionen und rückgabewerte geht, aber das ist dort ziemlich grob besprochen bei dem teil.
-
In dem Buch muss doch stehen, was ein Rückgabewert oder Parameter ist? Welches Buch ist das?
-
NekoHiTsuna schrieb:
huhu, bin noch ein ziemlicher anfänger und habe momentan probleme mit Funktion und Rückgabewert... hier mein code:
...
Probleme: z.b. bei int berechnePunkte, wieso ist dahinter eine klammer mit ein paar variablen aus der main funktion?wieso ist am ende der rückgabewert Temp
mehr fragen fallen mir gerade nicht ein. werde vlt. noch was hinzufügen falls mir was einfällt.
freue mich über ausführliche und gut erklärte, nette antworten

kuckuck!
die namen der variablen(parameter) sind unwichtig und haben mit den namen aus der main funktion nichts zu tun.Temp ist kein rückgabewert, sondern eine variable vom typ int.
-
Hast du denn verstanden, was Variablen sind?
für die anderen, Google ist mein Freund, das Buch ist "C++ für Spieleprogrammierer"
-
Ich hab 2 Bücher, das eine habe ich aber gerade nicht da, das andere ist C++ für Spieleprogrammierer von Heiko Kalista (konzentriere mich gezielt auf Spiel programmierung deswegen dieses buch)
die themen sind dort schon angesprochen aber bei diesem kapitel ziemlich grob was sonst nie der fall ist.
naja, programmieren um 0 uhr ist jetzt auch nicht sonderlich gut zum denken xD
bin den ganzen tag schon am programmieren, seit gestern früh
-
Wenn du in die Spieleprogrammierung gehen willst, dann muss ich dich wohl noch nen Jährchen vertrösten, solange brauchst du, damit die Basics sitzen und man an Spieleprojeke überhaupt denken kann/darf.
Welches ist denn das andere Buch?
-
ich erwarte auch nicht dass ich danach spieleprogrammierung beherrschen werde, in dem buch wird ja auch kein spiel bzw. wenige programmiert. die basics werden dort erklärt und gleich so verwendet wie es in einem spiel sein könnte. (natürlich werden nur dinge benutzt die man sich zu dem zeitpunkt angeeignet hat mittels diesem buch)
das andere buch ist:
http://www.amazon.de/C-Programmierung-f%C3%BCr-Anf%C3%A4nger-ebook/dp/B0050YCP0Y/ref=sr_1_1?ie=UTF8&qid=1344382794&sr=8-1
-
NekoHiTsuna schrieb:
Ich hab 2 Bücher, das eine habe ich aber gerade nicht da, das andere ist C++ für Spieleprogrammierer von Heiko Kalista (konzentriere mich gezielt auf Spiel programmierung deswegen dieses buch)
die themen sind dort schon angesprochen aber bei diesem kapitel ziemlich grob was sonst nie der fall ist.
naja, programmieren um 0 uhr ist jetzt auch nicht sonderlich gut zum denken xD
bin den ganzen tag schon am programmieren, seit gestern früh
seit gestern früh, hey toll, dann ist ja doom 5 schon so gut wie fertig!

-
Auf jedenfall eine gute Sache, parallel mit 2 Büchern zu arbeiten, vorallem da das andere Buch, was du aufgeführt hast wirklich die totalen Basics vermittelt.
Trotzdem noch meine Frage, hast du denn Variablen etc. verstanden?
@b.b fängst du wieder nen Flamewar an? (Rethorische Frage, bitte keine Antwort)
-
@NekoHiTsuna:
btw. klappt das inzwischen mit dem prostata orgasmus?

@Cyres: was heißt hier wieder?!

(rhetorische antwort, nicht lesen, da keine antwort erwartet wurde)
-
hihi, kenne das spiel nicht

und damit meinte ich dass ich viele kleine programme erstellt habe um die dinge aus dem buch zu vertiefen. und dann kam halt dieses böse kapitel was für mich irgendwie ein problem darstellt <_<
-
NekoHiTsuna schrieb:
hihi, kenne das spiel nicht

und damit meinte ich dass ich viele kleine programme erstellt habe um die dinge aus dem buch zu vertiefen. und dann kam halt dieses böse kapitel was für mich irgendwie ein problem darstellt <_<du hast viele programme erstellt, ohne eine funktion zu benutzen, das ist geil!

alles in der main drin gewesen, wie?
-
1. b.b. deine beiträge sind teilweise wirklich sehr unnötig und verfehlen das thema

2. ja variablen habe ich verstanden. deklarieren, definieren... immer das selbe
-
du weist doch nichtmal was ich so gemacht habe <_<
-
NekoHiTsuna schrieb:
1. b.b. deine beiträge sind teilweise wirklich sehr unnötig und verfehlen das thema

sorry, hast recht, war gerade in nem anderen forum ...
NekoHiTsuna schrieb:
2. ja variablen habe ich verstanden. deklarieren, definieren... immer das selbe

ja, gut, dann kannst du dich ja jetzt an die funktionen wagen...

-
NekoHiTsuna schrieb:
du weist doch nichtmal was ich so gemacht habe <_<
da hast du recht. magst du sagen?
-
öhm, hab eigentlich zu jedem thema bei dem ich war etwas gemacht.
z.b. zu schleifen kleine programme (while,for,do_while)
-
Diese Variablen kannst du anderen Funktionen übergeben.
Einfache Funktionen haben immer die Syntax: *RÜCKGABETYP* *NAME* ( *PARAMETERLISTE*) { *CODEBLOCK*}. Die Parameterliste sind sogesehen wie Variablen: Typ + Name. Wenn du eine Funktion aufrufst, dann übergibst du ihr Parameter, du musst dann für die Parameter Variablen aus der Aufruferfunktion übergeben. In deinem Beispiel sind das zufällig die gleichen Namen, das ist aber nicht zwangsläufig so. Mit diesen Variablen kannst du innerhalb einer Funktion dann weiterrechnen. Außerdem hast du die Möglichkeit, dass eine Funktion einen Wert zurückgeben kann, in deinem Falle ein int. Temp ist bei dir einfach eine Variable und der Wert der Variable wird dann zurückgegeben an die main-Funktion und in die Variable "Gesamtpunkte" geschrieben.
Beim erneuten durchlesen fällt mir auf, dass das ziemlich abgehackt geschrieben ist, hoffe, ich konnte trotzdem helfen
-
NekoHiTsuna schrieb:
öhm, hab eigentlich zu jedem thema bei dem ich war etwas gemacht.
z.b. zu schleifen kleine programme (while,for,do_while)ok, das ist lobenswert, weiter so !!!