单链表:typedefstruct{ charnum[20]; charname[50]; floatpri;}Book;typedefstructLNode{//线性表的单链表存储Bookbook;//数据域 structLNode*next;//指针域}LNode,*LinkList;voidInput(LinkList&L){//前插法创建图书链表LinkListp;L=newLNode; L->next=NULL;//初始化单链表ifstreaminFile("");if(!inFile){ cerr<<"Cannotopenthisfile!"<<endl; exit(1); }charbook_head1[10],book_head2[10],book_head3[10];//定义文件中标题 inFile>>book_head1>>book_head2>>book_head3;//读取文件中的标题while(!()){//到达文件尾部前逐行依次读取所有图书数据 p=newLNode;//生成新结点 inFile>>p->>>p->>>p->; p->next=L->next;//插入到表头 L->next=p;h } (); cout<<"读取完毕!"<<endl;}voidOutput(LinkList&L){//输出 LinkListp; p=L->next; while(p){ cout<<left<<setw(15)<<p-><<"\t"<<left<<setw(50)<<p-><<"\t"<<left<<setw(5)<<p-><<endl; p=p->next; }cout<<"\n信息显示完毕\n"<<endl;}voidSearchname(LinkList&L){LinkListp; p=L->next; charname1[20];cout<<"请输入要查找的书名:";cin>>name1;while(p){if(strcmp(name1,p->)==0){ cout<<left<<setw(15)<<p-><<"\t"<<left<<setw(50)<<p-><<"\t"<<left<<setw(5)<<p-><<endl; }p=p->next; }}voidSearchnum(LinkList&L){ inti;intj=0; LinkListp; p=L->next;//p指向第一个结点cout<<"请输入要查找的书籍的位置"; cin>>i; while(p&&j<i-1){//顺着链表向后扫描,直到p指向第i个元素或p为空 j++; p=p->next;}if(!p||j>i){//第i个元素不存在cout<<"错误!"<<endl;}cout<<"第"<<i<<"本书信息如下:"<<endl;cout<<left<<setw(15)<<p-><<"\t"<<left<<setw(50)<<p-><<"\t"<<left<<setw(5)<<p->b
单链表实现图书管理系统 来自淘豆网www.taodocs.com转载请标明出处.