返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++实现图书管理系统的文件操作与类是什么
  • 219
分享到

C++实现图书管理系统的文件操作与类是什么

2023-06-29 11:06:01 219人浏览 泡泡鱼
摘要

这篇文章主要介绍“c++实现图书管理系统的文件操作与类是什么”,在日常操作中,相信很多人在C++实现图书管理系统的文件操作与类是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++实现图书管理系统的文件操

这篇文章主要介绍“c++实现图书管理系统的文件操作与类是什么”,在日常操作中,相信很多人在C++实现图书管理系统的文件操作与类是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++实现图书管理系统的文件操作与类是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

具体内容如下

(1)定义图书类;

(2)图书信息包括:书名name,价格price,库存num;

(3)可以查询、增加、删除、修改功能;

(4)使用文件保存及读取图书数据;

#include<iOStream>using namespace std;#include<fstream>#define filename "booklist.txt"#include<list>#include<cstring>#include<iomanip> class Book    //创建Book类,存放图书信息{public:    Book(string na=" ", int p=0, int n=0)    {        name = na;        num = n;        price = p;    }    void Show()    {        cout <<  "书名:" << std::left << setw(20) << name << std::right << setw(6) << "\t价格:" << price << "\t数量:" << num << endl;    }    void Set()    {        cout << "请输入书名:";        cin >> name;        cout << "请输入价格:";        cin >> price;        cout << "请输入数量:";        cin >> num;    }    void Addnum()    {        int n;        cout << "请输入归还的数量:";        cin >> n;        num += n;    }    void Borrownum()    {        int n;        cout << "请输入借出的数量:";        cin >> n;        num -= n;    }public:    string name;    int price;    int num;}; void menu(){    cout << "--------------------------------------欢迎进入图书管理系统--------------------------------------" << endl;    cout << endl << "0 - 退出系统;" << "1 - 显示库存;" << "2 - 查询图书;" << "3 - 借阅图书;" << "4 - 归还图书;" << "5 - 增加图书;" << "6 - 删除图书;" << endl;} class Booklist    //创建BookList类,数据成员有Book还有图书数量{public:    void save()    //新建图书的话保存数据,用app方式打开文件    {        ofstream fout(filename, ios::app);        list<Book>::iterator it = BList.begin();        for (int i = 0; i < num-1; i++)    //偏移迭代器,指向新加入的Book并写入文件        {            it++;        }        for (; it != BList.end(); it++)        {            fout << (*it).name << ' ' << (*it).price << ' ' << (*it).num << '\n';        }        fout.close();    }    void resave()    {        ofstream fout(filename, ios::out);    //重新写入数据,因为删除了某个元素        if (fout.is_open())        {            for (list<Book>::iterator it = BList.begin(); it != BList.end(); it++)            {                fout << (*it).name << ' ' << (*it).price << ' ' << (*it).num << '\n';            }        }        fout.close();    }    void Show()    {        for (list<Book>::iterator it = BList.begin(); it != BList.end(); it++)        {            (*it).Show();        }    }    void aDDData()    //添加数据    {        Book B;        B.Set();        BList.push_back(B);        num++;    }    void start()    //程序一开始读取文件里的数据    {        string na;        int n;        int p;        ifstream fin(filename, ios::in);        if (fin.is_open())        {            while (fin >> na >> p >> n)            {                Book B(na, p, n);                BList.push_back(B);                num++;            }        }        fin.close();    }    void increase()    {        cout << "请输入书名:" << endl;        string n;        cin >> n;        for (list<Book>::iterator it = BList.begin(); it != BList.end(); it++)        {            if ((*it).name == n)                (*it).Addnum();        }        resave();    }    void decrease()    {        cout << "请输入书名:" << endl;        string n;        cin >> n;        for (list<Book>::iterator it = BList.begin(); it != BList.end(); it++)        {            if ((*it).name == n)                (*it).Borrownum();        }        resave();    }    void FindBook()    {        string name;        cin >> name;        for (list<Book>::iterator it = BList.begin(); it != BList.end(); it++)    //遍历整个list,所以符合关键字的都会被找到        {            int index = (*it).name.find(name);    //如果没找到返回值是一个很大的数            if (index < (*it).name.length())                (*it).Show();        }    }    void DeleteBook()    {        string name;        cout << "请输入书名:";        cin >> name;        int i = 0;        for (list<Book>::iterator it = BList.begin(); it != BList.end();it++)        {            if ((*it).name == name)                break;            ++i;        }        list<Book>::iterator it = BList.begin();        advance(it, i);        BList.erase(it);        --num;        resave();    }public:    list<Book>BList;    int num = 0;}; int main(){    Booklist B1;    B1.start();    while (1)    {        menu();        int key;        cout << "请输入要进行的操作:";        cin >> key;        switch (key)        {        case 0:            return 0;            break;        case 1:            B1.Show();            break;        case 2:            B1.FindBook();            break;        case 3:            B1.decrease();            break;        case 4:            B1.increase();            break;        case 5:        {            B1.adddata();            B1.save();            break;        }        case 6:            B1.DeleteBook();            break;        }     }}

到此,关于“C++实现图书管理系统的文件操作与类是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: C++实现图书管理系统的文件操作与类是什么

本文链接: https://lsjlt.com/news/324602.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++实现图书管理系统的文件操作与类是什么
    这篇文章主要介绍“C++实现图书管理系统的文件操作与类是什么”,在日常操作中,相信很多人在C++实现图书管理系统的文件操作与类是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++实现图书管理系统的文件操...
    99+
    2023-06-29
  • C++实现图书管理系统(文件操作与类)
    本文实例为大家分享了C++实现图书管理系统的具体代码,供大家参考,具体内容如下 (1)定义图书类; (2)图书信息包括:书名name,价格price,库存num; (3)可以查询、增...
    99+
    2024-04-02
  • C#实现图书管理系统
    本文为大家分享了C#实现图书管理系统课程设计,供大家参考,具体内容如下 一、设计目的 通过模拟图书管理系统,实现以下功能学生账号的注册学生对馆藏图书状况的查询学生借书,还书状态的查询...
    99+
    2024-04-02
  • C++实现图书馆管理系统
    本文实例为大家分享了C++实现图书馆管理系统的具体代码,供大家参考,具体内容如下 一、实验名称 图书馆管理系统 二、实验目的 利用C++语言设计开发一个小型的图书馆管理系统模拟程序,...
    99+
    2024-04-02
  • C语言实现图书管理系统(文件数据库)
    本文实例为大家分享了C语言实现图书管理系统的具体代码,供大家参考,具体内容如下 简介 c语言的一个大作业,发上来纪念下嘿嘿。写的不是很好,很多东西都揉在一起来,不过注释写的也挺多,希...
    99+
    2024-04-02
  • C/C++实现图书信息管理系统
    本文实例为大家分享了c/c++实现图书信息管理系统的具体代码,供大家参考,具体内容如下 程序流程图 源代码 #include <stdio.h> #include ...
    99+
    2024-04-02
  • C++编写实现图书管理系统
    C++编写的一个图书管理系统,供大家参考,具体内容如下 2018大一的课设,搬到这纪念一下,共1200多行代码 为图书管理人员编写一个图书管理系统,图书管理系统的设计主要是实现对图书...
    99+
    2024-04-02
  • C++实现图书管理系统源码
    本文实例为大家分享了C++实现图书管理系统的具体代码,供大家参考,具体内容如下 直接上代码 #include <stdafx.h> #include <iostr...
    99+
    2024-04-02
  • C++实现小型图书管理系统
    本文实例为大家分享了C++实现小型图书管理系统的具体代码,供大家参考,具体内容如下 因为课程设计的原因,需要实现一个小型图书管理系统 包含功能: 问题描述: 设计一个系统,对图书信息...
    99+
    2024-04-02
  • C++实现图书信息管理系统
    本文实例为大家分享了C++实现图书信息管理系统的具体代码,供大家参考,具体内容如下 1.题目: 类型有:编号:ISBN书名:name价格:price 完成如下的功能: ①录入:从键盘...
    99+
    2024-04-02
  • C++如何实现图书管理系统
    本文小编为大家详细介绍“C++如何实现图书管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++如何实现图书管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。功能:首先是注册,登录,找回密码和修改密码...
    99+
    2023-06-29
  • C#如何实现图书管理系统
    本文小编为大家详细介绍“C#如何实现图书管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#如何实现图书管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、设计目的通过模拟图书管理系统,实现以下功能...
    99+
    2023-06-29
  • C语言怎么实现图书管理系统
    要实现一个图书管理系统,可以按照以下步骤进行:1. 定义图书结构体:首先要定义一个图书的结构体,包括图书的编号、名称、作者等信息。`...
    99+
    2023-08-09
    C语言
  • C语言实现银行管理系统(文件操作)
    本文实例为大家分享了C语言实现银行管理系统的具体代码,供大家参考,具体内容如下 银行管理系统主要有五个模块组成: 1、查询账户信息2、存钱3、取款4、转账5、退出系统 测试文件:(首...
    99+
    2024-04-02
  • C++实现图书管理系统最新版
    图书管理系统设计,供大家参考,具体内容如下 一、问题描述及功能要求 (1)图书信息录入功能(图书信息用文件保存) (2)图书信息浏览功能 (3)查询和排序功能:(至少一种查询方式) ...
    99+
    2024-04-02
  • C语言实现图书馆管理系统
    本文实例为大家分享了C语言实现图书馆管理系统的具体代码,供大家参考,具体内容如下 全部代码如下: #include <stdio.h> #include<str...
    99+
    2024-04-02
  • C++顺序表实现图书管理系统
    本文为大家分享了C++顺序表实现图书管理系统的具体代码,供大家参考,具体内容如下 图书信息表包括以下10项常用的基本操作:图书信息表的创建和输出、排序、修改、逆序存储、最贵图书的查找...
    99+
    2024-04-02
  • C++实现简单图书馆管理系统
    本文实例为大家分享了C++实现简单图书馆管理系统的具体代码,供大家参考,具体内容如下 写了一个小项目,图书馆系统,功能如下: 1,添加书籍2,删除书籍(可删除还没外借的书籍)3,读者...
    99+
    2024-04-02
  • C++实现简易图书馆管理系统
    本文实例为大家分享了C++实现简易图书馆管理系统的具体代码,供大家参考,具体内容如下 思路 在本程序中共有四个类: book类:此类有书的基本信息:书名,编号,作者,价格等,和基本的...
    99+
    2024-04-02
  • C++实现图书馆管理系统源码
    本文实例为大家分享了C++实现图书馆管理系统的具体代码,供大家参考,具体内容如下 总体思想 用C++开发图书馆管理系统需要对学生和图书分别建立class,调用class中的方法实现学...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作