Eine Funktion im Array programmieren?



  • Hallo Leute,

    ich habe eine Frage zu meinem Programm.

    Eine meiner Funktionen heißt:
    float kraefte()
    {
    float kraft;
    printf("\nF Haben Sie eine einwirkende Kraft?: ");
    scanf("%f",&kraft);
    return kraft;
    }

    Ein Teil meines eigentliches Programms:
    int Anzahlkraefte;
    int i;
    int kraften[6];

    for(i=0;i<Anazhlkraefte;i++){
    kraft=kraefte();
    laengen=laenge();
    richtungen=richtung();
    schraege=schraegen();
    }

    Nur irgendwie funktioniert das nicht.
    Ich möchte damit bewirken, dass der Nutzer erstmal abgefragt wird, wie viele Kräfte er besitzt und dann soll jedes mal diese 4 Funktionen durchlaufen werden, wo auch die genannten Zahlen jeweils für die 4 Fälle abgespeichert werden, um mit diesen nachher Berechnungen durchzuführen.

    Könnt ihr mir weiter helfen?

    Viele Grüße



  • @caro1234

    Nur irgendwie funktioniert das nicht.

    Das bedeutet was?



  • @manni66

    Meine Funktion lautet:
    printf("\nGeben Sie die Anzahl der Kräfte ein!");
    fflush(stdin);
    scanf("%i",&Anzahlkraefte);

    for(i=0;i<Anzahlkraefte;i++){

    kraft=kraefte(i);
    laengen=laenge(i);
    richtungen=richtung(i);
    schraege=schraegen(i);
    getchar();
    

    Wenn ich jetzt bei Anzahl der Kräfte eine 3 eingebe, dann fragt er mich bei dem 1. Durchlauf alles ab und beim 2. und 3. Durchlauf kann ich keine Zahlen mehr eingeben.

    Funktioniert überhaupt eine Funktion in einem Array?



  • Jetzt sieht der Code ganz anders aus. Ein array wird in beiden Versionen nicht benutzt. Ich verstehe das Problem so nicht.

    Ich würde kraft[i] = kraefte(); erwarten, wenn kraft das Array ist.

    Du solltest dir ein anständiges C Buch kaufen.



  • Achte auch auf die Warnungen vom Compiler.

    Im ersten Post hast du ein Array int kraften[6];
    Das ist vom Typ int. Deine Funktion gibt aber ein float zurück.


Log in to reply