C++顺序表实现图书管理系统
本文为大家分享了C++顺序表实现图书管理系统的具体代码,供大家参考,具体内容如下
图书信息表包括以下10项常用的基本操作:图书信息表的创建和输出、排序、修改、逆序存储、最贵图书的查找、最爱图书的查找、最佳位置图书的查找、新图书的入库、旧图书的出库、图书去重。
代码:
#include#include #includeusing namespace std; //函数结果状态代码#define OK 1#define ERROR 0#define OVERFLOW -2//Status是函数返回值类型,其值是函数结果状态代码 typedef int Status; #define MAXSIZE 100struct 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; i 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运行结果:
【C++顺序表实现图书管理系统】9787302164340程序设计基础第二版 20.00
9787302219972单片机技术及应用 32.00
9787302219972单片机技术及应用 32.00
9787302203513单片机原理与技术应用 26.00
9787810827430工业计算机控制技术原理与应用 31.00
9787811234923汇编语言程序设计教程 21.00
9787811234923汇编语言程序设计教程 21.00
创建与输出
文章图片
对图书价格进行降序排序
文章图片
修改图书价格
文章图片
实现逆序存储
文章图片
查找最贵图书
文章图片
查找最爱的图书
文章图片
查找最佳位置的图书
文章图片
新图书入库
文章图片
文章图片
旧图书出库
文章图片
文章图片
图书信息去重(根据ISBN去重)
去重前书籍信息
文章图片
去重后
文章图片
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- 急于表达——往往欲速则不达
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- mybatisplus如何在xml的连表查询中使用queryWrapper
- opencv|opencv C++模板匹配的简单实现
- leetcode|leetcode 92. 反转链表 II
- 下雪了,飞去你的城市拥抱你|下雪了,飞去你的城市拥抱你 | 有个直男向我表白了
- 2019女表什么牌子好(如何挑选女士手表?)
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- 佳琪(三十一)