Funktionen



  • 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 function int 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 zuviel
    

    Kurt



  • GUt ich habe es nun verstanden 🙂 werde mein Programm nun neue schreiben.^^


Anmelden zum Antworten