C++ C++;临时Uber应用程序
正如标题所说,这应该是一个临时的Uber类应用程序,它向用户询问他们的姓名、要去哪里、要走多远,并计算旅行费用。在过去的一个小时里,我一直在做最后两个函数,我不太确定教授要我做什么。这一点,我也不确定我是否在正确的轨道上。对于最后两个功能,“双倍计算票价”和“无效共享票价信息”,我的说明如下: 在main()中,要求用户输入其全名。使用如下所示的代码接受带空格的字符串。getline()是一个可从iostream获得的函数。你不需要——也不应该尝试——去创造它。 在main()中,要求用户输入其目的地。目的地将作为完整街道名称输入。由于街道地址将包含空格,请使用与步骤1中给出的代码类似的代码 在main()中,询问用户目的地是否在城市范围内。(在真实场景中,GPS地图软件将能够根据目的地地址确定这一点。由于我们没有这种能力,我们只需询问用户即可) 在main()中,要求用户输入车费的距离。(在真实场景中,GPS地图软件将能够根据目的地地址确定这一点。由于我们没有这种能力,我们只需询问用户即可) 创建一个函数计算票价(双倍距离)。此功能将按如下方式计算票价:2英里以内的距离固定为10美元$超过2英里至5英里的距离为每英里2.50美元,外加5.00美元的固定金额。任何超过5英里的车辆将按每英里3.50美元收费。返回基于上述费率表的票价金额 创建功能计算车费(双倍距离,双倍附加费)。此函数在步骤5中调用calc_fare()函数,并返回一个值,将附加费添加到结果票价中 创建一个函数calc_fare(双倍距离,布尔本地)。如果“本地”为真,则表示票价在城市范围内。如果local为false,则表示车费超出城市限制,在这种情况下,车费将额外增加50美元的附加费。根据local的值,在该函数中调用步骤5中的calc_fare()和步骤6中的calc_fare()。请注意,步骤5-7中给出的函数是calc_fare()函数的重载版本 本质上,我们在本练习中所做的是创建calc_fare()函数并用驱动程序调用它们。驱动程序没有双关语,因为这是一个驾驶模拟,基本上是手动执行功能,以测试它们是否正常工作或正确计算。calc_fare()函数的输入值由用户手动输入以进行测试。在函数的实际用例中,将使用GPS映射库调用确定的距离来调用这些函数 创建一个名为show_fare_info的函数(字符串名称、字符串目的地、双倍票价、bool local=true)。此功能将根据以前的用户输入向用户显示信息。此功能显示信息;此函数最好使用哪种返回类型?从main()调用此函数以显示最终输出。此函数根据局部变量给出不同的消息 对不起,这是一堵文字墙,但说明比我能说的更清楚 到目前为止我的代码:C++ C++;临时Uber应用程序,c++,C++,正如标题所说,这应该是一个临时的Uber类应用程序,它向用户询问他们的姓名、要去哪里、要走多远,并计算旅行费用。在过去的一个小时里,我一直在做最后两个函数,我不太确定教授要我做什么。这一点,我也不确定我是否在正确的轨道上。对于最后两个功能,“双倍计算票价”和“无效共享票价信息”,我的说明如下: 在main()中,要求用户输入其全名。使用如下所示的代码接受带空格的字符串。getline()是一个可从iostream获得的函数。你不需要——也不应该尝试——去创造它。 在main()中,要求用户输入其
double calc_fare(double distance);
double calc_fare(double distance, double surcharge);
double calc_fare(double distance, bool local);
void show_fare_info(string fullname, string destination, double fare, bool local = true);
int main()
{
string fullname, destination;
double distance;
char local;
cout << "Please enter your full name: ";
getline(cin, fullname);
cout << "Please enter your desired destination: ";
getline(cin, destination);
cout << "How far away is this destination from you? ";
getline(cin, distance);
cout << "Is your location within city limits (y/n)? :";
cin >> local;
if(local == 'y' || local == 'Y')
{
fare = calc_fare(distance, true);
show_fare_info(fullname, destination, fare);
}
else if(local == 'n' || local == 'N')
{
fare = calc_fare(distance, false);
show_fare_info(fullname, destination, fare, false);
}
return 0;
}
double calc_fare(double distance)
{
int fare;
if (distance <= 2)
{
fare = 10;
}
else if (distance <= 5 && distance >= 2)
{
fare = (distance * 2.50) + 10;
}
else if (distance > 5)
{
fare = (distance * 3.50) + 10;
}
return fare;
}
double calc_fare(double distance, double surcharge)
{
surcharge = 50;
if (distance == false)
{
fare = fare + surcharge;
}
return fare;
}
double calc_fare(double distance, bool local)
{
}
void show_fare_info(string fullname, string destination, double fare, bool local = true)
{
}
双倍计程车费(双倍距离);
双倍计程车费(双倍距离,双倍附加费);
双倍计程车费(双倍距离,本地);
无效显示票价信息(字符串全名、字符串目的地、双倍票价、bool local=true);
int main()
{
字符串全名,目的地;
双倍距离;
局部字符;
cout以下是您应该如何实现计算票价()
:
对于最后一个函数,您应该首先调用calc\u fare()
来计算票价,并将该值传递给该函数。show\u fare\u info()
应该只打印参数,不计算任何内容。distance==false
?想象下面的对话:人员A:“图书馆有多远?”人员B:“没有。”这对您有意义吗?再次阅读“计算车费(双倍距离,双倍附加费)”的描述,并将其与您的实现进行比较。您遇到了什么问题?您没有说明您遇到的问题或错误。
double calc_fare(double distance, double surcharge)
{
return calc_fare(distance) + surcharge;
}
double calc_fare(double distance, bool local)
{
if (local) {
return calc_fare(distance);
}
else {
// Add $50 surcharge when outside city limits
return calc_fare(distance, 50);
}
}