一个商品管理系统代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include
#include
#include
#include
#include
using namespace std;

class Goods //商品结点类
{
public:
Goods(){
next=0;
price=num=0;
name;
brand;
}
Goods *next;
long price;
long num;
char name[10];
char brand[20];
};

class Stock //链表类
{
public:
Stock(){head=rear=0;} //头指针,尾指针
Goods *head;
Goods *rear;
};

class A //文件用类
{
private:
int id2;

public:
static int id;
A(){id++;id2=id;next=0;} /////类内元素定义
void showid()
{
cout<}
A *next;
};
int A :: id =0;



//////////////////////////////2 日常操作下函数//////////////////////////////////
//////////////////////////////a 初始化函数start/////////////////////////////////
/*void start(Goods zero,Goods max,Stock stock1)
{
// Stock stock1=new Stock();

zero.price=0;//新建一个价格为0的虚拟物品作为头结点
zero.num=1;
strcpy(,"zeros");
strcpy(zero.brand,"zeros");

max.price=130000;//新建一个价格极大的虚拟物品作为尾结点
max.num=1;
strcpy(,"maxs");
strcpy(max.brand,"maxs");

}*/

/////////////////////////////b 录入新商品///////////////////////////////////////
void add(Goods zero,Goods max,Stock stock1)
{
Goods a;
cout<<"请输入商品名称"<cin>>;
[9]='\0';
cout<<"请输入商品品牌"<cin>>a.brand;
a.brand[19]='\0';
cout<<"请输入商品价格"<cin>>a.price;
cout<<"请输入购置数量"<cin>>a.num;
Goods *p;
Goods *r;
p=stock1.head->next;

r=stock1.head;

int i=1;

while(i==1)
{
/*if(a.priceprice&&a.price>r->price)
{*/
if(a.price-p->price<=0)
{
cout<<"d";
a.next=r->next;
r->next=&a;
i=0;
}
else
{
r=p;
p=p->next;
}

}
cout<<"购置商品成功"<
}

////////////////////////////c 商品下架//////////////////////////////////////////
void del(Goods zero,Goods max,Stock stock1)
{
Goods a;
cout<<"请输入买出商品名称"<cin>>;
[9]='\0';
Goods *p;
Goods *r;
p=stock1.head->next;
r=stock1.head;
while(p!=NULL)
{
if(==p->name)
{
break;
r=p;
p=p->next;
}
}
r->next=p->next;
cout<<"清除商品成功"<}
////////////////////////////d 进货提货处理//////////////////////////////////////
int io(Goods zero,Goods max,Stock stock1)
{
Goods *p;
p=zero.next;
char jt;
char nm[10];
int no;
cout<<"进货请按j,提货请按t"<cin>>jt;
cout<<"请输入商品名称"<cin>>nm;
cout<<"请输入数量"<cin>>no;
if(strcmp(p->name,

nm)!=0)
{
p=p->next;
}
switch(jt)
{
case'j':{p->num=p->num+no;}break;
case't':{p->num=p->num-no;}break;
}
system("pause");
return 0;
}

////////////////////////////e 转换成文件////////////////////////////////////////
int save(Goods zero,Goods max,Stock stock1)
{

Goods *p;
// p=new A;
fstream file;
file.open("E:file.txt",ios::out);
p=stock1.head->next;
while(p!=0)
{
file.write((char *)p,sizeof(A));
p=p->next;
}
file.close();
return(1);
}


////////////////////////////f 转换回链表////////////////////////////////////////
void load( Stock stock1)
{

fstream file;
file.open("E:file.txt",ios::in);
while(1)
{
Goods *p;
if(file.read((char *)p,sizeof(A))==0)break;
stock1.rear->next=p;
stock1.rear=p;
}

}

//////////////////////////////1 信息管理下函数//////////////////////////////////
void infocheck(Goods zero,Goods max,Stock stock1)
{
Goods *p;
p=zero.next;
// p=&zero;
cout<cout<<"商品名称"<<" "<<"商品品牌"<<" "<<"价格"<<" "<<"库存数量"<int i=0;
while (i==0)
{
if(strcmp(p->name,)!=0)
{
cout<name<<" "<brand<<" "<price<<" "<num<p=p->next;
}
else
{
cout<<" 【列表结束】" <i=1;
}
}
}







int main()
{
Stock stock1;
Goods zero;
stock1.head=&zero;
Goods max;
stock1.rear=&max;
zero.next=&max;


zero.price=0;//新建一个价格为0的虚拟物品作为头结点
zero.num=1;
strcpy(,"zeros");
strcpy(zero.brand,"zeros");

max.price=130000;//新建一个价格极大的虚拟物品作为尾结点
max.num=1;
strcpy(,"maxs");
strcpy(max.brand,"maxs");


char g1;
char g2;
int i=1;
while(i==1)
{
cout<<"请选择功能:1 信息管理 2 日常操作(进出货记录及数据保存)";
cin>>g1;
switch(g1)
{
case'1':{infocheck(zero,max,stock1);}break;
case'2':{cout<<"请选择操作: b 录入新商品 c 商品下架 d 进货提货处理 e 转换成文件 f 转换成链表 q 退出本系统";
cin>>g2;
switch(g2)
{
case'b':{add(zero,max,stock1);}break;
case'c':{del(zero,max,stock1);}break;
case'd':{io(zero,max,stock1);}break;
case'e':{save(zero,max,stock1);}break;
case'f':{load(stock1);}break;
case'q':i=0;
};
}break;
default:{cout<<"输入错误!";}break;
};
}
}

相关文档
最新文档