采用线性表中的顺序储存方式,实现对书籍的增加,删除,查找,展示等基础功能。

基本知识点:顺序表的初始化,顺序表的查找,顺序表的插入以及顺序表的删除。

#include <iostream>
#define MAXSIZE 1000//顺序表的最大空间
#define OK 1
#define ERROR 0
#define OVERFLOW -2//返回值的状态
using namespace std;
typedef struct//这里定义了书籍的属性:编号,书名,价格
{int num;char name[50];float price;
}Book;
typedef struct
{Book *elem;int length;
}SqList;
void Initlist(SqList &L)//顺序表的初始化
{int n;cout<<"需要创建几本书籍"<<endl;cin>>n;L.elem=new Book[MAXSIZE];L.length=n;
}
void Getbook(SqList &L)//对书籍的输入函数
{int i;for(i=1;i<=L.length;i++){cout<<"请输入第"<<i<<"本书编号"<<endl;cin>>L.elem[i-1].num;cout<<"请输入第"<<i<<"本书名称"<<endl;cin>>L.elem[i-1].name;cout<<"请输入第"<<i<<"本书价格"<<endl;cin>>L.elem[i-1].price;}cout<<"创建成功"<<endl;
}
void display(SqList &L)//打印书籍信息函数
{int i;for(i=0;i<L.length;i++)cout<<"编号:"<<L.elem[i].num<<"  书名:"<<L.elem[i].name<<"  单价:"<<L.elem[i].price<<endl;
}
void LocateElem(SqList L)//查找函数
{int i,e;cout<<"请输入你所要查找书的编号"<<endl;cin>>e;for(i=0;i<=L.length-1;i++){if(L.elem[i].num==e){cout<<"查找成功"<<endl;break;}elsecontinue;}
}
int InsertList(SqList &L)//插入函数
{int i,j;Book e;cout<<"请输入你想要插入的位置"<<endl;cin>>i;cout<<"请输入所添加书籍的编号"<<endl;cin>>e.num;cout<<"请输入所添加书籍的名称"<<endl;cin>>e.name;cout<<"请输入所添加书籍的价格"<<endl;cin>>e.price;if((i<1)||i>L.length+1)return ERROR;//对所输入i的合法性判断if(L.length==MAXSIZE)return ERROR;for(j=L.length-1;j>=i-1;--j)L.elem[j+1]=L.elem[j];L.elem[i-1]=e;++L.length;return OK;
}
int ListDelete(SqList &L)//删除函数
{int i,j;cout<<"请输入你想要删除第几本书籍"<<endl;cin>>i;if((i<1)||i>L.length+1)return ERROR;for(j=i;j<=L.length-1;j++)L.elem[j-1]=L.elem[j];--L.length;return OK;
}
int main()
{SqList L;int i,j;for(j=1;;j++){cout<<"------------------------简单图书管理系统------------------------"<<endl;cout<<"1:创建书架---2:查找书籍---3:插入书籍---4:删除书籍---5:查看书籍---6:退出"<<endl;cin>>i;switch (i) {case 1:  Initlist(L);Getbook(L);display(L);break;case 2:  LocateElem(L);display(L);break;case 3:  InsertList(L);display(L);break;case 4:  ListDelete(L);display(L);break;case 5:  display(L);break;case 6:  exit(OVERFLOW);default: cout<<"错误指令"<<endl;break;}}
}

优缺点:代码比较简单易懂但是对于大量数据时耗费空间和时间较长,没有链式结构方便,后续将进行优化采用链式结构。

请期待后期......

利用顺序表建立简单图书管理系统相关推荐

  1. 顺序表:实现图书管理系统

    引入万能库和命名空间 #include<bits/stdc++.h> using namespace std; 定义结构体 typedef struct {char no[20];char ...

  2. wxpython实现简单图书管理系统

    用wxpython实现的简单图书管理系统,可以实现增加图书,删除图书,修改图书,查看图书.后台数据库为mysql数据库,采用的pymysql连接数据库.系统界面如下: 代码如下: 1.书本类代码 #a ...

  3. 一个简单图书管理系统TSGL的应用数据库

    简单图书管理系统的应用数据库 一.摘要 这个项目是学校结课要求的项目,所以采用的是SQL sever2008来完成的,并不是mysql来完成的,SQL sever2008与mysql就基础知识没有什么 ...

  4. 二叉排序树遍历二叉树打印简单图书管理系统

    二叉排序树的实现 实验内容: 解决方案与关键代码: 解决方案: 编程生成二叉排序树 非递归二叉树遍历 先序 中序 后序 二叉树的打印 简单图书系统 二叉排序树图书管理系统 图书类 构造函数BTree ...

  5. 使用django创建一个单表查询的图书管理系统

    使用django创建一个单表查询的图书管理系统 在settings.py文件中添加(用于连接mysql数据库) DATABASES = {'default': {'ENGINE': 'django.d ...

  6. ASP网页制作,简单图书管理系统

    ASP网页制作,简单图书管理系统 作品文件 流程图 网站首页 管理页面 百度网盘提取 链接:https://pan.baidu.com/s/18y4y85IwLG1RXvW_8uNbFA 提取码:66 ...

  7. Python+tkinter库实现简单图书管理系统

    文章目录 前言 一.MySQL是什么? 二.Tkinter库 三.Code步骤 1.引入库 2.使用tkinter搭建系统 3.定义函数(发送消息,操作mysql数据库) 总结 前言 使用mysql数 ...

  8. 数据结构(顺序表):学生管理系统的设计与实现(C语言)

    实践项目:学生管理系统的设计与实现 设计并实现一个学生管理系统,即定义一个包含学生信息(学号,姓名,成绩)的的顺序表,可以不考虑重名的情况,系统至少包含以下功能: (1)根据指定学生个数,逐个输入学生 ...

  9. python实现简单图书管理系统

    用python实现一个简单的图书管理系统 1.工具:PyCharm3.6 社区版 我创建了一个工程叫fairy,把解释器换成Pytnon3.6 创建一个pytnon file:图书管理系统.py 2. ...

最新文章

  1. php对象当参数传递 php深复制和浅复制
  2. windows 下Android的开发准备
  3. python基础之序列类型的方法——列表元组
  4. java获取中文拼音首字母
  5. jdbc获取数据库元数据,获取数据库列表,获取数据库基本信息,获取指定数据库中的表信息,获取指定表中的字段信息
  6. 用Eclipse创建第一个JSP项目
  7. selenium--下载与安装
  8. 第一课:ASP.NET Core入门之简单快速搭建ASP.NET Core项目结构
  9. springboot+微信小程序校园疫情智慧防控系统毕业设计源码011133
  10. 手摸手带你 App 爬虫入门
  11. 秦储一行拜访陕西省文联和陕西新华出版传媒集团
  12. GD32F303固件库开发(16)----移植兆易创新SPI Nor Flash之GD25Q64Flash
  13. JACS:截短侧耳素类抗生素Pleuromutilin的16步全合成
  14. 浅谈MB、Mb、MBps、Mbps - 计算机常识
  15. 我为什么特别看好浦发
  16. 【论文阅读】Siamese Neural Network Based Few-Shot Learning for Anomaly Detection in Industrial Cyber-Physi
  17. 为什么那么多人想开发一元夺宝类app?
  18. 微信小程序之微票前后端简易版+五天实训总结
  19. 北理网课 - Python语言程序设计 - 9.2 实例15:“霍兰德人格分析” (初学,冰山一角)
  20. Kindeditor环境搭建(JSP)

热门文章

  1. python修改word文档属性_Python 设置word属性的函数
  2. 在机房如何利用极域反控制老师的电脑呢
  3. 《微积分的力量》读后感
  4. 如何通过cmd命令行切换所在目录
  5. 如何将视频中的水印去掉,一键去除视频水印
  6. jsp生成Word文件!最直接方式!
  7. 无线宝电脑版登陆不到服务器,主机版绝地求生常出问题及解决方法奇游联机宝汇总!...
  8. 计算机基础知识结束语,【计算机基础课程教学内容体系改革的实践】计算机基础知识...
  9. linux下c语言使用mac地址进行socket通信
  10. 测试深度学习环境(GPU是否可调用)