21xrx.com
2024-12-27 16:04:48 Friday
登录
文章检索 我的文章 写文章
C++图书管理系统源代码
2023-06-30 11:33:24 深夜i     --     --
C++ 图书管理系统 源代码

图书管理系统是一种常见的管理系统,可以方便地对图书进行管理和查询,提高工作效率。C++是一种流行的编程语言,拥有良好的编程性能和稳定性,非常适合用于开发类似图书管理系统这样的应用程序。本文将分享一份C++图书管理系统的源代码,并简要介绍其实现的功能和特点。

一、系统功能

1、添加图书:输入图书的名称、作者、出版社等基本信息,可成功添加新图书进入库存。

2、删除图书:按照图书编号删除指定的图书信息。

3、修改图书:对于特定图书,可以修改其名称、作者、出版社、价格等信息。

4、查询图书:根据不同的条件进行查询,如图书名称、作者、出版社、价格等。

5、显示所有图书信息:将库存中所有图书的信息全部显示出来。

二、核心代码

以下是C++图书管理系统的部分核心代码,主要涉及添加图书、查询图书、删除图书等功能。具体代码可以参考源文件。

//添加图书

void addAllBooks() {

  system("cls"); //清除屏幕内容

  bookAll booksall = readAllData(); //将所有图书信息读入内存

  book newbook = getInputData(); //从键盘上获取要添加图书的信息

  if (isIdExist(booksall, newbook.bookId)) { //判断该图书编号是否已存在

    cout << "\n该图书编号已存在,请重新输入。" << endl;

    system("pause");

    return;

  } else {

    ofstream fout("Book.txt", ios::app); //对文件进行追加操作

    fout << newbook.bookId << ' ' << newbook.bookName << ' ' << newbook.bookAuthor << ' '

       << newbook.bookPress << ' ' << newbook.bookPrice << ' ' << newbook.bookNum << endl; //向文件中添加新记录

    fout.close();

    cout << "\n添加成功!" << endl;

    system("pause");

    return;

  }

}

//查询图书

void searchAllBooks() {

  system("cls"); //清除屏幕内容

  bookAll booksall = readAllData(); //将所有图书信息读入内存

  char choice;

  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':

      searchById(booksall); //按编号查询

      break;

    case '2':

      searchByName(booksall); //按书名查询

      break;

    case '3':

      searchByAuthor(booksall); //按作者查询

      break;

    case '4':

      searchByPress(booksall); //按出版社查询

      break;

    case '5':

      searchByPrice(booksall); //按价格区间查询

      break;

    case '6':

      showAllBooks(booksall); //显示所有图书信息

      break;

    case '7':

      return;

    default:

      cout << "\n输入错误,请重新输入!" << endl;

      system("pause");

      break;

  }

}

//删除图书

void deleteBooks() {

  system("cls"); //清除屏幕内容

  bookAll booksall = readAllData(); //将所有图书信息读入内存

  int bookId;

  cout << "请输入要删除的图书编号:";

  cin >> bookId;

  int pos = getPositionById(booksall, bookId); //获取要删除记录的位置

  if (pos == -1) { //位置不存在

    cout << "\n该图书编号不存在,请重新输入。" << endl;

    system("pause");

    return;

  } else {

    booksall.books.erase(booksall.books.begin() + pos); //从内存中删除记录

    ofstream fout("Book.txt"); //将数据写回文件

    for (int i = 0; i < booksall.books.size(); i++) {

      fout << booksall.books[i].bookId << ' ' << booksall.books[i].bookName << ' ' << booksall.books[i].bookAuthor

         << ' ' << booksall.books[i].bookPress << ' ' << booksall.books[i].bookPrice << ' '

         << booksall.books[i].bookNum << endl;

    }

    fout.close();

    cout << "\n删除成功!" << endl;

    system("pause");

    return;

  }

}

三、系统特点

1、使用结构体存储图书信息:使用结构体作为图书记录的基本数据结构,利于存储和读取数据,同时方便进行查找和修改。

2、使用文件存储数据:将图书信息存储在文件中,方便长期保存和备份。

3、多种查询方式:本系统实现了按图书编号、图书名称、作者、出版社和价格等多种方式进行查询,便于用户根据实际需求查询所需图书。

4、界面简单直观:系统界面设计简洁明了,易于使用,让用户无需具备太多计算机操作知识就能够轻松进行操作。

总之,C++图书管理系统是一种实用的管理工具,具备多种基本功能,方便快捷。读者可以根据自己的实际需求进行修改和优化,以满足不同用户的使用需求。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复