一、题目描述
某商店出租音像制品,制品信息包括:类型、名称、租金单价、状态。
其中类型用单个数字表示,对应关系为:1-黑胶片,2-CD,3-VCD,4-DVD
名称是字符串,存储制品的名称信息
租金单价表示每天租金价格
状态用单个数字表示,0是未出租,1是已出租
商店提供业务操作包括
- 初始化(使用构造方法),从键盘输入音像制品的信息,并设置到对象中
- 查询print,输出音像制品的信息
- 计算租金fee,参数是租借的天数,输出租金总价,如果未出租则提示,具体输出信息看示范
请定义音像制品类,并创建相应的对象来完成操作
题目涉及的数值均用整数处理
二、输入与输出
1.输入
第一行输入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
2.输出
根据每个音像制品的操作命令,调用相应的操作,然后输出相关结果
输出样式看示范。
黑胶片[AAA]已出租
CD[BBB]未出租
未产生租金
VCD[CCC]已出租
当前租金为135
DVD[DDD]已出租
当前租金为224
三、参考代码
#include <iostream>
#include <vector>
#include<string>
#include<cmath>
#include <memory>
#include<iomanip>
using namespace std;
class yin
{
int id;
string name;
int day;
int go;
public:
yin(){}
yin(int i, string n, int d, int g)
{
id = i;
name = n;
day = d;
go = g;
}
void getfee(int num)
{
if (num == 0)
{
if (go == 1)
{
cout << "已出租" << endl;
}
else
{
cout << "未出租" << endl;
}
}
else
{
if (go == 0)
{
cout << "未出租" << endl;
cout << "未产生租金" << endl;
}
else
{
cout << "已出租" << endl;
cout << "当前租金为" << day * num << endl;
}
}
}
void pri()
{
if (id == 1)
{
cout << "黑胶片[" << name << "]";
}
else if (id == 2)
{
cout << "CD[" << name << "]";
}
else if (id == 3)
{
cout << "VCD[" << name << "]";
}
else if (id == 4)
{
cout << "DVD[" << name << "]";
}
}
};
int main()
{
int sum;
int num;
int id;
string name;
int day;
int go;
cin >> sum;
while (sum--)
{
cin >> id >> name >> day >> go>>num;
yin a(id, name, day, go);
a.pri();
a.getfee(num);
}
}