C++实现会员管理程序

让我详细讲解一下C++实现会员管理程序的完整攻略。首先需要确保已经安装好编译器,如Dev C++或Code::Blocks等。

步骤1:设计类

会员管理程序需要设计一个会员类,可以包含以下成员变量:

  • 姓名
  • 身份证号
  • 电话号码
  • 邮箱
  • 注册时间

并且还需要实现以下成员函数:

  • 构造函数
  • 获取姓名、身份证号、电话号码、邮箱、注册时间的函数
  • 设置姓名、身份证号、电话号码、邮箱、注册时间的函数
  • 进行信息的输出的函数

步骤2:设计主函数

主函数中包含以下几个部分:

(1)初始化

在程序开始执行时,从文件或数据库中读取会员信息并且初始化。可以使用STL中的vector容器来存储会员对象。

(2)菜单

用户可以选择以下操作:

  • 添加会员
  • 删除会员
  • 修改会员信息
  • 查询会员信息
  • 显示所有会员信息
  • 退出程序

(3)对应操作函数

  • 添加会员:输入会员信息并将其存储到vector中
  • 删除会员:输入要删除的会员的身份证号,删除对应的会员信息
  • 修改会员信息:输入要修改的会员的身份证号,根据用户输入修改对应的会员信息
  • 查询会员信息:输入要查询的会员的身份证号,输出对应的会员信息
  • 显示所有会员信息:遍历vector,依次输出每个会员的信息

步骤3:实现代码

以下是一段示例代码:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

class Member {
private:
    string name;
    string idCard;
    string phone;
    string email;
    string regTime;
public:
    Member(string n, string id, string p, string e, string rt);
    string getName();
    string getIdCard();
    string getPhone();
    string getEmail();
    string getRegTime();
    void setName(string n);
    void setIdCard(string id);
    void setPhone(string p);
    void setEmail(string e);
    void setRegTime(string rt);
    void printMemberInfo();
};

Member::Member(string n, string id, string p, string e, string rt) {
    name = n;
    idCard = id;
    phone = p;
    email = e;
    regTime = rt;
}

string Member::getName() {
    return name;
}

string Member::getIdCard() {
    return idCard;
}

string Member::getPhone() {
    return phone;
}

string Member::getEmail() {
    return email;
}

string Member::getRegTime() {
    return regTime;
}

void Member::setName(string n) {
    name = n;
}

void Member::setIdCard(string id) {
    idCard = id;
}

void Member::setPhone(string p) {
    phone = p;
}

void Member::setEmail(string e) {
    email = e;
}

void Member::setRegTime(string rt) {
    regTime = rt;
}

void Member::printMemberInfo() {
    cout << "姓名:" << name << endl;
    cout << "身份证号:" << idCard << endl;
    cout << "电话号码:" << phone << endl;
    cout << "邮箱:" << email << endl;
    cout << "注册时间:" << regTime << endl;
}

int main() {
    vector<Member> members;
    string name, idCard, phone, email, regTime;
    int op = 0;

    while (op != 6) {
        cout << "请选择操作:" << endl;
        cout << "1. 添加会员" << endl;
        cout << "2. 删除会员" << endl;
        cout << "3. 修改会员信息" << endl;
        cout << "4. 查询会员信息" << endl;
        cout << "5. 显示所有会员信息" << endl;
        cout << "6. 退出程序" << endl;

        cin >> op;

        switch (op) {
            case 1: {
                cout << "请输入会员信息:" << endl;
                cout << "姓名:";
                cin >> name;
                cout << "身份证号:";
                cin >> idCard;
                cout << "电话号码:";
                cin >> phone;
                cout << "邮箱:";
                cin >> email;
                cout << "注册时间:";
                cin >> regTime;

                Member member(name, idCard, phone, email, regTime);
                members.push_back(member);
                cout << "添加成功!" << endl;
                break;
            }
            case 2: {
                cout << "请输入要删除的会员的身份证号:" << endl;
                cin >> idCard;

                for (int i = 0; i < members.size(); i++) {
                    if (members[i].getIdCard() == idCard) {
                        members.erase(members.begin() + i);
                        cout << "删除成功!" << endl;
                        break;
                    }
                }
                break;
            }
            case 3: {
                cout << "请输入要修改的会员的身份证号:" << endl;
                cin >> idCard;

                for (int i = 0; i < members.size(); i++) {
                    if (members[i].getIdCard() == idCard) {
                        cout << "请输入新的会员信息:" << endl;
                        cout << "姓名:";
                        cin >> name;
                        cout << "电话号码:";
                        cin >> phone;
                        cout << "邮箱:";
                        cin >> email;
                        cout << "注册时间:";
                        cin >> regTime;

                        members[i].setName(name);
                        members[i].setPhone(phone);
                        members[i].setEmail(email);
                        members[i].setRegTime(regTime);
                        cout << "修改成功!" << endl;
                        break;
                    }
                }
                break;
            }
            case 4: {
                cout << "请输入要查询的会员的身份证号:" << endl;
                cin >> idCard;

                for (int i = 0; i < members.size(); i++) {
                    if (members[i].getIdCard() == idCard) {
                        members[i].printMemberInfo();
                        break;
                    }
                }
                break;
            }
            case 5: {
                for (int i = 0; i < members.size(); i++) {
                    members[i].printMemberInfo();
                    cout << endl;
                }
                break;
            }
            case 6: {
                cout << "谢谢使用!" << endl;
                break;
            }
            default: {
                cout << "输入错误,请重新输入!" << endl;
                break;
            }
        }
    }

    return 0;
}

在上述示例代码中,我们定义了Member类,并使用了vector容器来存储会员对象。在主函数中,我们实现了菜单和相应的操作函数。用户可以通过操作菜单来进行添加、删除、修改、查询和显示所有会员信息的操作。

例如,我们可以先添加两个会员:

请输入会员信息:
姓名:张三
身份证号:1234567890123456
电话号码:13800000000
邮箱:zhangsan@qq.com
注册时间:2022-01-01
添加成功!

请输入会员信息:
姓名:李四
身份证号:2345678901234567
电话号码:13900000000
邮箱:lisi@qq.com
注册时间:2022-01-02
添加成功!

然后再查询一个会员信息:

请输入要查询的会员的身份证号:
2345678901234567
姓名:李四
身份证号:2345678901234567
电话号码:13900000000
邮箱:lisi@qq.com
注册时间:2022-01-02

以上就是C++实现会员管理程序的完整攻略,希望可以对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++实现会员管理程序 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • C语言 strncpy()函数

    下面是关于 C 语言中 strncpy() 函数的详细使用攻略: 一、函数简介 strncpy() 函数是 C 语言中的字符串复制函数,它可以复制指定长度的字符串,并返回目标字符串地址。 函数原型如下: char* strncpy(char* dest, const char* src, size_t n); 参数说明:- dest:目标字符串,拷贝后的字符…

    C 2023年5月9日
    00
  • Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)

    下面是详细的攻略: 1. SQLite简介 SQLite是一种轻型的关系型数据库,它以文件形式存储数据,适合在移动端和嵌入式设备上使用。SQLite支持多种编程语言,包括Python。 2. Python读取和处理SQLite数据文件 安装sqlite3模块 Python中自带了sqlite3模块,只需要在命令行中执行以下语句即可: import sqlit…

    C 2023年5月23日
    00
  • Asp.net开发常用的51个非常实用的代码

    “Asp.net开发常用的51个非常实用的代码”是一篇介绍Asp.net开发中常用代码的文章,其中包括了一些在实际开发中非常有用的代码片段。下面我将为大家详细讲解完整攻略: 1. 文章概述 本文将介绍Asp.net开发常用的51个实用的代码,包括以下主题:- 数据操作- 字符串操作- 文件操作- XML操作- JSON操作 每个主题下都有几个非常实用的代码片…

    C 2023年5月23日
    00
  • C++ 实现2048游戏示例

    C++ 实现2048游戏示例攻略 1. 简介 2048是一个深受欢迎的数字游戏,我们可以使用C++语言实现这个游戏。在本文中,我们将深入了解如何用C++实现一个完整的2048游戏。 2. 程序设计思路 我们可以使用C++语言中的面向对象思想来实现2048游戏。对于每个数字方块,可以定义一个方块类,类中包含了每个方块所需要的数据和方法。每个方块都有自己的数字数…

    C 2023年5月23日
    00
  • 推荐几款C/C++的编译器、编译环境(非常全面的比较)

    下面我来为您详细讲解关于“推荐几款C/C++的编译器、编译环境”的攻略。 1. 概述 随着计算机技术的不断发展,C/C++语言在各行各业中越来越广泛的应用。而编写C/C++程序需要用到一款高质量的编译器以确保程序的稳定性和性能。在本篇攻略中,我们将为大家介绍几款C/C++编译器,并涵盖它们的优点和缺点,旨在为读者提供参考。 2. C/C++编译器比较 2.1…

    C 2023年5月23日
    00
  • ASP.NET MVC异常过滤器用法

    当ASP.NET MVC应用程序中出现未处理的异常时,我们可以使用异常过滤器(Exception Filter)来在异常发生时捕获异常并做出相应的处理。 以下是如何使用异常过滤器的完整攻略: 1. 创建异常过滤器 首先,我们需要创建一个异常过滤器,它是一个实现了IExceptionFilter接口的类。在该类中,我们实现了OnException方法,并在其中…

    C 2023年5月22日
    00
  • 详解C标准库堆内存函数

    详解C标准库堆内存函数 C标准库提供了多个函数来操作内存堆。其中,堆分配函数可以动态地分配内存空间,并返回指向堆中该内存区域的指针。堆管理函数可以释放先前分配的堆内存空间,或者调整已分配空间的大小。 堆分配函数: 1. malloc函数 malloc函数(Memory ALLOCation)可以动态地分配指定数量的字节空间,并返回该空间的首地址。函数原型如下…

    C 2023年5月24日
    00
  • 解析C++哈夫曼树编码和译码的实现

    解析C++哈夫曼树编码和译码的实现 前言 哈夫曼树是一种经典的数据结构,常用于数据压缩和编解码等场景。其中,哈夫曼树的编码和译码是哈夫曼编码最核心的两个操作。 本篇文章将详细讲解如何使用C++实现哈夫曼树的编码和译码,包括以下内容: 哈夫曼树的构建 哈夫曼编码的生成 哈夫曼编码的压缩 哈夫曼编码的解压 哈夫曼树的构建 哈夫曼树的构建需要先计算出每个字符出现的…

    C 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部