Funktionen
-
Also ich möchte gerne Funktionen benutzen ,weiß aber nicht wie.
kann ich einer Funktion in einer datei erstellen sie dann einbinden und dann einfach nur die funktion i-wo hinschreiben ?
void eingabe() { cout << "1. Zahl:" << endl; double number_one; cin >> number_one; cout << "2. Zahl:" << endl; double number_two; cin >> number_two; }Das wäre meine Funktion,wie kann ich das jetzt i-wo einbauen ohne alles überall nochmal hinzuschreiben ?

-
Die ganze Programmstruktur in C(++) baut auf Funktionen auf - beim Start des Programms landest du in der main()-Funktion (bzw. WinMain()), die wiederum andere Funktionen aufrufen kann. Im einfachsten Fall sieht das schon so aus:
//damit der Compiler cin und cout wiederfindet: #include <iostream> using namespace std; void eingabe() { //wie oben } int main() { eingabe(); return 0;//und dieser Befehl ist sogar optional ;) }Fertig ist ein vollwertiges Programm

Allerdings ist deine Funktion nicht wirklich sinnvoll - die liest zwei Werte ein und vergisst sie in dem Moment wieder, wo sie verlassen wird. Lies dir am besten mal ein Tutorial oder C++ Lehrbuch durch, dort steht sicher auch etwas zu Parametern und Rückgabewerten drin.
-
Dieser Thread wurde von Moderator/in CStoll aus dem Forum MFC (Visual C++) in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Nur für den Fall, dass er das jetzt copy+paste und kompilieren will. CStoll hat sich oben vertippt, es heiszt include und nicht inlude (sry, is echt nur, da ein Anfänger vielleicht gerne mal als funktionnierend angegebenen Code kopiert und damit rumspielt)
Nach Edit kann dieser Beitrag auch gerne wieder gelöscht werden.
-
Shinja schrieb:
Nur für den Fall, dass er das jetzt copy+paste und kompilieren will. CStoll hat sich oben vertippt, es heiszt include und nicht inlude
Es ist immer wieder schön zu sehen, wieviele Korrekturleser mir hinterherräumen

-
Was anderes als hinterherräumen geht ja nicht. Vor dir posten schafft man sowieso nicht.
-
also kann ich
eingabe(); return 0;schreiben und ich hab diese eingabe der 2. zahlen nur 1. mal geschrieben?
Wofür steht "return 0"?

___________________________________________________
Ja Shinja hat recht ich kopier mir gerne mal als anfänger einen code zum probieren ^^ .

-
Shinja schrieb:
Was anderes als hinterherräumen geht ja nicht. Vor dir posten schafft man sowieso nicht.
Klar kannst du das - mußt dich nur etwas anstrengen

Summernoon schrieb:
also kann ich
eingabe(); return 0;schreiben und ich hab diese eingabe der 2. zahlen nur 1. mal geschrieben?
Ja, kannst du - aber wie gesagt ist deine Funktion an sich nicht sehr sinnvoll

Wofür steht "return 0"?
Allgemein: Das gibt den Wert 0 an denjenigen zurück, der die aktuelle Funktion aufgerufen hat. In diesem speziellen Fall (main()) ist das dein Betriebssystem, das den Wert als Fehlercode übergeben bekommt (und 0 steht für "alles in Ordnung")
-
Wie Shinja sagte: Lies ein Tutorial, Buch, irgendwas über C++!
int main() ist eine Funktion mit dem Namen main, die keine Parameter nimmt und int zurückgibt.
int = Integer = engl. für Ganzzahl
Die Funktion main() kann einen Integer-Wert zurückgeben.
Es ist üblich 0 für keinen Fehler zurückzugeben, ansonsten irgendeinen Fehlercode.// edit: zu spät
Gruß
Don06
-
ich hab ja nen buch über C++,aber das ist für den einstieg und holt nicht sehr weit
aus.Ich habe mir ein kleines programm überlegt was ich verwirklichen will um zu üben, üben, üben.Jedoch kann/konnte ich noch nicht alles.Z.B. einen buchstaben einlesen usw.// Wofür steht jetzt return ,auf deutsch?
-
auf Deutsch "kehre zurück". Die Anweisung beendet die aktuelle Funktion und gibt eventuell einen Wert an den Aufrufer zurück:
int eingabe() { cout<<"Bitte Zahl eingeben"<<endl; int zahl; cin>>zahl; return zahl;//gibt den eingegeben Wert zurück } int main() { int i=eingabe();//fängt den Rückgabewert von eingabe() ab und packt ihn in die Variable i return 0;//beendet das Programm und gibt 0 an das Betriebssystem zurück }
-
OT: HA, ich wurde mit CStoll verwechselt! Juhu.
EDIT: ich schreibs dann aber auch nochmal (DON06 kann in die Zukunft sehen):
Du findest auf www.c-plusplus.net einige Online Tutorials, wie z.B das von www.volkard.de oder www.schoernbeck.de (ist letzteres richtig geschrieben?) Nimm die mal der Reihe nach durch.
-
Aber dann wäre "i" ja vom typ "int" ich bräuchte aber "double".
wie ?

-
Wenn du ein double brauchst, ersetzt du das int einfach durch double. also..
double eingabe() // Das double hier gibt an, dass die Funktion per { // return ein double zurück gibt cout<<"Bitte Zahl eingeben"<<endl; double zahl; cin>>zahl; return zahl;//gibt den eingegeben Wert zurück } int main() { double d=eingabe();//fängt den Rückgabewert von eingabe() ab und packt ihn in die Variable d return 0;//beendet das Programm und gibt 0 an das Betriebssystem zurück }
-
könnte ich eigentlich im programm den datentyp ändern ?

-
Was meinst du? Wie "im programm" ? Wurde doch eben gezeigt: dort, wo früher "int" stand, steht jetzt einfach "double"... Wo gibt es denn noch probleme?
-
CStoll schrieb:
auf Deutsch "kehre zurück". Die Anweisung beendet die aktuelle Funktion und gibt eventuell einen Wert an den Aufrufer zurück:
int eingabe() { cout<<"Bitte Zahl eingeben"<<endl; int zahl; cin>>zahl; return zahl;//gibt den eingegeben Wert zurück } int main() { int i=eingabe();//fängt den Rückgabewert von eingabe() ab und packt ihn in die Variable i return 0;//beendet das Programm und gibt 0 an das Betriebssystem zurück }wobei ein 'return' nicht immer am ende der funktion stehen muss...

char *greater_than_10 (int a) { if (a > 10) return "yes"; return "no"; }
-
Das habe ich ganz vergessen zu fragen.
ich hab ja nen buch über C++,aber das ist für den einstieg und holt nicht sehr weit
aus.Ich habe mir ein kleines programm überlegt was ich verwirklichen will um zu üben, üben, üben.Jedoch kann/konnte ich noch nicht alles.Z.B. einen buchstaben einlesen usw.Was für ein Buch ist das denn? Ich kenne nicht ein einziges Buch, eigentlich nicht mal ein Tutorial, in dem nur so wenig drin steht. Gerade das einlesen von Werten ist doch nach dem "Hello World"-Programm das Erste was kommt.
-
Stimmt, ist mir auch aufgefallen...
Ein buch mit nur einer einzigen seite sollte man imho besser als "zettel" bezeichnen
-
Einstieg in Visual C++ 2005 von Andre Willms | vom Galileo Computing Verlag
und wehe da kommt noch son ******* post

:p
-
Summernoon schrieb:
Einstieg in Visual C++ 2005 von Andre Willms | vom Galileo Computing Verlag
Das bestätigt mal wieder meine Meinung, dass die Bücher von Galileo Computing allesamt Schrott sind.