| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 652 人关注过本帖
标题:问一个菜鸟问题~~~指针
只看楼主 加入收藏
sudong0913
Rank: 1
等 级:新手上路
帖 子:38
专家分:5
注 册:2009-4-15
结帖率:76.92%
收藏
 问题点数:0 回复次数:3 
问一个菜鸟问题~~~指针
#include<iostream>
#include<string>
using namespace std;
class book
{
public:
    int num;
    float price;
    book *next;
};
book *head=NULL;
bool check(string str)
{
    for(int i=0;i<str.length();i++)
    {
        if((str[i]>'9'||str[i]<'0')&&str[i]!='.')
        {
            return false;
        }
        
    }
    return true;
   
}
book * recat()
{
    book *p1,*p2;
    p1= new book;
    head=p1;
    p2=p1;
    cout<<"请输入图书编号,以0结束!"<<endl;
    string str;
    cin>>str;
    while(!check(str))
    {
        cout<<"输入的不是数字!请重新输入!"<<endl;
        cin>>str;
    }
    p1->num=atoi(str.c_str());
    if(0!=p1->num)
    {
        cout<<"请输入价格:"<<endl;
        cin>>str;
        while(!check(str))
        {
            cout<<"输入的不是数字!请重新输入!"<<endl;
            cin>>str;
        }
        p1->price=atoi(str.c_str());
        //cin>>p1->price;
    }
    else
    {
        delete p1; p2=NULL;head=NULL;return head;
    }
    while(0!=p1->num)
    {
        p2=p1;
        p1= new book;
        cout<<"请输入图书编号,以0结束!"<<endl;
        cin>>str;
        while(!check(str))
    {
        cout<<"输入的不是数字!请重新输入!"<<endl;
        cin>>str;
    }
    p1->num=atoi(str.c_str());
        if(0!=p1->num)
        {
            cout<<"请输入价格:"<<endl;
            cin>>str;
            while(!check(str))
            {
                cout<<"输入的不是数字!请重新输入!"<<endl;
                cin>>str;
            }
            p1->price=atoi(str.c_str());
            //cin>>p1->price;
        }
        p2->next=p1;
    }
    delete p1; 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;
    }
   
}
void main()
{
    book *head=NULL;
    head=recat();
    showbook(head);
}
//////////////////////////////////////////////////////
H:\temp\vc6++\ee\ww.cpp(86) : error C2447: missing function header (old-style formal list?)
执行 cl.exe 时出错.
不知道  怎么 改~~ 求指教!!!
搜索更多相关主题的帖子: 指针 
2010-08-11 17:57
bydzyj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:38
专家分:123
注 册:2010-8-8
收藏
得分:0 
#include<iostream>
#include<string>
using namespace std;
class book
{
public:
    int num;
    float price;
    book *next;
};
book *head=NULL;
bool check(string str)
{
    for(int i=0;i<str.length();i++)
    {
        if((str[i]>'9'||str[i]<'0')&&str[i]!='.')
        {
            return false;
        }
        
    }
    return true;
   
}
book * recat()
{
    book *p1,*p2;
    p1= new book;
    head=p1;
    p2=p1;
    cout<<"请输入图书编号,以0结束!"<<endl;
    string str;
    cin>>str;
    while(!check(str))
    {
        cout<<"输入的不是数字!请重新输入!"<<endl;
        cin>>str;
    }
    p1->num=atoi(str.c_str());
    if(0!=p1->num)
    {
        cout<<"请输入价格:"<<endl;
        cin>>str;
        while(!check(str))
        {
            cout<<"输入的不是数字!请重新输入!"<<endl;
            cin>>str;
        }
        p1->price=atoi(str.c_str());
        //cin>>p1->price;
    }
    else
    {
        delete p1; p2=NULL;head=NULL;return head;
    }
    while(0!=p1->num)
    {
        p2=p1;
        p1= new book;
        cout<<"请输入图书编号,以0结束!"<<endl;
        cin>>str;
        while(!check(str))
    {
        cout<<"输入的不是数字!请重新输入!"<<endl;
        cin>>str;
    }
    p1->num=atoi(str.c_str());
        if(0!=p1->num)
        {
            cout<<"请输入价格:"<<endl;
            cin>>str;
            while(!check(str))
            {
                cout<<"输入的不是数字!请重新输入!"<<endl;
                cin>>str;
            }
            p1->price=atoi(str.c_str());
            //cin>>p1->price;
        }
        p2->next=p1;
    }
    delete p1; p2->next=NULL;
    return head;
}
void showbook(book *head)//此处多了一个分号去掉就OK1!!!!
{
    cout<<endl;
    cout<<"图书信息如下:"<<endl;
    while(head)
    {
    cout<<"图书编号:"<<head->num<<"\t";
    cout<<"图书价格:"<<head->price<<endl;
    head=head->next;
    }
   
}
void main()
{
    book *head=NULL;
    head=recat();
   showbook(head);
}
收到的鲜花
  • mxs8102010-08-12 15:55 送鲜花  3朵   附言:乐于助人,哈哈
2010-08-11 19:02
bydzyj
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:38
专家分:123
注 册:2010-8-8
收藏
得分:0 
多一个分号的原因,我还以为是什么指针问题呢!!!!
2010-08-11 19:03
sudong0913
Rank: 1
等 级:新手上路
帖 子:38
专家分:5
注 册:2009-4-15
收藏
得分:0 
大意了~~不好意思~~~
2010-08-12 12:40
快速回复:问一个菜鸟问题~~~指针
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018141 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved