图书链表程序,
主要是要实现在链表中创建图书、显示图书、添加图书、删除图书、图书数量等功能。
下面,我们就来通过实例来一步一步来展现这个图书链表。
本节主要来实现图书的创建和显示。代码如下:
#include <iostream>using namespace std;class book{
public: int num; //图书编号 float price; //价格 book*next; //指向下一个结点的指针 }; book*head=NULL; //定义一个头指针,并赋为空 book *create() //创建函数 { book*p1,*p2; //p1指向新结点的指针,p2指向上个结点的指针 p1=new book; //创建1个新结点,并用p1指向它 p2=p1; head=p1; //p2与head都指向这个结点 cout<<"请输入图书的编号,以0结束"; cin>>p1->num; //输入编号 if(p1->num!=0) //如果编号不为0,就执行大括号中的语句 { cout<<"请输入图书的价格"; cin>>p1->price; //输入价格 } else { delete p1;p2=NULL;head=NULL;return head; //否则回到原始位置 } while(p1->num!=0) //当编号不为0时,循环大括号中的语句 { p2=p1; p1=new book; cout<<"请输入图书的编号,以0结束"; cin>>p1->num; if(p1->num!=0) { cout<<"请输入图书的价格"; cin>>p1->price; } p2->next=p1; //不断地让p1变成新结点指针 } delete p1; p2->next=NULL; return head; //返回头结点 } void bookshow(book*head) //显示图书信息 { cout<<endl<<"图书信息。"<<endl; while(head) //当头结点不为0时,循环大括号中的语句,这里的头结点是相对的 { cout<<"图书编号:"<<head->num; cout<<"价格:"<<head->price<<endl; head=head->next; //让头结点不断地更新, } } int main() { create(); bookshow(head); return 0; } |