c++面向对象超市会员管理系统
时间: 2023-10-06 14:08:54 浏览: 93
好的,这个项目需要实现一个超市会员管理系统,主要功能包括:
1. 会员注册:用户可以通过输入个人信息完成会员注册;
2. 会员登录:已注册用户可以通过输入用户名和密码登录;
3. 查看个人信息:用户可以查看自己的个人信息;
4. 修改个人信息:用户可以修改自己的个人信息;
5. 积分查询:用户可以查询自己的积分;
6. 积分兑换:用户可以将积分兑换成相应的礼品;
7. 退出登录:用户可以退出登录。
下面是一个简单的实现:
```cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 会员类
class Member {
public:
Member(string name, string password, string phone, int score)
: m_name(name), m_password(password), m_phone(phone), m_score(score) {}
// 获取会员名
string getName() const { return m_name; }
// 获取积分
int getScore() const { return m_score; }
// 修改个人信息
void updateInfo(string name, string password, string phone) {
m_name = name;
m_password = password;
m_phone = phone;
}
// 积分兑换礼品
void exchange(int score) {
m_score -= score;
cout << "兑换成功!" << endl;
}
private:
string m_name; // 会员名
string m_password; // 密码
string m_phone; // 手机号码
int m_score; // 积分
};
// 超市会员管理系统类
class MemberSystem {
public:
// 添加会员
void addMember() {
string name, password, phone;
cout << "请输入用户名:";
cin >> name;
cout << "请输入密码:";
cin >> password;
cout << "请输入手机号码:";
cin >> phone;
m_members.push_back(Member(name, password, phone, 0));
cout << "注册成功!" << endl;
}
// 会员登录
Member* login() {
string name, password;
cout << "请输入用户名:";
cin >> name;
cout << "请输入密码:";
cin >> password;
for (int i = 0; i < m_members.size(); i++) {
if (m_members[i].getName() == name && m_members[i].getPassword() == password) {
cout << "登录成功!" << endl;
return &m_members[i];
}
}
cout << "用户名或密码错误!" << endl;
return nullptr;
}
// 查看个人信息
void viewInfo(Member* member) {
cout << "用户名:" << member->getName() << endl;
cout << "手机号码:" << member->getPhone() << endl;
cout << "积分:" << member->getScore() << endl;
}
// 修改个人信息
void updateInfo(Member* member) {
string name, password, phone;
cout << "请输入新的用户名:";
cin >> name;
cout << "请输入新的密码:";
cin >> password;
cout << "请输入新的手机号码:";
cin >> phone;
member->updateInfo(name, password, phone);
cout << "修改成功!" << endl;
}
// 积分查询
void viewScore(Member* member) {
cout << "您的积分为:" << member->getScore() << endl;
}
// 积分兑换礼品
void exchange(Member* member) {
int score;
cout << "请输入要兑换的积分数:";
cin >> score;
if (score > member->getScore()) {
cout << "积分不够!" << endl;
} else {
member->exchange(score);
}
}
private:
vector<Member> m_members; // 会员列表
};
int main() {
MemberSystem system;
Member* currentMember = nullptr;
int choice;
while (true) {
cout << "请选择操作:" << endl;
cout << "1. 注册" << endl;
cout << "2. 登录" << endl;
cout << "3. 查看个人信息" << endl;
cout << "4. 修改个人信息" << endl;
cout << "5. 积分查询" << endl;
cout << "6. 积分兑换" << endl;
cout << "7. 退出登录" << endl;
cout << "请选择:";
cin >> choice;
switch (choice) {
case 1:
system.addMember();
break;
case 2:
currentMember = system.login();
break;
case 3:
if (currentMember != nullptr) {
system.viewInfo(currentMember);
} else {
cout << "请先登录!" << endl;
}
break;
case 4:
if (currentMember != nullptr) {
system.updateInfo(currentMember);
} else {
cout << "请先登录!" << endl;
}
break;
case 5:
if (currentMember != nullptr) {
system.viewScore(currentMember);
} else {
cout << "请先登录!" << endl;
}
break;
case 6:
if (currentMember != nullptr) {
system.exchange(currentMember);
} else {
cout << "请先登录!" << endl;
}
break;
case 7:
currentMember = nullptr;
cout << "退出登录成功!" << endl;
break;
default:
cout << "无效的选择,请重新输入!" << endl;
break;
}
}
return 0;
}
```
这个程序使用了面向对象的设计思想,将会员和超市会员管理系统分别封装成了类,并通过类的成员函数实现了各个功能。主程序中通过循环实现了不断接受用户输入的功能菜单,根据用户选择调用不同的成员函数来完成相应的操作。
阅读全文