如何使用C++实现图书信息管理系统
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下如何使用C++实现图书信息管理系统,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下1.题目:类型有:编号:ISBN书名:name价格:price完成如下的
千家信息网最后更新 2026年11月02日如何使用C++实现图书信息管理系统
小编给大家分享一下如何使用C++实现图书信息管理系统,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
具体内容如下
1.题目:
类型有:编号:ISBN
书名:name
价格:price
完成如下的功能:
①录入:从键盘输入(或从文件读入)图书(或学生)信息表的各个数据元素;
②查找:可按不同属性查找所有等于给定值的数据元素,找到并返回它们在表中的位序;
③插入:在表中第i(1=④删除:可删除表中第i(1=⑤输出:依次打印表中的各个元素的值;
⑥排序:可按某属性对表中的元素进行排序。(可选)
2.实现方式:单链表(带头节点)
3.代码实现:
#include#include using namespace std;struct Node{ int ISBN;//编号 string name;//书名 float price;//定价 Node *next;};//操作类class Link{private: int number;//图书数量 Node *head;public: Link(int a):number(a){} ~Link(){delete head;} void create_node();//创建 void select();//功能选择 int find_node(int i);//按照编号查找 int find_node(string n);//按照书名查找 int find_node(float p);//按照价格查找 int insert_node(int pos);//插入 int delete_node(int d);//删除 int mod_node(int d);//修改 void sort_node_ISBN();//按照编号排序 void sort_node_price();//按照价格排序 int get_node();//计数总数 void print();//打印操作};void Link::create_node(){ Node *pnew; head = new Node; //cout<<"请按顺序输入图书的ISBN,书名,定价"; head->ISBN = 0; head->name = 'n'; head->price = 0; head->next = NULL; Node *ptemp = head; for(int i=0;i >pnew->ISBN>>pnew->name>>pnew->price; pnew->next = NULL; ptemp->next = pnew; ptemp = pnew; }}//按编号查找int Link::find_node(int i){ Node *ptemp = head->next; for(int count = 0;count ISBN == i)//按编号查找图书 { cout<<"图书的编号为:"< ISBN<<" 书名为:"< name<<" 定价为:"< price< next; } return 0;}//按照书名查找int Link::find_node(string n){ Node *ptemp = head->next; for(int count=0;count name == n) { cout<<"图书的编号为:"< ISBN<<" 书名为:"< name<<" 定价为:"< price< next; } return 0;}//按照价格查找int Link::find_node(float p){ Node *ptemp = head->next; for(int count=0;count price == p) { cout<<"图书的编号为:"< ISBN<<" 书名为:"< name<<" 定价为:"< price< next; } return 0;}//插入int Link::insert_node(int pos){ if((pos > number)||(pos<0)) { cout<<"插入位置错误!"< next; } pnew = new Node; cout<<"请按顺序输入图书的ISBN,书名,价格:"; cin>>pnew->ISBN>>pnew->name>>pnew->price; pnew->next = ptemp->next; ptemp->next = pnew; number += 1; } return 1;}//删除int Link::delete_node(int d){ if((d > number)||(d<0)) { cout<<"删除位置错误!"< next; } pdelete = ptemp->next; ptemp->next = pdelete->next; delete pdelete; number -= 1; } return 1;}//修改int Link::mod_node(int d){ int aa; string bb; float cc; if((d > number)||(d<0)) { cout<<"要修改的位置错误!"< next; for(int i=0;i next; } cout<<"要修改编号请输入0,要修改书名请输入1,要修改价格请输入2:"; int k; cin>>k; switch(k) { case 0: cout<<"请输入要修改的编号:"; cin>>aa; ptemp->ISBN = aa; cout< >bb; ptemp->name = bb; cout< >cc; ptemp->price = cc; cout< next,*pre; Node *pr = ptemp->next; ptemp->next = NULL; ptemp = pr; while(ptemp != NULL) { pr = ptemp->next; pre = head; while(pre->next != NULL && pre->next->ISBN > ptemp->ISBN) { pre = pre->next; } ptemp->next = pre->next; pre->next = ptemp; ptemp = pr; } Link::print();}//按照价格排序void Link::sort_node_price(){ Node *ptemp = head->next,*pre; Node *pr = ptemp->next; ptemp->next = NULL; ptemp = pr; while(ptemp != NULL) { pr = ptemp->next; pre = head; while(pre->next != NULL && pre->next->price > ptemp->price) { pre = pre->next; } ptemp->next = pre->next; pre->next = ptemp; ptemp = pr; } Link::print();}//获取长度int Link::get_node(){ return number;}//打印输出void Link::print(){ Node *ptemp = head->next; for(int k=0;k ISBN<<" 书名为:"< name<<" 价格为:"< price< next; }}//功能函数void Link::select(){ int a;//ISBN string b;//书名 float c;//定价 int d;//位置 int p;//选择功能 cin>>p; switch(p) { case 0: cout<<"请输入图书的编号"; cin>>a; if(this->find_node(a)) { cout< >b; if(this->find_node(b)) { cout< >c; if(this->find_node(c)) { cout< >d; if(this->insert_node(d)) { cout<<"插入操作的结果为:"< print();//打印插入结果 } break; case 4: cout<<"请输入要删除的位置:"; cin>>d; if(this->delete_node(d)) { cout<<"删除操作的结果为:"< print();//打印插入结果 } break; case 5: cout<<"请输入要修改的图书的位置:"; cin>>d; if(this->mod_node(d)) { cout<<"修改后的结果为:"< print(); } break; case 6: cout<<"按照图书的编号进行排序的结果为:"< sort_node_ISBN(); break; case 7: cout<<"按照图书的价格进行排序的结果为:"< sort_node_price(); break; case 8: cout<<"当前馆内的图书数量为:"; cout< get_node(); break; }}int main(){ int sele=1;//功能选择 int i;//最开始的数量 cout<<"请输入你要输入的图书的数量:"; cin>>i; Link l(i); l.create_node(); cout< >sele; cout<<"请输入要选择的功能:"; } cout<<"-----------已退出图书管理系统------------"; return 0;}
4.效果

看完了这篇文章,相信你对"如何使用C++实现图书信息管理系统"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
图书
排序
价格
功能
结果
书名
元素
定价
选择
位置
信息
管理系统
系统
管理
数量
错误
输入
C++
个位
属性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技企业
互联网科技公司经营范围
科技互联网龙头
科技创新与互联网经济
青岛互联网科技公司
卓越科技(互联网 )
天津摩尔互联网科技
上海致骋互联网科技
互联网科技公司的市场部门
新华互联网科技2019
互联网对科技的发展
移动互联网科技公司
晓花互联网科技有限公司网址
互联网科技研发水平
西安小鹰速贷互联网科技有限公司
富国互联网金融科技混合基金
广东鹅鹅鹅互联网科技有限公司
互联网科技创业计划的风险分析
广州全民伙伴互联网科技有限公司
互联网 科技节活动 微视频大赛
广东万易互联网科技有限公司惠州分公司
高科技互联网
互联网科技保险
互联网科技英文
唐信互联网科技
美国互联网前沿科技
广西拼得多互联网科技有限公司
玉溪互联网科技怎么选
每天都有哪些好的互联网科技
北京互联网科技类企业分布