超市会员管理系统C++课程设计源代码

时间: 2023-07-11 21:46:45 浏览: 61
很抱歉,我无法提供完整的超市会员管理系统C++课程设计源代码,因为这是一个需要根据具体需求和功能实现的项目。但是,以下是一个简单的参考代码,供您参考。 ```cpp #include <iostream> #include <fstream> #include <sstream> #include <string> #include <vector> class Member { private: std::string m_number; //会员编号 std::string m_name; //会员姓名 std::string m_phone; //会员手机号 int m_points; //会员积分 public: Member(std::string number = "", std::string name = "", std::string phone = "", int points = 0) : m_number(number), m_name(name), m_phone(phone), m_points(points) {} void setNumber(std::string number) { m_number = number; } std::string getNumber() const { return m_number; } void setName(std::string name) { m_name = name; } std::string getName() const { return m_name; } void setPhone(std::string phone) { m_phone = phone; } std::string getPhone() const { return m_phone; } void setPoints(int points) { m_points = points; } int getPoints() const { return m_points; } std::string toString() const { std::stringstream ss; ss << m_number << "," << m_name << "," << m_phone << "," << m_points; return ss.str(); } }; class MemberManager { private: std::vector<Member> m_members; //会员列表 public: void addMember(Member member) { m_members.push_back(member); } Member* findMember(std::string number) { for (int i = 0; i < m_members.size(); i++) { if (m_members[i].getNumber() == number) { return &m_members[i]; } } return nullptr; } void updateMember(Member member) { Member* pMember = findMember(member.getNumber()); if (pMember != nullptr) { *pMember = member; } } void deleteMember(std::string number) { for (auto iter = m_members.begin(); iter != m_members.end(); iter++) { if (iter->getNumber() == number) { m_members.erase(iter); return; } } } int getMemberCount() const { return m_members.size(); } Member* getMember(int index) { return &m_members[index]; } }; void saveMembers(MemberManager& manager, std::string filename) { std::ofstream outFile(filename); for (int i = 0; i < manager.getMemberCount(); i++) { Member* pMember = manager.getMember(i); outFile << pMember->toString() << std::endl; } outFile.close(); } void loadMembers(MemberManager& manager, std::string filename) { std::ifstream inFile(filename); std::string line; while (std::getline(inFile, line)) { std::istringstream iss(line); std::string number, name, phone; int points; std::getline(std::getline(std::getline(iss, number, ','), name, ','), phone, ',') >> points; manager.addMember(Member(number, name, phone, points)); } inFile.close(); } void displayMenu() { std::cout << "======================" << std::endl; std::cout << "超市会员管理系统" << std::endl; std::cout << "1. 添加会员" << std::endl; std::cout << "2. 查询会员" << std::endl; std::cout << "3. 修改会员" << std::endl; std::cout << "4. 删除会员" << std::endl; std::cout << "5. 显示所有会员" << std::endl; std::cout << "6. 保存会员信息" << std::endl; std::cout << "7. 加载会员信息" << std::endl; std::cout << "0. 退出系统" << std::endl; std::cout << "======================" << std::endl; std::cout << "请选择操作:"; } void addMember(MemberManager& manager) { std::string number, name, phone; int points; std::cout << "请输入会员编号:"; std::getline(std::cin, number); std::cout << "请输入会员姓名:"; std::getline(std::cin, name); std::cout << "请输入会员手机号:"; std::getline(std::cin, phone); std::cout << "请输入会员积分:"; std::cin >> points; std::cin.ignore(); manager.addMember(Member(number, name, phone, points)); std::cout << "会员添加成功!" << std::endl; } void findMember(MemberManager& manager) { std::string number; std::cout << "请输入会员编号:"; std::getline(std::cin, number); Member* pMember = manager.findMember(number); if (pMember != nullptr) { std::cout << "会员信息如下:" << std::endl; std::cout << "编号:" << pMember->getNumber() << std::endl; std::cout << "姓名:" << pMember->getName() << std::endl; std::cout << "手机号:" << pMember->getPhone() << std::endl; std::cout << "积分:" << pMember->getPoints() << std::endl; } else { std::cout << "没有找到该会员!" << std::endl; } } void updateMember(MemberManager& manager) { std::string number, name, phone; int points; std::cout << "请输入会员编号:"; std::getline(std::cin, number); Member* pMember = manager.findMember(number); if (pMember != nullptr) { std::cout << "请输入新的会员姓名(留空表示不修改):"; std::getline(std::cin, name); if (!name.empty()) { pMember->setName(name); } std::cout << "请输入新的会员手机号(留空表示不修改):"; std::getline(std::cin, phone); if (!phone.empty()) { pMember->setPhone(phone); } std::cout << "请输入新的会员积分(留空表示不修改):"; std::cin >> points; std::cin.ignore(); if (points != 0) { pMember->setPoints(points); } std::cout << "会员信息修改成功!" << std::endl; } else { std::cout << "没有找到该会员!" << std::endl; } } void deleteMember(MemberManager& manager) { std::string number; std::cout << "请输入会员编号:"; std::getline(std::cin, number); manager.deleteMember(number); std::cout << "会员删除成功!" << std::endl; } void displayMembers(MemberManager& manager) { std::cout << "会员列表如下:" << std::endl; for (int i = 0; i < manager.getMemberCount(); i++) { Member* pMember = manager.getMember(i); std::cout << "编号:" << pMember->getNumber() << ","; std::cout << "姓名:" << pMember->getName() << ","; std::cout << "手机号:" << pMember->getPhone() << ","; std::cout << "积分:" << pMember->getPoints() << std::endl; } } void saveMembersToFile(MemberManager& manager) { std::string filename; std::cout << "请输入文件名:"; std::getline(std::cin, filename); saveMembers(manager, filename); std::cout << "会员信息保存成功!" << std::endl; } void loadMembersFromFile(MemberManager& manager) { std::string filename; std::cout << "请输入文件名:"; std::getline(std::cin, filename); loadMembers(manager, filename); std::cout << "会员信息加载成功!" << std::endl; } int main() { MemberManager manager; int choice = -1; while (choice != 0) { displayMenu(); std::cin >> choice; std::cin.ignore(); switch (choice) { case 1: addMember(manager); break; case 2: findMember(manager); break; case 3: updateMember(manager); break; case 4: deleteMember(manager); break; case 5: displayMembers(manager); break; case 6: saveMembersToFile(manager); break; case 7: loadMembersFromFile(manager); break; case 0: std::cout << "感谢使用超市会员管理系统!" << std::endl; break; default: std::cout << "无效的选择,请重新选择!" << std::endl; break; } } return 0; } ``` 这个程序实现了一个简单的超市会员管理系统,包括添加、查询、修改、删除、显示所有会员、保存会员信息和加载会员信息等功能。您可以根据具体需求和功能进行修改和完善。

相关推荐

最新推荐

recommend-type

学籍管理系统源代码 c++.docx

为了学校更加高效,快捷,方便的管理学生信息,并实现以下功能: (1)对学生信息进行录入:先输入学生的学籍,然后输入学生姓名,年龄,性别,籍贯,系别,专业,班级等,最后输入学生状态(入学)。 (2)对已录取...
recommend-type

大学C++课程设计图书馆管理系统源代码

学C++的看过来,你肯定会有一个课程设计,头大吧,我也是。这份代码是我脱发想出来的,可以运行,老师点评过,很OK,希望能帮到你,毕竟当时我满网找都没找见合适的。
recommend-type

诊所信息管理系统C++课程设计报告.doc

模拟诊所信息管理系统就是对存储患者信息以及医生信息在个人PC上的编程实现。本系统采用了用户身份的注册、登陆、增加信息、查询信息、帐单信息以及统计所有患者的总费用等功能。并分析在现实生活中遇到的问题并得到...
recommend-type

汽车租赁信息管理系统源代码 c++.docx

一、为了方便公司管理各种型号的车辆,并实现以下功能: (1)对车辆进行租赁:先输入车牌号,然后输入车辆类别、品牌型号,并在库存中查找该车辆的相关信息,并进行租车。 (2)添加新的车辆信息:主要完成车辆信息...
recommend-type

C++学校人员信息管理系统课程设计.doc

一个用C++写的学校人员管理系统,适合大一大二的课程设计,里面运用到了链表、文件读写等一些C++基本语法操作
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB图像处理算法宝典:从理论到实战

![MATLAB图像处理算法宝典:从理论到实战](https://img-blog.csdnimg.cn/20200717112736401.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2d1emhhbzk5MDE=,size_16,color_FFFFFF,t_70) # 1. MATLAB图像处理基础理论 MATLAB图像处理是一种利用MATLAB编程语言进行图像处理的强大工具。它提供了丰富的函数和工具箱,用于图像获取、增强、分
recommend-type

matlab中1/x的非线性规划

在MATLAB中,可以使用非线性规划函数(`fmincon`)来优化一个包含1/x的非线性目标函数。下面是一个简单的例子: ```matlab % 定义目标函数 fun = @(x) 1/x; % 定义约束函数(这里没有约束) nonlcon = []; % 定义初始点 x0 = 1; % 定义优化选项 options = optimoptions('fmincon', 'Display', 'iter'); % 进行非线性规划 [x, fval] = fmincon(fun, x0, [], [], [], [], [], [], nonlcon, options); ``` 在
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。