小商品管理系统 - 木本
假设某商店有如下几种货品:衬衣、帽子、立柜。每一种货物都有与其关联的说明信息。
衬衣:单价、产地、布料;
帽子:单价、产地、布料、样式(平顶或尖顶);
立柜:单价、产地、木料、颜色。
对这些商品的操作有:商品的进库(增加某类商品及其库存量),商品的出库(减少某类商品及其库存量),某类货品总价格的计算。
要求自行设计数据结构,用类的继承与派生关系将上述的各种货品表示出来,并使用类的构造函数来初始化每一类对象的初始数据。而后将上述的商品管理计算机化,完成操作要求的功能。
二、实验过程(实验步骤、记录、数据、)
#include
#include
using namespace std;
class Shirt
{
public:
Shirt(double p=21,int n=21,string a=”江西“,string c=”棉质“):price(p),num(n),area(a),cloth(c){}
friend Shirt operator + (Shirt &sh,int a);
Shirt operator – (int a);
void input();
void output();
void change();
double sum();
double price;
int num;
string area;
string cloth;
};
class Hat:public Shirt
{
public:
Hat(double p=21,int n=21,string a=”江西“,string c=”棉质“,string h=”平顶“):Shirt(p,n,a,c),stytle(h){}
friend Hat operator + (Hat &h1,int a);
Hat operator – (int a);
void input();
void output();
void change();
// double sum();
string stytle;
};
class Closet :public Shirt
{
public:
Closet(double p=21,int n=21,string a=”江西“,string c=”白桦“,string h=”紫色“):Shirt(p,n,a,c),tree(c),colour(h){}
void input();
void output();
// double sum();
void change();
string tree;
string colour;
};
double Shirt::sum()
{
return num*price;
}
void Shirt::input()
{
cout<<“输入衬衣的价格: “;
cin>>price;
cout<<“输入衬衣的数量:“;
cin>>num;
cout<<“输入衬衣的产地:“;
cin>>area;
cout<<“输入衬衣的布料:“;
cin>>cloth;
}
void Shirt::output()
{
cout<<“输入衬衣的价格: “<<price<<endl;
cout<<“输入衬衣的数量:“<<num<<endl;
cout<<“输入衬衣的产地:“<<area<<endl;
cout<<“输入衬衣的布料:“<<cloth<<endl<<endl;
}
void Hat::input()
{
cout<<“输入帽子的价格: “;
cin>>price;
cout<<“输入帽子的数量:“;
cin>>num;
cout<<“输入帽子的产地:“;
cin>>area;
cout<<“输入帽子的布料:“;
cin>>cloth;
cout<<“输入帽子的布料:“;
cin>>stytle;
}
void Hat::output()
{
cout<<“输入帽子的价格: “<<price<<endl;
cout<<“输入帽子的数量:“<<num<<endl;
cout<<“输入帽子的产地:“<<area<<endl;
cout<<“输入帽子的布料:“<<cloth<<endl;
cout<<“输入帽子的样式:“<<stytle<<endl<<endl;
}
void Closet::input()
{
cout<<“输入立柜的价格: “;
cin>>price;
cout<<“输入立柜的数量:“;
cin>>num;
cout<<“输入立柜的产地:“;
cin>>area;
cout<<“输入立柜的木料:“;
cin>>tree;
cout<<“输入立柜的颜色:“;
cin>>colour;
}
void Closet::output()
{
cout<<“输入立柜的价格: “<<price<<endl;
cout<<“输入立柜的数量:“<<num<<endl;
cout<<“输入立柜的产地:“<<area<<endl;
cout<<“输入立柜的木料:“<<tree<<endl;
cout<<“输入立柜的颜色:“<<colour<<endl<<endl;
}
void Change(Shirt &s1,Hat &h1,Closet &c1)
{
int a;
cout<<“衬衣代号为:1,帽子代号为:2,立柜代号为:3″<<endl;
cout<<“请输入你想修改的商品代号:“;
cin>>a;
switch(a)
{
case 1: s1.change();break;
case 2:h1.change();break;
case 3:c1.change();break;
}
}
void Shirt::change()
{
string c,c1;int a;
cout<<“请输入要修改的信息:单价or数量or产地or布料: “;
cin>>c;
if(c==”单价“)
{cout<<“请输入新的单价:“;cin>>price;cout<<endl;output();}
else if (c==”数量“)
{
cout<<“是想增加库存量还是减少库存量:“;cin>>c1;
if(c1==”增加“)
{cout<<“请输入想增加的库存量:“;cin>>a;num=num+a;cout<<endl;output();}
else if(c1==”减少“)
{cout<<“请输入想减少的库存量:“;cin>>a;num=num-a;cout<<endl;output();}
}
else if(c==”产地“)
{cout<<“请输入新的产地:“;cin>>area;cout<<endl;output();}
else if(c==”布料“)
{cout<<“请输入新的布料:“;cin>>cloth;cout<<endl;output();}
}
void Hat::change()
{
string c,c1;int a;
cout<<“请输入要修改的信息:单价or数量or产地or布料or样式: “;cin>>c;
if(c==”单价“)
{cout<<“请输入新的单价:“;cin>>price;cout<<endl;output();}
else if (c==”数量“)
{
cout<<“是想增加库存量还是减少库存量:“;cin>>c1;
if(c1==”增加“)
{cout<<“请输入想增加的库存量:“;cin>>a;num=num+a;cout<<endl;output();}
else if(c1==”减少“)
{cout<<“请输入想减少的库存量:“;cin>>a;num=num-a;cout<<endl;output();}
}
else if(c==”产地“)
{cout<<“请输入新的产地:“;cin>>area;cout<<endl;output();}
else if(c==”布料“)
{cout<<“请输入新的布料:“;cin>>cloth;cout<<endl;output();}
else if(c==”样式“)
{cout<<“请输入新的样式:“;cin>>stytle;cout<<endl;output();}
}
void Closet::change()
{
string c,c1;int a;
cout<<“请输入要修改的信息:单价or数量or产地or木料or颜色: “;cin>>c;
if(c==”单价“)
{cout<<“请输入新的单价:“;cin>>price;cout<<endl;output();}
else if (c==”数量“)
{
cout<<“是想增加库存量还是减少库存量:“;cin>>c1;
if(c1==”增加“)
{cout<<“请输入想增加的库存量:“;cin>>a;num=num+a;cout<<endl;output();}
else if(c1==”减少“)
{cout<<“请输入想减少的库存量:“;cin>>a;num=num-a;cout<<endl;output();}
}
else if(c==”产地“)
{cout<<“请输入新的产地:“;cin>>area;cout<<endl;output();}
else if(c==”布料“)
{cout<<“请输入新的木料:“;cin>>tree;cout<<endl;output();}
else if(c==”颜色“)
{cout<<“请输入新的颜色:“;cin>>colour;cout<<endl;output();}
}
void Sum(Shirt &s1,Hat &h1,Closet &c1)
{
cout<<“输出个商品修改后的信息:“<<endl;
s1.output();
h1.output();
c1.output();
cout<<“衬衣的总价格:“<<s1.sum()<<endl;
cout<<“帽子的总价格:“<<h1.sum()<<endl;
cout<<“立柜的总价格:“<<c1.sum()<<endl;
}
int main()
{
Shirt s1,s2;
Hat h1,h2;
Closet c1,c2;
char c;system(“pause”);
system(“mode con cols=90 lines=40”);
system(“title 小商品管理“);
system(“color 85”);
s1.output();h1.output();c1.output();
cout<<“是否想修改数据???Y or N: “;
cin>>c;system(“cls”);system(“pause”);
while(c==\’Y\’)
{
Change(s1,h1,c1);
cout<<“是否想继续修改商品信息??? Y or N: “;
cin>>c;system(“cls”);system(“pause”);
}
cout<<endl<<“是否想要把每一类商品总价格???Y or N: “;cin>>c;system(“cls”);system(“pause”);
if(c==\’Y\’)
{
Sum(s1,h1,c1);
}
return 0;
}