如何使用C++实现图书信息管理系统
发表于:2025-11-18 作者:千家信息网编辑
千家信息网最后更新 2025年11月18日,小编给大家分享一下如何使用C++实现图书信息管理系统,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下1.题目:类型有:编号:ISBN书名:name价格:price完成如下的
千家信息网最后更新 2025年11月18日如何使用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安全错误
数据库的锁怎样保障安全
戴尔r720服务器管理网卡
怎么看是不是服务器硬盘
轻国服务器在哪里
SQL数据库截取数值型
电子政务网络安全案例分析
六安二手服务器回收在线咨询
网络安全技术人员入门
ipv4默认网关及dns服务器
ftp服务器与文件服务器
公安部门网络安全条例
无锡网络安全儿童画
武汉淘客软件开发
get在数据库是什么意思
江门新会APP软件开发
超星数据库属于什么数据库
计算机网络安全操作题
全部数据库排名
数据库怎么计数
split3数据库配置
电脑找不到服务器dns网址
天津电动汽车热管理软件开发
快宝上海网络技术有限公司官网
网络安全法和宪法的关系
服务器被墙就是永久了吗
四级地址 数据库
一个软件开发多久
小程序服务器是自己的吗
云计算与网络安全是什么专业
dell服务器sn号
凤阳工业软件开发技术采购信息