#include <stdio.h>
#include <math.h>
#define G 9.81
typedef struct
{
double weight;
double drag;
double time;
} USER_INPUT;
double calculateVelocity(USER_INPUT);
int main(int argc, char **argv)
{
USER_INPUT userInput;
double velocity;
printf("Please enter weight, drag and time: ");
scanf("%lf %lf %lf", &userInput.weight, &userInput.drag, &userInput.time);
velocity = calculateVelocity(userInput);
printf("At t = %f , the parachutist with weight %d kg\nand a drag coefficient %8.2f kg/s \n will have a velocity of %8.2f m/s^2", &userInput.time, &userInput.weight, &userInput.drag, velocity);
return 0;
}
double calculateVelocity(USER_INPUT data)
{
double velocity;
// TODO compute velocity
return velocity;
}
In der Hauptfunktion möchte ich das Ergebnis anzeigen. Wie kann ich Variablen drucken, die in der Struktur definiert sind? Ich versuchte %f
, die 0.000000 zurückgibt, und %d
gibt eine Zufallszahl zurück.Wie man Variablen in einer Struktur druckt?
Aus dem Code, sehe ich, dass die variable Geschwindigkeit in keiner Weise berechnet oder zugewiesen wird. Sie erhalten 0,000, wenn Sie es mit% f und einen Müllwert drucken, wenn Sie es mit% d drucken. Können Sie Ihre Formel teilen, um die Geschwindigkeit zu berechnen? –
Benutze 'userInput.time, userInput.weight, ... etc.' vielleicht? Beachten Sie, dass Ihre 'calculateVelocity' einen unbestimmten Wert zurückgibt, dessen Ergebnis nicht definiert ist. – greatwolf