单链表:typedef struct {
char num[20];
char name[50];
float pri;
}Book;
typedef struct LNode{ //线性表的单链表存储
Book book; //数据域
struct LNode *next; //指针域
}LNode,*LinkList;
void Input(LinkList &L){ //前插法创建图书链表
LinkList p;
L=new LNode;
L->next=NULL;//初始化单链表
ifstream inFile("");
if(!inFile){
cerr<<"Cannot open this file!"<<endl;
exit(1);
}
char book_head1[10],book_head2[10],book_head3[10]; //定义文件中标题
inFile>>book_head1>>book_head2>>book_head3;//读取文件中的标题
while(!()){//到达文件尾部前逐行依次读取所有图书数据
p=new LNode; //生成新结点
inFile>>p->>>p->>>p->;
p->next=L->next; //插入到表头
L->next=p;h
}
();
cout<<"读取完毕!"<<endl;
}
void Output(LinkList &L){//输出
LinkList p;
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;
}
void Searchname(LinkList &L){
LinkList p;
p=L->next;
char name1[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;
}
}
void Searchnum(LinkList &L){
int i;
int j=0;
LinkList p;
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-><<endl;
}
void Max(LinkList &L){
LinkList pmax,p;
pmax=L->next;
p=L->next->next;
while(p){
if(p->>pmax->)
单链表实现图书管理系统 来自淘豆网www.taodocs.com转载请标明出处.