一个头两个大啊 2024-04-09 21:23 采纳率: 0%
浏览 14

求微信卡包会员卡开发

求协助或帮助开发个自用的带付款自动积分功能的会员卡。开发完成必另加重谢

  • 写回答

5条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-04-09 21:23
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题描述: 需要开发一个自用的带付款自动积分功能的会员卡系统。 解决方案: 1.设计数据库: 会员信息表:
    • id:会员ID
    • username:用户名
    • password:密码
    • balance:余额
    • point:积分 交易记录表:
    • id:交易ID
    • member_id:会员ID
    • amount:付款金额
    • point:获得积分
    • time:交易时间 2.设计程序逻辑:
    • 用户注册登录,完成付款,付款成功后自动更新用户的余额和积分,同时将交易记录存入交易记录表中。
    • 用户查询时显示当前余额和积分,以及交易记录。 案例: 例如,用户A注册会员卡,付款500元,同时获得500积分,余额和积分分别为500元和500分。之后他再次付款200元,同时获得200积分,余额和积分分别为700元和700分。他可以随时查询自己的余额和积分以及交易记录。 代码实现: 以下是用Python实现的会员卡系统代码:
    # 导入相关库
    import sqlite3
    # 连接数据库
    conn = sqlite3.connect('membership.db')
    # 创建会员信息表
    conn.execute('''CREATE TABLE MEMBER
             (ID INT PRIMARY KEY     NOT NULL,
             USERNAME       TEXT    NOT NULL,
             PASSWORD       TEXT    NOT NULL,
             BALANCE        REAL    NOT NULL,
             POINT          INT     NOT NULL);''')
    # 创建交易记录表
    conn.execute('''CREATE TABLE TRANSACTION
             (ID INT PRIMARY KEY      NOT NULL,
             MEMBER_ID      INT      NOT NULL,
             AMOUNT         REAL     NOT NULL,
             POINT          INT      NOT NULL,
             TIME           TEXT     NOT NULL);''')
    # 定义注册函数
    def register(username, password):
        cursor = conn.execute("SELECT MAX(ID) FROM MEMBER")
        id = 1
        for row in cursor:
            if row[0] is not None:
                id = row[0] + 1
        balance = 0
        point = 0
        conn.execute("INSERT INTO MEMBER (ID, USERNAME, PASSWORD, BALANCE, POINT) \
                      VALUES (?, ?, ?, ?, ?)", (id, username, password, balance, point))
        conn.commit()
        print("注册成功!")
    # 定义登录函数
    def login(username, password):
        cursor = conn.execute("SELECT * FROM MEMBER WHERE USERNAME=? AND PASSWORD=?", (username, password))
        for row in cursor:
            print("登录成功!")
            return row[0]
        print("用户名或密码错误!")
        return None
    # 定义付款函数
    def pay(member_id, amount):
        cursor = conn.execute("SELECT BALANCE FROM MEMBER WHERE ID=?", (member_id,))
        balance = 0
        for row in cursor:
            balance = row[0]
        if balance < amount:
            print("余额不足!")
            return
        point = int(amount / 10)
        balance -= amount
        conn.execute("UPDATE MEMBER SET BALANCE=?, POINT=? WHERE ID=?", (balance, point, member_id))
        cursor = conn.execute("SELECT MAX(ID) FROM TRANSACTION")
        id = 1
        for row in cursor:
            if row[0] is not None:
                id = row[0] + 1
        time = str(datetime.datetime.now())
        conn.execute("INSERT INTO TRANSACTION (ID, MEMBER_ID, AMOUNT, POINT, TIME) \
                      VALUES (?, ?, ?, ?, ?)", (id, member_id, amount, point, time))
        conn.commit()
        print("付款成功!")
    # 定义查询函数
    def query(member_id):
        cursor = conn.execute("SELECT * FROM MEMBER WHERE ID=?", (member_id,))
        for row in cursor:
            print("余额:%d元,积分:%d分" % (row[3], row[4]))
        cursor = conn.execute("SELECT * FROM TRANSACTION WHERE MEMBER_ID=?", (member_id,))
        print("交易记录:")
        for row in cursor:
            print("时间:%s,金额:%d元,获得积分:%d分" % (row[4], row[2], row[3]))
    # 测试代码
    register("user1", "password1")
    member_id = login("user1", "password1")
    pay(member_id, 500)
    query(member_id)
    pay(member_id, 200)
    query(member_id)
    # 关闭数据库连接
    conn.close()
    

    以上代码实现了会员注册、登录、付款和查询功能,并且将会员信息和交易记录存入了数据库中。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月9日

悬赏问题

  • ¥15 查询优化:A表100000行,B表2000 行,内存页大小只有20页,运行时3页,设计两个表等值连接的最简单的算法
  • ¥15 led数码显示控制(标签-流程图)
  • ¥20 为什么在复位后出现错误帧
  • ¥15 结果有了,想问一下这个具体怎么输入
  • ¥15 怎么修改鸿蒙app的UI及功能设计
  • ¥15 帮我利用jupyter 运行一个正确的代码
  • ¥15 如何使用Gephi软件和Python包中的GephiStreamer交互
  • ¥15 sqlite加密问题咨询
  • ¥15 appdesigner接收不到udp组播的数据
  • ¥15 verilog 非阻塞赋值下的移位拼接错误