C++课程设计-图书信息管理系统(含源码、报告、PPT)
最近更新 2024年06月18日
资源编号 213

C++课程设计-图书信息管理系统(含源码、报告、PPT)

郑重承诺丨云炬网络提供安全交易、信息保真!
云炬公益:平台收入的50%以上将进行公益慈善捐赠(不定期公示):
详情介绍
C++课程设计-图书信息管理系统(含源码、报告、PPT)

图书信息管理系统

——C++面向对象实训报告

  1. 需求分析

1. 基本功能和要求

  1. 系统必须是菜单操作方法,进入功能必须打开菜单,并且每个菜单都有相应的帮助,菜单之间能够灵活的切换。
    用户分三种权限:一般的读者用户,图书管理员,系统管理员。
  2. 根据登陆方式,选择相应的操作方式;
    如果是一般的读者用户,就只能按照各种方式查看数据,并且只能查看自己的信息和借阅情况,修改自己的信息等等功能;
    如果是图书管理员,除了可以查看数据外还能编辑图书数据以及修改图书数据等功能。
    如果是系统管理员,他可以拥有图书管理员的所有功能,并且可以创建用户,授权用户权限等功能。
    (3) 能够对图书基本信息、图书的借阅人信息进行统计,统计的结果能够以表格的形式来表示。
    (4) 图书基本信息 、图书的借阅人信息存储在相应的文件中。数据的组织形式要求必须使用链表或者二叉树来实现。
    (5) 登录的用户名和密码应该存储在单独的文件中,最好做一定的加密算法。
    (6) 系统要求界面友好,易操作。
    4.2 统计功能
    (1)统计馆藏书籍总数、已借出数据总数、在馆书籍数等。
    (2)统计馆藏书籍总金额、馆藏书籍的平均价格。
    4.3 查找功能

    1. 可以根据图书的作者查找。
    2. 可以根据图书的名称查找。
    3. 可以根据图书的出版社查找。
    4. 可以根据图书的单价查找。
    5. 可以根据图书的出版日期查找。
      4.4系统的操作

      1. 有文件的保存
      2. 有文件的打开和载入
      3. 系统在退出时,要有相应的提示
  1. 系统总体结构图
  2. 主要类说明
  • User类
    class User
    {
    public:
    User(const char* name,const char* password);
    virtual ~User();
    const char* GetName();//获得用户名
    const char* GetPassword();//获得密码
    void Exit();//退出系统
    void ChangePassword();//修改密码
    void FindBook();//查找图书
    void ShowFindBook(const char* str,int n);//显示查找结果
    void PrintBook(const BOOKINFO &book);//输出图书信息
    void CountBook();//统计图书信息
    void ShowBook();//显示全部图书信息
    void EditBook();//编辑图书信息
    void AddBook();//添加图书新
    void ModifyBook();//修改图书信息
    void DeleteBook();//删除图书信息
    virtual void ShowMenu();//显示菜单
    virtual bool IsExist();//判断是否存在改用户
    private:
    char m_name[20];//用户名
    char m_password[10];//密码
    };
  • Reader类
    class Reader:public User
    {
    public:
    Reader(const char* name,const char* password);
    ~Reader();
    void BorrowBook();//借阅图书
    virtual void ShowMenu();//显示菜单
    virtual bool IsExist();//判断是否存在该用户
    };
  • Librarian类
    class Librarian:public User
    {
    public:
    Librarian(const char* name,const char* password);
    ~Librarian();
    virtual void ShowMenu();//显示菜单
    virtual bool IsExist();//判断是否存在该用户
    };
  • Admin类

class Admin:public User

{

public:

Admin(const char* name,const char* password);

~Admin();

void AddLibrarian();//添加管理员

void AddReader();//添加读者

virtual void ShowMenu();//显示菜单

virtual bool IsExist();//判断是否存在该用户

};

  1. 主要数据结构
    typedef struct UserInfo
    {
    char name[20];//用户名称
    char password[10];//用户密码
    }USERINFO;
    typedef struct BookInfo
    {
    char id[10];//图书编号
    char name[20];//图书名称
    char author[20];//图书作者
    char press[20];//出版社
    char date[20];//出版日期
    int count;//借出次数
    double price;//图书单价
    }BOOKINFO;
  2. 全局变量和函数说明
    list<USERINFO> g_allReader;//读者数据
    list<USERINFO> g_allLibrarian; //图书管理员
    list<USERINFO> g_allAdmin;//系统管理员
    list<BOOKINFO> g_books;//图书数据
    bool LoadFiles();//加载数据文件
    void SaveFiles();//保存数据文件
    void ShowLoginMenu(char &ch);//显示登录菜单
    bool Login(char ch);//登录系统
  3. 重点函数分析
    Login函数是实习登录系统功能的主要函数,本函数利用了C++的多态特性,使用了虚函数的动态绑定技术,实现了统一的登录接口
    bool Login(char ch)
    {
    User *pUser=NULL;
    char name[20];
    char password[10];
    cout<<"输入用户名:";
    cin>>name;
    cout<<"输入密码:";
    cin>>password;
    switch(ch)
    {
    case 'a':
    case 'A':
    {
    pUser=new Reader(name,password);
    break;
    }
    case 'b':
    case 'B':
    {
    pUser=new Librarian(name,password);
    break;
    }
    case 'c':
    case 'C':
    {
    pUser=new Admin(name,password);
    break;
    }
    case 'e':
    case 'E':
    return true;
    default:
    return false;
    }
    if(pUser->IsExist())
    {
    pUser->ShowMenu();//动态绑定子类
    }
    else
    {
    cout<<"用户名或密码错误!"<<endl;
    system("pause");
    }
    delete pUser;
    return false;
    }
  4. 程序运行结果

(1)登录界面

C++课程设计-图书信息管理系统(含源码、报告、PPT)

(2)读者主界面

C++课程设计-图书信息管理系统(含源码、报告、PPT)

(3)图书管理员主界面

C++课程设计-图书信息管理系统(含源码、报告、PPT)

(4)系统管理员主界面

C++课程设计-图书信息管理系统(含源码、报告、PPT)

(5)显示图书信息

C++课程设计-图书信息管理系统(含源码、报告、PPT)

 

资源下载此资源下载价格为9.9云朵立即购买,云炬VIP季会员免费
客服微信:2743319061
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章资源,如无特殊说明或标注,均为本站网友和创作者贡献分享。如若本站内容侵犯了原著者的合法权益,可联系网站客服QQ2743319061删除。

云炬星球 课设源码 C++课程设计-图书信息管理系统(含源码、报告、PPT) https://src.yunjunet.cn/213.html

常见问题
  • 放心亲,我们不会为了几十块钱的东西坏了名声!
查看详情
  • 方法一:点击“立即下载.”按钮,付款后在下载弹窗的虚线框的隐藏信息里获取 方法二:在正文底部使用VIP查看隐藏的解压密码 方法三:联系【云炬网络】公众号客服获取
查看详情
  • 付款后会出现“立即下载”按钮(点击即可下载),如果下载失败也可以联系客服发订单截图补发。
查看详情
  • 登录购买会多端同步购买记录,永久可以查看反复下载;非登录购买仅将购买记录保存到本地浏览器中,浏览器cookie清除后无法再次下载。先右上角点登录,然后点击微信图标可以快速授权注册登录^_^
查看详情
  • 可以试看。点击”查看演示“或“试看预览”按钮可以试读从资料目录中节选的部分内容,也可以自己指定想试看的内容。
查看详情
  • 原因一:本站所有资源已开启有效性检测(服务器24h全自动监测),当监测到下载链接无法访问时会提示“该资源已失效,请勿购买”,遇到这种情况可以联系客服修复失效的下载链接,或直接联系客服在淘宝下单购买即可。(检测原理:购买前服务器程序会预访问下载链接,响应值为200说明资源有效允许购买,响应值为404或502等报错说明资源失效禁止购买)。原因二:上传者未启用“下载”选项。
查看详情
官方客服团队

为您解决烦忧 - 24小时在线 专业服务