Ich lerne gerade in meiner Klasse über Top-Down-Programmierung in C, und ich kann irgendwie nicht den Dreh raus.C-Programmierung, Top-Down, Abfahrtszeit
Ich habe versucht, es durch diese Programmierung Übung zu lernen, wo Sie berechnen müssen, wenn jemand abhängig von ihrer Ankunftszeit (und Geschwindigkeit in km/h und Entfernung in km) verlassen sollte, aber ich habe etwas sehr, sehr getan falsch, da die Ausgabe irgendwo um vier Millionen liegt - immer.
Ich benutze das Buch Problemlösung und Programmdesign in C und das relevante Kapitel ist 3.5. Kann mir jemand sagen, was ich falsch gemacht habe? Kann jemand auch erklären, wie formale Parameter in einer Art ELI5 funktionieren?
#include <stdio.h>
#define MINUTES_IN_HOUR 60
int find_dprt_time(int diffhrs, int diffmin, int arvl_time, int trvl_time);
double find_trvl_time(int trvl_time, int distance, int speed, double result);
int main()
{
double distance;
int time,
speed,
diffmin,
diffhrs;
printf("Enter the time you need to arrive in military time:\n");
scanf("%d",&time);
printf("Enter the distance to your destination in kilometers:\n");
scanf("%lf",&distance);
printf("Enter the speed you plan to average in km/hr:\n");
scanf("%d",&speed);
printf("Your departure time is %d%d.\n",diffhrs,diffmin);
return 0;
}
int find_dprt_time(int diffhrs, int diffmin, int arvl_time, int trvl_time)
{
diffhrs = arvl_time/100 - trvl_time/100;
diffmin = arvl_time % 100 - trvl_time % 100;
return (diffhrs, diffmin);
}
double find_trvl_time(int trvl_time, int distance, int speed, double result)
{
result = distance/speed;
trvl_time = MINUTES_IN_HOUR * result;
return (trvl_time);
}
Willkommen bei Stack Overflow! Es klingt, als müssten Sie lernen, wie Sie einen Debugger verwenden, um durch Ihren Code zu gehen. Mit einem guten Debugger können Sie Ihr Programm Zeile für Zeile ausführen und sehen, wo es von dem, was Sie erwarten, abweicht. Dies ist ein essentielles Werkzeug, wenn Sie programmieren wollen. Weiterführende Literatur: [Wie kleine Programme zu debuggen] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs/). –
Sie rufen nie Ihre Berechnungsfunktionen auf, so dass Sie in den nicht initialisierten Variablen "diffhrs" und "diffmin" einen zufälligen Müll haben. – Robert