注册 登录
编程论坛 VC++/MFC

不知道错在哪里

hg2625811 发布于 2011-05-05 17:10, 373 次点击
#include <iostream>
using namespace std;
class book
{
public:
    int num;
    float price;
    book *next;
};
book*head=NULL;
book*creat()
{
    book*p1,*p2;
    p1=new book;
    head=p1;
    p2=p1;
    cout<<"请输入图书的编号,以0结束"<<endl;
    cin>>p1->num;
    if (p1->num!=0)
        {
        cout<<"请输入图书的价格"<<endl;
        cin>>p1->price;
        }
    else
        {
        delete p1; p2=NULL; p2->next=NULL; head=NULL; return head;0
        };
    while (p1->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;
    p2->next=NULL;
    return head;
};
int main()
{
    creat();
    return 0;
}
3 回复
#2
niu912011-05-05 20:51
delete p1; p2=NULL; p2->next=NULL; head=NULL; return head;0
把0删掉
#3
donggegege2011-05-07 13:41
delete p1; p2=NULL; p2->next=NULL; head=NULL; return head;0
        };
把0去掉,还有}后面的分号  ;也去掉就行啦
#4
hg26258112012-03-11 18:59
谢谢

1