Write a program that simulates an airplane race. The program will display a table showing the speed in km/hour and distance in km traveled by two airplanes every second until one of them has gone 10 kilometers.
These are the requirements for the program:
- The program will use a function that has the following parameters: time and acceleration.
- The function will pass back two data items: speed and distance.
- Us this formula to calculate speed: speed = time * acceleration;
(Where speed is in kilometers per second, time is in seconds, and acceleration is in meters per second2.)
- Use this formula for distance: distance = 0.5 * time * time * acceleration;
(Where distance is in kilometers)
- You don't need to ask for user input. You can just use constants for acceleration.(Use random values if you want to make the race more interesting.) The acceleration values should be between 5 and 25 meters per second2
- Do not use any global variables.
- Include a driver for testing the speed and distance function.
Hints:
- Think about pass by value vs. pass by reference when deciding how to pass a data item back in a function parameter.
- The speed calculated above is in km per second. In your table you need to display km per hour. The formula for conversion is: 1 km/h = 3600 * km/s.
- The distance calculated above is in meters. You need to display kilometers. 1 km =1000 * m.
Example Output
Here is an example where airplane A's acceleration is 5 m/s2,and airplane B's acceleration is 10 m/s2:
Time |
Airplane A |
Airplane A |
Airplane B |
Airplane B |
(seconds) |
Speed (km/h) |
Distance (km) |
Speed (km/h) |
Distance (km) |
1 |
18 |
0.0025 |
36 |
0.005 |
2 |
36 |
0.01 |
72 |
0.02 |
3 |
54 |
0.0225 |
108 |
0.045 |
4 |
72 |
0.04 |
144 |
0.08 |
5 |
90 |
0.0625 |
180 |
0.125 |
6 |
108 |
0.09 |
216 |
0.18 |
7 |
126 |
0.1225 |
252 |
0.245 |
8 |
144 |
0.16 |
288 |
0.32 |
9 |
162 |
0.2025 |
324 |
0.405 |
10 |
180 |
0.25 |
360 |
0.5 |
11 |
198 |
0.3025 |
396 |
0.605 |
12 |
216 |
0.36 |
432 |
0.72 |
13 |
234 |
0.4225 |
468 |
0.845 |
14 |
252 |
0.49 |
504 |
0.98 |
15 |
270 |
0.5625 |
540 |
1.125 |
16 |
288 |
0.64 |
576 |
1.28 |
17 |
306 |
0.7225 |
612 |
1.445 |
18 |
324 |
0.81 |
648 |
1.62 |
19 |
342 |
0.9025 |
684 |
1.805 |
20 |
360 |
1 |
720 |
2 |
Grading Criteria
This how you will be graded:
1. Write the prototype for the function.
2. Write the definition for the function.
3. Write a simple driver that tests the function with a time of 5 seconds.
4. Formatting and correct values in the table.