公交卡类售票管理系统C++

实现公交车卡类售票管理。当输入为“老年卡、“学生卡”和“普通卡”时显示不
同的卡类及购票金额(“老年卡”购票金额=原价*50%、“学生卡”购票金额=原价“60%、“普通卡”
购票金额=原价“95%)。

@CSDN-Ada助手

稍等这个有现成的,下次这种课题可以现在csdn论坛里搜索的

img

#include <iostream>
#include <string>
using namespace std;

int main() {
    string card_type;
    double price, discount, total_price;

    cout << "请输入车票原价和卡类型(老年卡、学生卡、普通卡):" << endl;
    cin >> price >> card_type;

    if (card_type == "老年卡") {
        discount = 0.5;
    } else if (card_type == "学生卡") {
        discount = 0.6;
    } else if (card_type == "普通卡") {
        discount = 0.95;
    } else {
        cout << "无效的卡类型" << endl;
        return 0;
    }

    total_price = price * discount;
    cout << "购票金额为:" << total_price << " 元" << endl;

    return 0;
}


是要构建class类吗,购票金额是赋值还是输入,还是说输出字符串““老年卡”购票金额=原价*50%”

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    标题:如何使用C++实现公交卡售票管理系统?

    内容:

    要实现公交卡售票管理系统,可以按照以下步骤进行:

    1. 定义卡类型枚举

    首先,我们需要定义一个卡类型的枚举,包括老年卡、学生卡和普通卡。

    enum CardType {
      ElderlyCard,
      StudentCard,
      NormalCard
    };
    
    1. 对输入进行处理

    接下来,我们需要对用户输入进行处理,比如判断卡类型和购票金额,可以使用类似以下的代码:

    CardType cardType;
    float originalPrice, price;
    
    cout << "请输入卡的类型(ElderlyCard/StudentCard/NormalCard): ";
    string input;
    cin >> input;
    
    // 根据输入判断卡类型
    if (input == "ElderlyCard") {
      cardType = ElderlyCard;
    } else if (input == "StudentCard") {
      cardType = StudentCard;
    } else if (input == "NormalCard") {
      cardType = NormalCard;
    } else {
      cout << "输入无效!" << endl;
      return 1;
    }
    
    cout << "请输入购票金额: ";
    cin >> originalPrice;
    
    1. 计算购票金额

    计算购票金额的方法根据卡类型不同也有所区别,我们可以使用条件语句分别处理。

    switch (cardType) {
      case ElderlyCard:
        price = originalPrice * 0.5;
        break;
      case StudentCard:
        price = originalPrice * 0.6;
        break;
      case NormalCard:
        price = originalPrice * 0.95;
        break;
      default:
        cout << "输入无效!" << endl;
        return 1;
    }
    
    cout << "应付金额为:" << price << " 元" << endl;
    

    完整代码如下(含有输入输出提示信息):

    #include <iostream>
    
    using namespace std;
    
    enum CardType {
      ElderlyCard,
      StudentCard,
      NormalCard
    };
    
    int main() {
      CardType cardType;
      float originalPrice, price;
    
      cout << "请输入卡的类型(ElderlyCard/StudentCard/NormalCard): ";
      string input;
      cin >> input;
    
      // 根据输入判断卡类型
      if (input == "ElderlyCard") {
        cardType = ElderlyCard;
      } else if (input == "StudentCard") {
        cardType = StudentCard;
      } else if (input == "NormalCard") {
        cardType = NormalCard;
      } else {
        cout << "输入无效!" << endl;
        return 1;
      }
    
      cout << "请输入购票金额: ";
      cin >> originalPrice;
    
      switch (cardType) {
        case ElderlyCard:
          price = originalPrice * 0.5;
          break;
        case StudentCard:
          price = originalPrice * 0.6;
          break;
        case NormalCard:
          price = originalPrice * 0.95;
          break;
        default:
          cout << "输入无效!" << endl;
          return 1;
      }
    
      cout << "应付金额为:" << price << " 元" << endl;
    
      return 0;
    }
    

    输入输出示例:

    请输入卡的类型(ElderlyCard/StudentCard/NormalCard): ElderlyCard
    请输入购票金额: 20
    应付金额为:10 元
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^