ich verpflichtet bin, vollständig den folgenden Code zu verstehen:Schwierigkeiten zu verstehen, wie die Elemente einer bestimmten Funktion Arbeit
#include <iostream>
using namespace std;
double area(double length, double width);
double time(double p_area, double h_area, double mow_rate);
int main() {
double d_plot_length, d_plot_width, d_home_side, d_mow_rate;
double plot_area, home_area, time_taken;
// I've used double for all of these to get the most precise values possible, something I'd only really consider doing on small programmes such as this
cout << "What is the length of the plot? In meters please." << endl;
cin >> d_plot_length;
cout << "What is the width of the plot? In meters please." << endl;
cin >> d_plot_width;
cout<< "What is the size of the side of the house? In meters please." << endl;
cin >> d_home_side;
cout << "What is the rate at which you are going to be mowing? In meters per minute please" << endl;
cin >> d_mow_rate;
// Just getting all the data I need from the user
plot_area = area(d_plot_length, d_plot_width);
home_area = area(d_home_side, d_home_side);
time_taken = time(plot_area, home_area, d_mow_rate);
cout << "It will take " << time_taken << " minutes to mow this lawn. Better get cracking" << endl;
return 0;
}
double area(double length, double width) {
double value;
value = length * width;
return value;
}
double time(double p_area, double h_area, double mow_rate) {
double value;
value = (p_area - h_area)/mow_rate;
return value;
}
ich kämpfen, um zu verstehen, wie die time()
Funktion funktioniert.
Bisher Ich verstehe, dass:
time_taken
, dessen Wert von der time()
Funktion bekommt: time(plot_area, home_area, d_mow_rate)
.
Die Funktion time()
erhält ihre Werte aus der Funktionsdeklaration am unteren Rand.
double time(double p_area, double h_area, double mow_rate) {
double value;
value = (p_area - h_area)/mow_rate;
return value;
}
Allerdings ist dies, wo ich feststecke. Der Benutzer wird aufgefordert, Werte für d_plot_length
, d_plot_width
usw. einzugeben. So kann ich nicht verstehen, wie der Compiler weiß, was diese Werte p_area
und h_area
tatsächlich sind.
Ich weiß, dass irgendwie die area()
Funktion die time()
Funktion zur Unterstützung verwendet wird, aber soweit ich weiß die Variablen P_area
usw. innerhalb der time()
Funktion haben keine Werte zugewiesen.
Bitte kann jemand die Lücken in meinem Verständnis ausfüllen.
Um genauer zu sein, möchte ich genau wissen, wie time_taken
auf dem Bildschirm angezeigt wird, vom Anfang des Prozesses bis cout
. Wie gesagt, ich kenne die meisten Bereiche, aber nicht alle.
Parameter innerhalb der Funktion Körper haben Werte übergeben als Argumente im Funktionsaufruf. Wenn Sie 'time (plot_area, home_area, d_mow_rate) aufrufen, wird die Funktion' time' mit 'p_area' ausgeführt, die den Wert von' plot_area' haben, 'h_area' den Wert von' home_area' und so weiter. –
Danke, das macht viel Sinn! –