c++会员消费积分系统

这段代码实现了一个简单的会员卡管理系统,具有以下功能:

会员开卡:用户可以输入会员的姓名和会员编号,系统将创建新的会员卡并记录相关信息。
消费积分:用户可以输入会员编号和消费积分,系统会根据会员编号找到对应的会员并累计其积分。
消费折扣优惠:系统根据会员的积分等级,提供不同程度的折扣优惠。
查询:用户可以查询会员的信息,包括姓名、会员编号、积分和累计折扣金额。
会员退卡:用户可以输入要退卡的会员编号,系统将删除该会员的会员卡记录。
通过这些功能,用户可以方便地管理会员卡,记录会员的消费情况,并根据积分等级提供相应的折扣优惠。

这段代码是一个简单的会员卡管理系统的实现,采用了面向对象的思想。让我逐步解读:

头文件引入和命名空间声明:首先引入了必要的头文件,包括iostream(输入输出流)、vector(向量容器)、string(字符串)、map(映射容器),然后使用了using namespace std;声明使用std命名空间,避免在代码中频繁写std::。

定义结构体Member:定义了一个名为Member的结构体,包含会员的姓名、会员编号和积分三个属性。

定义类MembershipCard:定义了一个名为MembershipCard的类,用于管理会员卡。

私有成员变量:

vector members;:存储会员信息的容器,使用vector存储多个会员的信息。
map<int, double> discountLevels;:存储不同积分级别对应的折扣比例,使用map存储积分和对应折扣的键值对。
公有成员函数:

MembershipCard():构造函数,初始化折扣比例,假设了几个不同积分级别对应的折扣比例。
void createMember(string name, int memberId):会员开卡,创建新的会员卡并记录会员信息。
void spendPoints(int memberId, int pointsSpent):会员消费积分,根据会员编号累计会员积分。
double calculateDiscount(int memberId):计算会员消费时的折扣比例。
void queryMember(int memberId):查询会员信息,输出会员的姓名、会员编号、积分和累计折扣金额。
void deleteMember(int memberId):会员退卡,删除会员卡记录。
主函数main():主函数中使用了一个while循环,使程序能够持续运行,直到用户选择退出。在每次循环迭代中,用户可以选择进行会员开卡、消费积分、查询会员信息、会员退卡或退出程序等操作。根据用户的选择,调用相应的MembershipCard类的成员函数来完成操作。

先看效果 vx:sredxc

在这里插入图片描述

int main() {
    MembershipCard membershipCard;

    bool isRunning = true;
    while (isRunning) {
        int choice;
        cout << "请选择操作:" << endl;
        cout << "1. 会员开卡" << endl;
        cout << "2. 消费积分" << endl;
        cout << "3. 查询会员信息" << endl;
        cout << "4. 会员退卡" << endl;
        cout << "5. 退出程序" << endl;
        cout << "请输入操作编号:";
        cin >> choice;

        switch (choice) {
        case 1: {
            string name;
            int memberId;
            cout << "请输入会员姓名:";
            cin >> name;
            cout << "请输入会员编号:";
            cin >> memberId;
            membershipCard.createMember(name, memberId);
            break;
        }
        case 2: {
            int memberId;
            int pointsSpent;
            cout << "请输入会员编号:";
            cin >> memberId;
            cout << "请输入消费积分:";
            cin >> pointsSpent;
            membershipCard.spendPoints(memberId, pointsSpent);
            break;
        }
        case 3: {
            int memberId;
            cout << "请输入会员编号:";
            cin >> memberId;
            membershipCard.queryMember(memberId);
            break;
        }
        case 4: {
            int memberId;
            cout << "请输入要退卡的会员编号:";
            cin >> memberId;
            membershipCard.deleteMember(memberId);
            break;
        }
        case 5: {
            isRunning = false;
            break;
        }
        default: {
            cout << "无效操作,请重新输入!" << endl;
            break;
        }
        }
    }

    return 0;
}

部分代码如图,需要完整代码 vx:sredxc

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值