C++ Program to Convert Kilometers to Miles
You can convert kilometers to miles in C++ by multiplying the kilometers value by
0.621371. For example, use miles = kilometers * 0.621371; to get the miles equivalent.Examples
Input0
Output0 kilometers is 0 miles
Input5
Output5 kilometers is 3.10686 miles
Input100
Output100 kilometers is 62.1371 miles
How to Think About It
To convert kilometers to miles, understand that 1 kilometer equals approximately 0.621371 miles. So, multiply the input kilometers by 0.621371 to get miles. Then display the result.
Algorithm
1
Get the distance in kilometers from the user2
Multiply the kilometers by 0.621371 to convert to miles3
Display the miles value to the userCode
cpp
#include <iostream> using namespace std; int main() { double kilometers, miles; cout << "Enter distance in kilometers: "; cin >> kilometers; miles = kilometers * 0.621371; cout << kilometers << " kilometers is " << miles << " miles" << endl; return 0; }
Output
Enter distance in kilometers: 5
5 kilometers is 3.10686 miles
Dry Run
Let's trace the input 5 kilometers through the code
1
Input kilometers
User enters 5, so kilometers = 5
2
Calculate miles
miles = 5 * 0.621371 = 3.106855
3
Output result
Prints '5 kilometers is 3.10686 miles'
| kilometers | miles |
|---|---|
| 5 | 3.106855 |
Why This Works
Step 1: Conversion factor
We use 0.621371 because 1 kilometer equals approximately 0.621371 miles.
Step 2: Multiplication
Multiplying kilometers by the conversion factor gives the equivalent miles.
Step 3: Display output
The program prints the original kilometers and the converted miles for clarity.
Alternative Approaches
Using a function
cpp
#include <iostream>
using namespace std;
double kmToMiles(double km) {
return km * 0.621371;
}
int main() {
double km;
cout << "Enter kilometers: ";
cin >> km;
cout << km << " kilometers is " << kmToMiles(km) << " miles" << endl;
return 0;
}This approach separates conversion logic into a function for reuse and clarity.
Using constant variable
cpp
#include <iostream> using namespace std; int main() { const double KM_TO_MILES = 0.621371; double km, miles; cout << "Enter km: "; cin >> km; miles = km * KM_TO_MILES; cout << km << " km = " << miles << " miles" << endl; return 0; }
Using a constant improves readability and makes it easy to update the conversion factor.
Complexity: O(1) time, O(1) space
Time Complexity
The program performs a single multiplication and input/output operations, so it runs in constant time.
Space Complexity
Only a few variables are used, so the space used is constant.
Which Approach is Fastest?
All approaches run in constant time; using a function or constant variable mainly improves code clarity, not speed.
| Approach | Time | Space | Best For |
|---|---|---|---|
| Direct multiplication | O(1) | O(1) | Simple quick conversion |
| Function | O(1) | O(1) | Reusable code and clarity |
| Constant variable | O(1) | O(1) | Readability and easy updates |
Always use a constant for the conversion factor to avoid magic numbers in your code.
Beginners often forget to use the correct conversion factor or multiply in the wrong direction.