C++ C++;临时Uber应用程序

C++ C++;临时Uber应用程序,c++,C++,正如标题所说,这应该是一个临时的Uber类应用程序,它向用户询问他们的姓名、要去哪里、要走多远,并计算旅行费用。在过去的一个小时里,我一直在做最后两个函数,我不太确定教授要我做什么。这一点,我也不确定我是否在正确的轨道上。对于最后两个功能,“双倍计算票价”和“无效共享票价信息”,我的说明如下: 在main()中,要求用户输入其全名。使用如下所示的代码接受带空格的字符串。getline()是一个可从iostream获得的函数。你不需要——也不应该尝试——去创造它。 在main()中,要求用户输入其

正如标题所说,这应该是一个临时的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()调用此函数以显示最终输出。此函数根据局部变量给出不同的消息

对不起,这是一堵文字墙,但说明比我能说的更清楚

到目前为止我的代码:

 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);
    }
}