在超市商品添加查询系统中编译通过却无法实现加入商品的功能,提示内在不可读?请
在超市商品添加查询系统中编译通过却无法实现加入商品的功能,提示内在不可读?请高手指点
//good1.h
class Goods
{
private:
char name[20];
float price;
int number;
Goods* next;
public:
Goods(char* name,float price, int number);
Goods* getnext();
char* getname();
void setnext(Goods* next);
void add(char* name,int number);
void showme();
};
//goods1.cpp
#include<iostream.h>
#include<string.h>
#include"goods1.h"
Goods::Goods(char* name,float price,int number)
{
strcpy(this->name,name);
this->price=price;
this->number=number;
next=NULL;
}
Goods* Goods:: getnext()
{
return next;
}
char* Goods:: getname()
{
return name;
}
void Goods:: setnext(Goods* next)
{
this->next=next;
}
void Goods::add(char* name,int number)
{
this->number+=number;
cout<<name<<"现有数量:"<<this->number<<endl;
cout<<name<<"增量:"<<number<<endl;
}
void Goods:: showme()
{
cout<<this->name<<this->price<<this->number<<endl;
}
//market1.h
#include"goods1.h"
class market
{
private:
Goods* head;
public:
market();
~market();
void querygoods(char* name);
void queryall();
void addgoods(char* name,int number);
void appendgoods(char* name,float price,int number);
};//market1.cpp
#include<iostream.h>
#include<string.h>
#include"market1.h"
market:: market()
{
Goods* head=NULL;
}
market:: ~market()
{
Goods* p;
while(head!=NULL)
{
p=head;
head=head->getnext();
delete p;
}
}
void market:: queryall()
{
Goods* p=head;
while(p!=NULL)
{
p->showme();
p=p->getnext();
}
}
void market:: addgoods(char* name,int number)
{
Goods* p=head;
if(p==NULL)
cout<<"无商品,无法上架"<<endl;
else if(strcmp(p->getname(),name)==0)
p->add(name,number);
else
{
p=p->getnext();
while((p!=NULL)&&(strcmp(p->getname(),name)!=0))
p=p->getnext();
if(p==NULL)
cout<<"待上架商品"<<name<<"不存在"<<endl;
else
p->add(name,number);
}
}
void market:: appendgoods(char* name,float price,int number)
{
Goods* pnew=new Goods(name,price,number);
Goods* p;
if(head=NULL)
head=pnew;
else
{
p=head;
while(p->getnext()!=NULL) p=p->getnext();
p->setnext(pnew);
}
}
void market:: querygoods(char* name)
{
Goods* p=head;
if(p==NULL)
cout<<"无商品,无法查询"<<endl;
else if(strcmp(p->getname(),name)==0)
p->showme();
else
{
p=p->getnext();
while((p!=NULL)&&(strcmp(p->getname(),name)!=0))
p=p->getnext();
if(p==NULL)
cout<<"待查商品"<<name<<"不存在 "<<endl;
else
p->showme();
}
}
//main1.h
void append();
void query();
void sale();
void add();
void queryal();
void delet();
//main1.cpp
#include<iostream.h>
#include"main1.h"
#include"market1.h"
market s;
void main()
{
int num;
while(1)
{
cout<<"\t商 品 管 理 系 统"<<endl;
cout<<endl;
cout<<"1-增加商品"<<endl<<endl;
cout<<"2-商品上架"<<endl<<endl;
cout<<"3-查询商品,\t,4-查询所有商品"<<endl<<endl;
cout<<"0-退出系统"<<endl<<endl;
cout<<" 主选择:";
cin>>num;
switch(num)
{
case 0:break;
case 1:append();break;
case 3: query();break;
case 2:add();break;
case 4:queryal();break;
}
if(num==0) break;
}
}
void append()
{
char name[20];
float price;
int number;
cout<<endl;
cout<<"请输入 商品名,价,数";
cin>>name>>price>>number;
s.appendgoods(name,price,number);
cout<<endl;
}
void query()
{
char name[20];
cout<<"请输入 查询名称";
cin>>name;
s.querygoods(name);
cout<<endl;
}
void add()
{
char name[20];
int number;
cout<<endl;
cout<<"请输入增加名,数";
//good1.h
class Goods
{
private:
char name[20];
float price;
int number;
Goods* next;
public:
Goods(char* name,float price, int number);
Goods* getnext();
char* getname();
void setnext(Goods* next);
void add(char* name,int number);
void showme();
};
//goods1.cpp
#include<iostream.h>
#include<string.h>
#include"goods1.h"
Goods::Goods(char* name,float price,int number)
{
strcpy(this->name,name);
this->price=price;
this->number=number;
next=NULL;
}
Goods* Goods:: getnext()
{
return next;
}
char* Goods:: getname()
{
return name;
}
void Goods:: setnext(Goods* next)
{
this->next=next;
}
void Goods::add(char* name,int number)
{
this->number+=number;
cout<<name<<"现有数量:"<<this->number<<endl;
cout<<name<<"增量:"<<number<<endl;
}
void Goods:: showme()
{
cout<<this->name<<this->price<<this->number<<endl;
}
//market1.h
#include"goods1.h"
class market
{
private:
Goods* head;
public:
market();
~market();
void querygoods(char* name);
void queryall();
void addgoods(char* name,int number);
void appendgoods(char* name,float price,int number);
};//market1.cpp
#include<iostream.h>
#include<string.h>
#include"market1.h"
market:: market()
{
Goods* head=NULL;
}
market:: ~market()
{
Goods* p;
while(head!=NULL)
{
p=head;
head=head->getnext();
delete p;
}
}
void market:: queryall()
{
Goods* p=head;
while(p!=NULL)
{
p->showme();
p=p->getnext();
}
}
void market:: addgoods(char* name,int number)
{
Goods* p=head;
if(p==NULL)
cout<<"无商品,无法上架"<<endl;
else if(strcmp(p->getname(),name)==0)
p->add(name,number);
else
{
p=p->getnext();
while((p!=NULL)&&(strcmp(p->getname(),name)!=0))
p=p->getnext();
if(p==NULL)
cout<<"待上架商品"<<name<<"不存在"<<endl;
else
p->add(name,number);
}
}
void market:: appendgoods(char* name,float price,int number)
{
Goods* pnew=new Goods(name,price,number);
Goods* p;
if(head=NULL)
head=pnew;
else
{
p=head;
while(p->getnext()!=NULL) p=p->getnext();
p->setnext(pnew);
}
}
void market:: querygoods(char* name)
{
Goods* p=head;
if(p==NULL)
cout<<"无商品,无法查询"<<endl;
else if(strcmp(p->getname(),name)==0)
p->showme();
else
{
p=p->getnext();
while((p!=NULL)&&(strcmp(p->getname(),name)!=0))
p=p->getnext();
if(p==NULL)
cout<<"待查商品"<<name<<"不存在 "<<endl;
else
p->showme();
}
}
//main1.h
void append();
void query();
void sale();
void add();
void queryal();
void delet();
//main1.cpp
#include<iostream.h>
#include"main1.h"
#include"market1.h"
market s;
void main()
{
int num;
while(1)
{
cout<<"\t商 品 管 理 系 统"<<endl;
cout<<endl;
cout<<"1-增加商品"<<endl<<endl;
cout<<"2-商品上架"<<endl<<endl;
cout<<"3-查询商品,\t,4-查询所有商品"<<endl<<endl;
cout<<"0-退出系统"<<endl<<endl;
cout<<" 主选择:";
cin>>num;
switch(num)
{
case 0:break;
case 1:append();break;
case 3: query();break;
case 2:add();break;
case 4:queryal();break;
}
if(num==0) break;
}
}
void append()
{
char name[20];
float price;
int number;
cout<<endl;
cout<<"请输入 商品名,价,数";
cin>>name>>price>>number;
s.appendgoods(name,price,number);
cout<<endl;
}
void query()
{
char name[20];
cout<<"请输入 查询名称";
cin>>name;
s.querygoods(name);
cout<<endl;
}
void add()
{
char name[20];
int number;
cout<<endl;
cout<<"请输入增加名,数";