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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-05 19:37:17       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-05 19:37:17       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-05 19:37:17       82 阅读
  4. Python语言-面向对象

    2024-06-05 19:37:17       91 阅读

热门阅读

  1. Python笔记 - *args和**kwargs

    2024-06-05 19:37:17       32 阅读
  2. linux笔记

    2024-06-05 19:37:17       31 阅读
  3. 【C语言从入门到入土】第一章前言

    2024-06-05 19:37:17       29 阅读
  4. 洛谷 P8741 [蓝桥杯 2021 省 B] 填空问题 题解

    2024-06-05 19:37:17       33 阅读
  5. 2024华为OD机试真题-机场航班调度-C++(C卷D卷)

    2024-06-05 19:37:17       27 阅读
  6. 【学习笔记】TypeScript

    2024-06-05 19:37:17       23 阅读
  7. 力扣283题:移动零(快慢指针)

    2024-06-05 19:37:17       35 阅读
  8. for循环

    2024-06-05 19:37:17       31 阅读
  9. 智能网联汽车翻译

    2024-06-05 19:37:17       18 阅读