实验七(第八章)实践题一
对本章示范题的用于管理商店商品的实现程序进行完善:完成Wardrobe立柜类的具体定义与使用,并添加“帽子仓库类”以及“立柜仓库类”的定义及使用,以使程序能够对商店的这三种商品(衬衣、帽子、立柜)进行简单的管理与应用。
要对商品实现的操作有:商品的进库(增加某类商品及其库存量),商品的出库(减少某类商品及其库存量),以及某类商品总价格的计算。
【输入形式】
根据提示输入
【输出形式】
把处理后的数据输出
【样例】注意:红色为输入部分,黑色为输出部分。
5 * shirt data in: price/place/material =>60 Tianjin Cotton
3 * shirt data in: price/place/material =>80 Beijing Wool
60 Tianjin Cotton
60 Tianjin Cotton
60 Tianjin Cotton
60 Tianjin Cotton
60 Tianjin Cotton
80 Beijing Wool
80 Beijing Wool
80 Beijing Wool
shiSto.TotalPrice()=540
60 Tianjin Cotton
60 Tianjin Cotton
60 Tianjin Cotton
60 Tianjin Cotton
shiSto.TotalPrice()=240
5 * Cap data in: price/place/material/style =>40 Suzhou Cotton M
3 * Cap data in: price/place/material/style =>30 Wuxi Wool S
40 Suzhou Cotton M
40 Suzhou Cotton M
40 Suzhou Cotton M
40 Suzhou Cotton M
40 Suzhou Cotton M
30 Wuxi Wool S
30 Wuxi Wool S
30 Wuxi Wool S
capSto.TotalPrice()=290
40 Suzhou Cotton M
40 Suzhou Cotton M
40 Suzhou Cotton M
40 Suzhou Cotton M
capSto.TotalPrice()=160
5 * Wardrobe data in: price/place/material/color =>160 Guangzhou Pine Yellow
3 * Wardrobe data in: price/place/material/color =>200 Suzhou Oak Brown
160 Guangzhou Pine Yellow
160 Guangzhou Pine Yellow
160 Guangzhou Pine Yellow
160 Guangzhou Pine Yellow
160 Guangzhou Pine Yellow
200 Suzhou Oak Brown
200 Suzhou Oak Brown
200 Suzhou Oak Brown
WarSto.TotalPrice()=1400
160 Guangzhou Pine Yellow
160 Guangzhou Pine Yellow
160 Guangzhou Pine Yellow
160 Guangzhou Pine Yellow
WarSto.TotalPrice()=640
#include<iostream>
#include<cstring>
using namespace std;
class Base{
private:
double price;
char place[20];
int count;
public:
Base(double pr,char *pl,int cnt)
{
price = pr;
strcpy(place,pl);
count = cnt;
}
void display()
{
cout << price << " " << place<< " ";
}
void InSomething(int add_cnt)
{
count +=add_cnt;
}
void OutSomething(int del_cnt)
{
count -= del_cnt;
}
double TotalPrice()
{
return price;
}
};
class Shirt:public Base{
private:
char material[20];
public:
Shirt(double pr,char *pl,int cnt,char *mat):Base(pr,pl,cnt)
{
strcpy(material,mat);
}
void display()
{
Base::display();
cout <<material<< " ";
}
};
class Cap:public Shirt{
private:
char style;
public:
Cap(double pr,char *pl,int cnt,char *mat,char sty):Shirt(pr,pl,cnt,mat)
{
style = sty;
}
void display (){
Shirt::display();
cout <<style;
}
};
class Wardrobe:public Base{
private:
char material[20];
char color[20];
public:
Wardrobe(double pr,char *pl,int cnt,char *mat,char *col):Base(pr,pl,cnt)
{
strcpy(material,mat);
strcpy(color,col);
}
void display()
{
Base::display();
cout << material << " " << color;
}
};
int main(