C++顺序表实现图书管理系统

本文为大家分享了C++顺序表实现图书管理系统的具体代码,供大家参考,具体内容如下

图书信息表包括以下10项常用的基本操作:图书信息表的创建和输出、排序、修改、逆序存储、最贵图书的查找、最爱图书的查找、最佳位置图书的查找、新图书的入库、旧图书的出库、图书去重。

代码:

#include
#include
#include
using namespace std;
//函数结果状态代码
#define OK 1
#define ERROR 0
#define OVERFLOW -2
//Status是函数返回值类型,其值是函数结果状态代码 
typedef int Status; 
#define MAXSIZE 100
struct BOOK
{
 string ib;//isbn
 string name;//名字 
 float price;//价格 
};
typedef struct
{
 BOOK *elem;//存储空间的基地址 
 int length; //当前长度 
} SqList;
//1、创建一个图书信息表 
Status CreateTheList(SqList &L)
{
 L.elem = new BOOK[MAXSIZE];//为顺序表分配一个大小为MAXSIZE的数组空间 
 if(!L.elem) exit(OVERFLOW);//存储分配失败退出 
 L.length = 0;//将长度初始化为0 
 return OK;
}
//3.根据图书价格对图书信息表进行降序排序
Status SortTheList(SqList &L)
{
 //让每一个数据与其后面的价格都进行对比,若价格小于其后面的便进行交换,以保证价格小的在后面 
    for(int i=0;iave)
   L.elem[i].price *= 1.1;
  else
   L.elem[i].price *= 1.2;
 }
 cout<<"修改成功"<max)
   max=L.elem[i].price;
 }
 cout<<"图书最贵的价格为:"<>x;//要找的书的数量 
 for(int i=1;i<=x;i++)
 {
  cout<<"请输入要查找的书名:"<>name1;//输入书名
  int number=0;//记录与输入的书名相同的书的数量
  for(int j=0;j>x;//要查找的次数 
 for(int i=1;i<=x;i++)
 {
  cout<<"请输入要查找的位置:"<>pos;//输入位置 
  if(pos<=0 || pos>L.length)
  {
   cout<<"抱歉,最佳位置上的图书不存在!"<>x;//输入要插入的位置
 //判断位置是否合法 
 if(x<1 || x>L.length+1)
 {
  cout<<"抱歉,入库位置非法!"<>ib1;
  string name1;
  cin>>name1;
  float price1;
  cin>>price1;
  BOOK e;//e包含要插入的书的信息 
  e.ib = ib1;
  e.name = name1;
  e.price = price1;
  //将插入位置之后的元素后移一位 
  for(int j=L.length-1;j>=x-1;j--)
  {
   L.elem[j+1]=L.elem[j]; 
  }
  L.elem[x-1]=e;//插入元素 
  L.length +=1;//表长加一
  cout<<"插入成功"<L.length)
 {
  cout<<"抱歉,出库位置非法!"<>x;
  switch(x){
   case 1:
    if(CreateTheList(l))
     cout<<"创建成功"<>ib1;
     string name1;
     cin>>name1;
     float price1;
     cin>>price1;
     //判断是不是输入结束 
     if(ib1 =="0" && name1 =="0" && price1 == 0)
     {
      break;
     }
     //向后插入读入的图书信息 
     l.elem[i].ib = ib1;
     l.elem[i].name = name1;
     l.elem[i].price = price1;
     i++;//图书数量加一 
    }
    l.length = i; 
    cout<<"录入完毕"<>x;//输入要删除的位置
    DeleteABook(l,x);
    cout<<"-------------------------------------------------------------"< 
 

测试数据:

9787302257646  程序设计基础 25.00

9787302164340  程序设计基础第二版 20.00

9787302219972  单片机技术及应用 32.00

9787302219972  单片机技术及应用 32.00

9787302203513  单片机原理与技术应用 26.00

9787810827430  工业计算机控制技术原理与应用 31.00

9787811234923  汇编语言程序设计教程 21.00

9787811234923  汇编语言程序设计教程 21.00

运行结果:

创建与输出

C++顺序表实现图书管理系统_第1张图片

对图书价格进行降序排序

C++顺序表实现图书管理系统_第2张图片

修改图书价格

C++顺序表实现图书管理系统_第3张图片

实现逆序存储

C++顺序表实现图书管理系统_第4张图片

查找最贵图书

C++顺序表实现图书管理系统_第5张图片

查找最爱的图书

C++顺序表实现图书管理系统_第6张图片

查找最佳位置的图书

C++顺序表实现图书管理系统_第7张图片

新图书入库

C++顺序表实现图书管理系统_第8张图片

C++顺序表实现图书管理系统_第9张图片

旧图书出库

C++顺序表实现图书管理系统_第10张图片

C++顺序表实现图书管理系统_第11张图片

图书信息去重(根据ISBN去重)

去重前书籍信息

C++顺序表实现图书管理系统_第12张图片

去重后

C++顺序表实现图书管理系统_第13张图片

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的