Funktionen
-
wenn du in eines der Tuts geguckt und es verstanden hast,
hier mal nen kleines beispiel.void calc_rechteck_umfang(void){ cout<<"bitte a und b einbegen\n": cin>>a; cin>>b; cout<<"der umfang ist: "<<2*a+2*b<<"\n"; return; }das ist nur ein einfaches beispiel und natürlich könnte man es in eine eingebefunktion und eine berechnungsfunktion und eine ausgabefunktion unterteile, oder so in der art.
Naja, in meinem beispiel könntest du nun für jede berehnung eine funktion schreiben.
und dann die main in etwas so umformen :int main(){ //blubb.. cin>>eingabe; siwtch(eingabe){ case 1 : calc_rechteckumfang();break; case 2 : calc_rechteck_flaeche();break; [...] default: cout<<"ungueligte einbabe\n";break; } return 0; }dann könntest du noch eine fuktion "init" oder so schreiben die dein ganzen anfangskram ausgibt.so wie
void init(){ cout<<"[1]Rechteck"<<endl; cout<<"[2]Parallelogramm"<<endl; cout<<"[3]Dreieck"<<endl; cout<<"[4]Trapez"<<endl; cout<<"[5]Kreis: Flaecheninhalt"<<endl; cout<<"[6]Kreisausschnit (Sektor)"<<endl; cout<<"[7]Quader"<<endl; cout<<"[8]Prisma(gerades)"<<endl; cout<<"[9]Zylinder"<<endl; cout<<"[10]Pyramide"<<endl; cout<<"[11]Kegel"<<endl; return; }die könntest du dann oben in der main aufrufen...
-
Gewöhn dir besser an Funktionen so zu schreiben:
int calcRectangleOutline(int width, int height) { return 2 * width + 2 * height; }- Schichtentrennung
- Kein Deutsch/Englisch MixUp
- Unterstriche in Funktionen sehen kagge aus
- Bin mir grad net sicher was Umfang auf Englisch heißt
-
ok danke. Aber habe s noch nicht ganz verstanden.
#include <iostream> using namespace std; int Add(int, int); //Reserviert er speicher für Add oder für Add(int, int)? int main() { int a,b; cout<<"Bitte 2 Zahlen eingeben\n"; cin>>a; cin>>b; cout<<"Die Summe von "<<a<<" und "<<b<<" ist "<<Add(a,b)<<".\n"; //Was bedeutet das \n und //add(a,b)? } int Add(int lhs, int rhs) //verstehe ich auch nicht. { return lhs + rhs; //verstehe ich auch nicht. }
-
Les ein Tutorial und wenn du das nicht verstehst kauf dir ein gutes Buch. Hier wird dir keiner die Grundlagen erklären.
-
Ist das ne Funkrtion?
float berechneKegelvolumen(float a,float b) { float A=a*b; return A; }; void main() { float radius; float hoehe; cout<<"Bitte geben Sie den Faktor a ein: "; cin>>radius; cout<<"Bitte geben Sie den Faktor b ein: "; cin>>hoehe; cout<<"Der Flächeninhalt betraegt: "<<A<<endl; };
-
Ja aber da sind noch paar Dinge falsch:
- Es heißt int main()
- Man braucht kein Semikolon nach Funktionsblöcken (nach dem })
- Lokale Variablen sind nur in ihrem Block gültig, d.h. die Funktion main kennt deine Variable A gar nicht. Jede Funktion kann aber eine Variable zurückgeben (das machst du ja mit return)
- Anstatt A auszugeben (was ja nicht geht) musst du die Funktion aufrufen, die dir dann den Wert zurück gibt: cout << berechneKegelvolumen(radius, hoehe);
-
FireFlow schrieb:
- Schichtentrennung
--hab ich doch gesagt, es sollte nur ein überblick sein,deswegen hab ich es zusammengepackt( steht aber auch dabei), aber natürlich stimmt es.- Kein Deutsch/Englisch MixUp
--wollte lediglich nicht guggen was umfang heisst ^^- Unterstriche in Funktionen sehen kagge aus
--Ist geschmackssache und mir gefällts.Und wenn man schon so schick beginnen will, dann kann man auch gleich auf const-correctness achten.
//edit gute Rechtschreibung ist selten ...
-
Also ich hab das jetzt etwas verendert.
ISt das nun richtig ?float berechneRechteckfläche(float a,float b) { float f=a*b; return f; } int main() { float Sa; float Sb; cout<<"Bitte geben Sie den Faktor a ein: "<<endl; cin>>Sa; cout<<"Bitte geben Sie den Faktor b ein: "<<endl; cin>>Sb; cout<<"Der Flächeninhalt betraegt: "<<berechneRechteckfläche(Sa ,Sb); }
-
umlaute sind nicht erlaubt,sonst siehts aus als wenn es geht.
Aber das müsstest du wissen. ich meine kompiliert der code ? macht er was zu erwarten is ?.. wenn ja, kannst du deine frage doch selbst beantworten.
-
Leider geht es nicht:
3: parse error before{' In functionint main()':
implicit declaration of functionint berechneRechteckflaeche(...)' At top level: 21: parse error before}'#include <iostream> { float berechneRechteckflaeche(float a,float b) { float f=a*b; return f; } int main() { float Seite_A; float Seite_B; cout<<"Bitte geben Sie den Faktor a ein: "<<endl; cin>>Seite_A; cout<<"Bitte geben Sie den Faktor b ein: "<<endl; cin>>Seite_B; cout<<"Der Flächeninhalt betraegt: "<<berechneRechteckflaeche(Seite_A, Seite_B); } };
-
#include <iostream> using namespace std; float berechneRechteckflaeche(float a,float b) { return a*b; } int main() { float Seite_A, Seite_B; cout<<"Bitte geben Sie den Faktor a ein: "<<endl; cin>>Seite_A; cout<<"Bitte geben Sie den Faktor b ein: "<<endl; cin>>Seite_B; cout<<"Der Flächeninhalt betraegt: "<<berechneRechteckflaeche(Seite_A,Seite_B); return EXIT_SUCCESS; }
-
Du solltest dir wirklich eien ordentlichen stil für einrückungen zulegen. So wie du es machst kannst du einfach nicht erkennen wo etwas anfängt und endet.
Ich machs so.#include <iostream> using namespace std; //{ zuviel float berechneRechteckflaeche(float a,float b) { float f=a*b; return f; } int main() { float Seite_A; float Seite_B; cout<<"Bitte geben Sie den Faktor a ein: "<<endl; cin>>Seite_A; cout<<"Bitte geben Sie den Faktor b ein: "<<endl; cin>>Seite_B; cout<<"Der Flächeninhalt betraegt: "<<berechneRechteckflaeche(Seite_A, Seite_B); return 0; } //}; auch zuvielKurt
-
GUt ich habe es nun verstanden
werde mein Programm nun neue schreiben.^^