题目描述
某商店出租音像制品,制品信息包括:类型、名称、租金单价、状态。
其中类型用单个数字表示,对应关系为:1-黑胶片,2-CD,3-VCD,4-DVD 名称是字符串,存储制品的名称信息 租金单价表示每天租金价格
状态用单个数字表示,0是未出租,1是已出租
商店提供业务操作包括
- 初始化(使用构造方法),从键盘输入音像制品的信息,并设置到对象中
- 查询Print,输出音像制品的信息
- 计算租金Fee,参数是租借的天数,输出租金总价,如果未出租则提示,具体输出信息看示范
请定义音像制品类,并创建相应的对象来完成操作 题目涉及的数值均用整数处理
输入
第一行输入n表示有n个音像制品 每个音像制品对应两行输入
一行输入一个音像制品的多个参数,具体为:类型、名称、租金单价、状态
一行输入操作命令,如果输入为0表示查询操作,非0则表示查询并且计算租金费用,租用天数就是这个非0值 依次输入2n行
输出
根据每个音像制品的操作命令,调用相应的操作,然后输出相关结果 输出样式看示范。样例输入
4
1 AAA 43 1 0
2 BBB 19 0 3
3 CCC 27 1 5
4 DDD 32 1 7
样例输出
黑胶片[AAA]已出租
CD[BBB]未出租
未产生租金
VCD[CCC]已出租
当前租金为135
DVD[DDD]已出租
当前租金为224
#include<iostream>
#include<string.h>
using namespace std;
class Audio{
public:
void Set_name(char *name){
A_name=name;
}
void Set_price(int price){
A_price=price;
}
void Set_state(int state){
A_state=state;
}
void Print(int type,int order);
private:
char A_type[4][50]={"黑胶片","CD","VCD","DVD"};//每种类型胶片的放入数组
char *A_name;
int A_price;
int A_state;
};
void Audio::Print(int type,int order){
if(order==0){//题目要求命令=0时,只查询是否出租
if(A_state==0)
cout<<A_type[type-1]<<"["<<A_name<<"]未出租"<<endl;//A_type[type-1]减1是因为数组从0开始的
if(A_state!=0)
cout<<A_type[type-1]<<"["<<A_name<<"]已出租"<<endl;
}
if(order!=0){//题目要求命令=1时,则还需要输出是否产生租金及产生多少租金
if(A_state==0)
cout<<A_type[type-1]<<"["<<A_name<<"]未出租\n未产生租金"<<endl;
else
cout<<A_type[type-1]<<"["<<A_name<<"]已出租\n当前租金为"<<order*A_price<<endl;
}
}
int main(){
int n,type,price,state,order;//order是操作命令
char name[50];
Audio ccc;
cin>>n;
for(int i=0;i<n;i++){
cin>>type>>name>>price>>state>>order;
ccc.Set_name(name);
ccc.Set_price(price);
ccc.Set_state(state);
ccc.Print(type,order);
}
}