C++ Problem mit Funktion



  • Sobald du beim copy&paste Programm erstellen das 2.Mal in ein derselben Datei

    using namespace std;
    

    siehst hast du wahrscheinlich nicht richtig kopiert.

    So ist es auch hier.
    Es wurde auch schon geschrieben auf mehrere Dateien den Quelltext in deinem Projekt verteilen.

    Also mach das. Wenn du nicht weisst wie, schau in deine Unterlagen.



  • Ich lasse das Programm jetzt so laufen:

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int main()
    {
        char auswahl;
        int anzahl;
        const int index=20;
        double inputRAY[index];
    
        cout << "Praktikum 9 was geht ab\n"
            << "ich steh auf dummy texte.\n"
            << "A. Arraygroesse festlegen(folgt B).\n"
            << "B. Was geht ab Array eingabe.\n"
            << "C. Gib ma was aus.\n"
            << "D. Kopier mal digga.\n"
            << "E. Misch mal digga.\n";
        cin >> auswahl;
    
        switch (auswahl)
        {
        case 'a':
        case 'A':
            cout << "Wie groß soll dein Array sein?\n";
            cin >> anzahl;
    
        case 'B':
        case 'b':
            input(inputRAY,index,anzahl);
            cout << "eingabe abgeschlossen\n\n";
            cin.get();
            break;
    
        case 'C':
        case 'c':
            cout << "Dein Array soll ausgegeben werden? wichser...\n";
            output(inputRAY, anzahl);
            cout << "Zufrieden du wichser??\n";
    
        }
    
        return (0);
    }
    
    int output(double inputRAY[],int anzahl)
    {
        for (int zaehler=0; zaehler<anzahl; zaehler++)
        {
        cout << "Was geht ab digga an der stelle " << zaehler << endl
             << "im Array befindet sich die " << zaehler+1 << ". Zahl nämlich die:" <<endl
             << inputRAY[zaehler]<< endl << endl;
        }
        return (0);
    }
    
    double input(double array[], int, int);
    double output(double array[], int);
    

    Aber es wird immer noch nich ausgeführt , weisst du wo der Fehler liegt?

    Nur so ne nebenfrage du hast ja eigentlich schon die AUfgabe oder nur der rekursive Teil fehlt noch in dem Code?



  • Auch die Reihenfolge der Zeilen im Quelltext hat Sinn 😉

    Immer überlegen, kennt der Compiler die Sachen in den Zeilen schon, oder kommen die erst später? Wenn die später kommen sollen, wie sag ich das dem Compiler?



  • Hallo ich hab euch mal das programm ein wenig korriegiert , aber da scheint noch ein Fehler in Zeile 34 zu sein . Den entdecke ich allerdings nicht.

    Vielleicht kann dir jemand aus der Community helfen?
    Wobei mir persönlich der fehler auch interessieren würde.

    ABer ok.

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    double input(double array[], int, int);
    double output(double array[], int);
    int main()
    {
        char auswahl;
        int anzahl;
        const int index=20;
        double inputRAY[index];
    
        cout << "Praktikum 9 was geht ab\n"
            << "ich steh auf dummy texte.\n"
            << "A. Arraygroesse festlegen(folgt B).\n"
            << "B. Was geht ab Array eingabe.\n"
            << "C. Gib ma was aus.\n"
            << "D. Kopier mal digga.\n"
            << "E. Misch mal digga.\n";
        cin >> auswahl;
    
        switch (auswahl)
        {
        case 'a':
        case 'A':
            cout << "Wie groß soll dein Array sein?\n";
            cin >> anzahl;
    
        case 'B':
        case 'b':
            input(inputRAY,index,anzahl);
            cout << "eingabe abgeschlossen\n\n";
            cin.get();
            break;
    
        case 'C':
        case 'c':
            cout << "Dein Array soll ausgegeben werden? wichser...\n";
            output(inputRAY, anzahl);
            cout << "Zufrieden du wichser??\n";
    
        }
    


  • Tschuldigung das :

    return (0);
    }

    Hatte ich am ende vergessen.



  • Wie lautet die Fehlermeldung?

    Wenn vorhanden, die ersten 3 Fehlermeldungen des Compilers/Linkers hier zeigen.
    Oder sonst beschreiben welcher andere Fehler auftritt.

    Je besser diese Info, desto besser kann die Antwort ausfallen.

    Hat nix mit deinem Fehler zu tun. Aber eine Schleife um die Auswahl und das sieht schöner aus.



  • Die Fehlermeldung sieht so aus:

    undefined reference to `input(double*, int, int)'

    Gruß

    Experte



  • Hallo,

    die Funktion input wurde offensichtlich nicht mit kompiliert.

    MfG,

    Probe-Nutzer



  • Kannst du den fehler korrigieren oder jemand anderer?



  • Experte3e schrieb:

    Kannst du den fehler korrigieren oder jemand anderer?

    double input(double array[], int, int);
    

    ist nur die Deklaration (Welche Funktion gibt es?), die Definition (Was macht die Funktion?) fehlt aber komplett. Da musst du schon noch Code für schreiben.


Anmelden zum Antworten