您的位置:首页 > 编程语言 > C语言/C++

c++图书编号与价格 链表的创建及显示

2013-07-05 12:21 253 查看
#include <iostream>
using namespace std;
class book //创建一个book类
{
public:
	int num;
	double price;
	book *next;
};
book *head=NULL;//将头节点赋值为空
book *creat()//创建链表函数
{
	book *p1,*p2;//p1指向新开辟的对象,p2指向后一个节点
	p1=new book;
	head=p1;
	p2=p1;//先将3个指针指向同一个节点
	cout<<"请输入图书的编号,以0结束"<<endl;
	cin>>p1->num;//如果输入num不为0 将继续输入price
	if(p1->num!=0)
	{
		cout<<"请输入图书的价格:"<<endl;
		cin>>p1->price;
	}
	else//如果等于0 将删除对象,令后一对象为空,并且 返回头指针
	{
		delete p1;
		p2=NULL;
		p2->next=NULL;
		return head;
	}
	while(p1->num!=0)//不断的输入 num  and  price,until num为0;
	{
		
		p2=p1;
		p1=new book;
		cout<<"请输入图书编号,以0结束"<<endl;
		cin>>p1->num;
		if(p1->num!=0)
		{
			cout<<"请输入图书的价格:"<<endl;
			cin>>p1->price;
		}
		p2->next=p1;
	}
	delete p1;//如果等于0 将删除对象,令后一对象为空,并且 返回头指针
	p2->next=NULL;
	return head;
}
void showbook(book *head)
{
	cout<<endl;
	cout<<"图书信息如下:"<<endl;
	while(head)
	{
		cout<<"图书编号:"<<head->num <<'\t';
		cout<<"图书的价格:"<<head->price <<endl;
		head=head->next;
	}
}
int main()
{
	book *head=NULL;//定义一个头指针
	head=creat();//调用creat函数,创造链表
	 showbook(head);//展示链表
	return 0;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: