在 C++ 中出现多个提示的问题

问题描述 投票:0回答:0

如何重写以下代码,使每个输出都有自己的提示(查看期望的结果)- 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;
}

我得到的结果:

Enter a numeric value followed by a unit abbreviation (km,mi): > 10 mi
10 mi is 16.09
kmUnknown unit, please try again

期望结果的例子:

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
c++ if-statement cin cout
© www.soinside.com 2019 - 2024. All rights reserved.