欢迎来到天天文库
浏览记录
ID:47561510
大小:52.50 KB
页数:10页
时间:2020-01-15
《单链表实现图书管理系统方案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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、ndl;exit(1);}charbook_head1[10],book_head2[10],book_head3[10];//定义文件中标题inFile>>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.close();cout<<"读取完3、毕!"<next;while(p){cout<book.num<<"t"<book.name<<"t"<book.pri<next;}cout<<"信息显示完毕"<next;charname1[20];cout<4、<"请输入要查找的书名:";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<<"请输入要查找的书籍的位置";cin>>i;whil5、e(p&&jnext;}if(!p6、7、j>i){//第i个元素不存在cout<<"错误!"<book.num<<"t"<book.name<<"t"<book.pri<next;p=L->next8、->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、Listq;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"<
2、ndl;exit(1);}charbook_head1[10],book_head2[10],book_head3[10];//定义文件中标题inFile>>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.close();cout<<"读取完
3、毕!"<next;while(p){cout<book.num<<"t"<book.name<<"t"<book.pri<next;}cout<<"信息显示完毕"<next;charname1[20];cout<
4、<"请输入要查找的书名:";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<<"请输入要查找的书籍的位置";cin>>i;whil
5、e(p&&jnext;}if(!p
6、
7、j>i){//第i个元素不存在cout<<"错误!"<book.num<<"t"<book.name<<"t"<book.pri<next;p=L->next
8、->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、Listq;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"<
9、Listq;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"<
此文档下载收益归作者所有