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
-
-
@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 Typint
. Deine Funktion gibt aber einfloat
zurück.