How do I rewrite the following code such that each output has it's own prompt (see desired outcome) - g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::string;
int main() {
cout << "Enter a numeric value followed by a unit abbreviation (km,mi): ";
double initial_value;
string initial_unit;
cin >> initial_value >> initial_unit;
double conversion_factor = {initial_value *1.609};
double conversion_factor2 = {initial_value /1.609};
std::string miles = "mi";
std::string kilometers = "km";
if (initial_unit == miles) {
cout << initial_value << " " << initial_unit << " "<< "is" << " " << conversion_factor << "\n" << "km";
}
if (initial_unit == kilometers) {
cout << initial_value << " " << initial_unit << " "<< "is" << " " << conversion_factor2 << "\n" << "mi";
}
else (initial_unit != kilometers, miles);
{
cout << "Unknown unit, please try again";
}
return 0;
}
Outcome I am getting:
Enter a numeric value followed by a unit abbreviation (km,mi): 10 mi
10 mi is 16.09
kmUnknown unit, please try again
Example of desired outcome:
Enter a numeric value followed by a unit abbreviation (km,mi):
10 mi
10 mi is 16.09 km
16.09 km
16.09 km is 10 mi
20000 leagues
Unknown unit, please try again
0.5 mi
0.5 mi is 0.8045 km