Mehrere Funktionen



  • hallo,

    könnt ihr mir eventuell bitte eine Seite zu einem Thema "Mehrere Funktionen" geben?
    Bzw. selber ein bisschen bitte erklären?

    Ich verstehe ja wie eine Funktion aufgebaut ist,aber ich weiß nicht,wann ich eine zweite Funktion verwenden sollte, denn wenn,dann treten immer Fehlermeldungen auf wie "Lokale Funktion" oder ähnliches -.-

    Als Beispiel:

    //main.cpp
    #include <iostream>
    #include "he.h"
    int main()
    {
        int zahly = 4, zahlx = 7;
        function2(zahly, zahlx);
        return 0;
    
    //he.h
    
    //...
    
    void function2(int zahl1, int zahl2)
    {
        for(int zaehler1 = zahl1, zaehler2 = zahl2; zaehler1 != 10, zaehler2 != 10;     ++zaehler1, ++zaehler2)
    {
        if(zaehler1 == 10)
    {
        std::cout<<"Stop. Zahl1 war schneller"<<std::endl;
        break;
    }   else if(zaehler2 == 10)
    {
        std::cout<<"... Zahl2 war schneller"<<std::endl;
        break;
    } else {
        std::cout<<"Suche weiter ... "<<std::endl;
    }
    }
    

    Nun ist meine Frage, ob dieser Code erstmals korrekt sein würde(mein PC is dawei mit dem Compiler defekt^^) und zweitens wo ich da noch ne zweite Funktion einbauen könnte 😕

    Mit freundlichen Grüßen,
    Vista



  • Hallo,

    mit Hilfe von Einheiten (Klassen, Modulen, Funktionen ö.Ä.) trennst du dein Projekt in kleine Teile, mit dem Ziel Kopplungen zu anderen Klassen zu vermeiden und eine möglichst starke Kohäsion zu gewinnen, sodass dein Projekt übersichtlich und wartbar wird. Ferner ist ein ganz wichtiger Punkt die Wiederverwendbarkeit von Einheiten. Vgl. Open-Closed-Prinzip und das Liskovsche Substitutionsprinzip.

    Grüße Martin



  • Hmm ... dein Code ist nur nicht sinnvoll 😉 Bei so geringen Werte (bzw. so wenigen Durchläufen), wird da einfach nur direkt 3x "Suche weiter ..." ausgegeben und dann direkt wer schneller ist ...

    void function2(const int zahl1, const int zahl2)
    {
        if (zahl1 == zahl2)
            std::cout << "Beide Zahlen sind identisch!" << std::endl;
        else
            std::cout << (zahl1 > zahl2 ? "1" : "2") << " ist größer!" << std::endl;
    }
    

Anmelden zum Antworten