欢迎来到天天文库
浏览记录
ID:48856192
大小:46.00 KB
页数:19页
时间:2020-02-02
《单链表实现图书管理系统.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.单链表:typedefstruct{charnum[20];charname[50];floatpri;}Book;typedefstructLNode{//线性表的单链表存储Bookbook;//数据域structLNode*next;//指针域}LNode,*LinkList;voidInput(LinkList&L){//前插法创建图书链表LinkListp;L=newLNode;L->next=NULL;//初始化单链表ifstreaminFile("book.txt");if(!inFile){cerr<<"Cannotopenthisfile!"<
2、>book_head1>>book_head2>>book_head3;//读取文件中的标题while(!inFile.eof()){//到达文件尾部前逐行依次读取所有图书数据p=newLNode;//生成新结点inFile>>p->book.num>>p->book.name>>p->book.pri;p->next=L->next;//插入到表头L->next=p;h}inFile.clos
3、e();cout<<"读取完毕!"<next;while(p){cout<book.num<<"t"<book.name<<"t"<book.pri<next;}cout<<"信息显示完毕"<next;char
4、name1[20];cout<<"请输入要查找的书名:";cin>>name1;while(p){if(strcmp(name1,p->book.name)==0){cout<book.num<<"t"<book.name<<"t"<book.pri<next;}}voidSearchnum(LinkList&L){inti;intj=0;LinkListp;p=L->next;//p指向第一个结点cout<<"请输入
5、要查找的书籍的位置";cin>>i;专业资料.while(p&&jnext;}if(!p
6、
7、j>i){//第i个元素不存在cout<<"错误!"<book.num<<"t"<book.name<<"t"<book.pri<8、kListpmax,p;pmax=L->next;p=L->next->next;while(p){if(p->book.pri>pmax->book.pri)pmax=p;p=p->next;}专业资料.cout<book.num<<"t"<book.name<<"t"<book.pri<9、nkList&L){LinkListp;//待插入到链表的节点LinkListq;p=L->next;L->next=NULL;//初始化链表ofstreamoutFile("bookinverse.txt");//每一次将p插入到L(头结点)与L->next(链表的第一个结点之间)while(p){q=p->next;p->next=L->next;L->next=p;p=q;}专业资料.p=L->next;//循环完后,p指向的是链表末尾,需要重置回首元结点,否则无法写入文件while(p){cout<book.num<<"t"10、<
8、kListpmax,p;pmax=L->next;p=L->next->next;while(p){if(p->book.pri>pmax->book.pri)pmax=p;p=p->next;}专业资料.cout<book.num<<"t"<book.name<<"t"<book.pri<9、nkList&L){LinkListp;//待插入到链表的节点LinkListq;p=L->next;L->next=NULL;//初始化链表ofstreamoutFile("bookinverse.txt");//每一次将p插入到L(头结点)与L->next(链表的第一个结点之间)while(p){q=p->next;p->next=L->next;L->next=p;p=q;}专业资料.p=L->next;//循环完后,p指向的是链表末尾,需要重置回首元结点,否则无法写入文件while(p){cout<book.num<<"t"10、<
9、nkList&L){LinkListp;//待插入到链表的节点LinkListq;p=L->next;L->next=NULL;//初始化链表ofstreamoutFile("bookinverse.txt");//每一次将p插入到L(头结点)与L->next(链表的第一个结点之间)while(p){q=p->next;p->next=L->next;L->next=p;p=q;}专业资料.p=L->next;//循环完后,p指向的是链表末尾,需要重置回首元结点,否则无法写入文件while(p){cout<book.num<<"t"
10、<
此文档下载收益归作者所有