|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 〓随风〓 于 2013-10-8 03:12 编辑
完完全全照抄教程的代码,死都不能正常运行,大神们帮看看吧,查了一下午实在没折了。
- #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=1;i<str.length();i++)//length()
- {
- if((str>'9'||str<'0')&&(str!='.'))
- return false;
- }
- return true;
- }
- book *creat()
- {
- book *p1, *p2;
- p1 = new book;
- head = p1;
- p2 = p1;
- cout<<"请输入图书的编号,以0结束"<<endl;
- string str;
- while(!check(str))
- {
- cout<<"你输入的不是数字,请重新输入,按0返回!!!"<<endl;
- cin>>str;
- }
- p1->num = atoi(str.c_str());
- if (p1->num !=0)
- {
- cout<<"请输入图书的价格"<<endl;
- while(!check(str))//对应判断函数返回值是否是字符
- {
- cout<<"你输入的不是数字,请重新输入,按0返回!!!"<<endl;
- cin>>str;
- }
- p1->price = atof(str.c_str());
- }
- else
- {
- delete p1;
- p2=NULL;
- p2->next=NULL;
- head=NULL;
- return head;
- }
- while (p1->num !=0)
- {
- p2 = p1;
- p1 = new book;
- cout<<"请输入图书的编号,以0结束"<<endl;
- while(!check(str))//对应判断函数返回值是否是非字符
- {
- cout<<"你输入的不是数字,请重新输入,按0返回!!!"<<endl;
- cin>>str;
- }
- p1->num = atoi(str.c_str());
- if (p1->num !=0)
- {
- cout<<"请输入图书的价格"<<endl;
- while(!check(str))//对应判断函数返回值是否是非字符
- {
- cout<<"你输入的不是数字,请重新输入,按0返回!!!"<<endl;
- cin>>str;
- }
- p1->price = atof(str.c_str());
- }
- p2->next = p1;
- }
- delete p1;
- p2->next=NULL;
- return head;
- }
- int main()
- {
- creat();
- return 0;
- }
复制代码
|
|