博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
6-158 停车场收费问题 (20分)
阅读量:3951 次
发布时间:2019-05-24

本文共 3957 字,大约阅读时间需要 13 分钟。

东软学习小组成员:夜枫

在停车场收费系统中,收费者会根据车型的不同按不同的单价和计费方式收取不同的停车费,其中:

轿车Car:每小时8元,超过30分钟按一小时计算,未超过30分钟不收费
客车Bus:每小时10元,30分钟以内按半小时计费,未达1小时但超过30分钟按1小时计算
货车Truck:每小时15元,未达1小时的按1小时计算
其他未知类型:按默认方法计算,见裁判程序。
请补充必要的类和函数定义,使停车场类Parker可收取停入的n辆车的费用。

裁判测试程序样例:

#include 
#include
using namespace std;const float Car_Price= 8;const float Bus_Price= 10;const float Truck_Price=15;class Vehicle{
protected: float price; int minute; public: virtual float computeFee(){
return 20.0f*minute/60;}; virtual string getType(){
return "unknow"; }; float getPrice(); void setPrice(float _price); int getMinute(); void setMinute(int _minute); Vehicle(float _price,int _minute); Vehicle(){
};};/* 你的代码将被嵌入这里 */int main(){
int n,minute; //停车辆次,时长 char type; Vehicle *vp; Parker p; cin>>n; for(int i=1;i<=n;i++){
cin>>type>>minute; switch(type){
case 'c':vp=new Car(minute);break; case 't':vp=new Truck(minute);break; case 'b':vp=new Bus(minute);break; default: vp=new Vehicle();vp->setMinute(minute); } cout<<"type:"<
getType() <<" minute:"<
getMinute()<<" fee:"<
computeFee()<

输入样例:

输入的第一行为进入停车场的车辆总数n. 接下来有n行输入,每行为一辆车的类型及停车时长,时长单位为分钟,类型’c’代表Car,类型’b’代表Bus,类型’t’代表Truck,其他字符则为未知类型。

3c 40t 5b 40

输出样例:

输出为n+1行,前n行输出每辆车的类型,停车时长,收取的费用,最后一行输出目前停车场得到的停车费总额。

type:car minute:40 fee:8type:truck minute:5 fee:15type:bus minute:40 fee:10sum=33

部分代码:

float Vehicle::getPrice(){
return price;}int Vehicle::getMinute(){
return minute;}void Vehicle::setPrice(float _price){
price=_price;}Vehicle::Vehicle(float _price,int _min){
price=_price; minute=_min;}void Vehicle::setMinute(int _minute){
minute=_minute;}class Car:public Vehicle{
public: Car(int _minute){
minute=_minute; price=Car_Price; }; virtual float computeFee(){
double time=(minute+30)/60; return price*time; }; virtual string getType(){
return "car"; };};class Bus:public Vehicle{
public: Bus(int _minute){
minute=_minute; price=Bus_Price; }; virtual float computeFee(){
double time=minute/30; if(time*30
computeFee(); } double getSum(){
return sum; }};double Parker::sum=0;

全部代码:

#include 
#include
using namespace std;const float Car_Price= 8;const float Bus_Price= 10;const float Truck_Price=15;class Vehicle{
protected: float price; int minute; public: virtual float computeFee(){
return 20.0f*minute/60;}; virtual string getType(){
return "unknow"; }; float getPrice(); void setPrice(float _price); int getMinute(); void setMinute(int _minute); Vehicle(float _price,int _minute); Vehicle(){
};};float Vehicle::getPrice(){
return price;}int Vehicle::getMinute(){
return minute;}void Vehicle::setPrice(float _price){
price=_price;}Vehicle::Vehicle(float _price,int _min){
price=_price; minute=_min;}void Vehicle::setMinute(int _minute){
minute=_minute;}class Car:public Vehicle{
public: Car(int _minute){
minute=_minute; price=Car_Price; }; virtual float computeFee(){
double time=(minute+30)/60; return price*time; }; virtual string getType(){
return "car"; };};class Bus:public Vehicle{
public: Bus(int _minute){
minute=_minute; price=Bus_Price; }; virtual float computeFee(){
double time=minute/30; if(time*30
computeFee(); } double getSum(){
return sum; }};double Parker::sum=0;int main(){
int n,minute; //停车辆次,时长 char type; Vehicle *vp; Parker p; cin>>n; for(int i=1;i<=n;i++){
cin>>type>>minute; switch(type){
case 'c':vp=new Car(minute);break; case 't':vp=new Truck(minute);break; case 'b':vp=new Bus(minute);break; default: vp=new Vehicle();vp->setMinute(minute); } cout<<"type:"<
getType() <<" minute:"<
getMinute()<<" fee:"<
computeFee()<

pta通过测试:

在这里插入图片描述

转载地址:http://lggwi.baihongyu.com/

你可能感兴趣的文章
ubuntu安装命令
查看>>
和上司沟通必备8个黄金句
查看>>
联系查看两张卡的未接电话记录
查看>>
Python 3 之多线程研究
查看>>
APP第三方登录实现步骤
查看>>
KVO & KVC 比较 - KVC
查看>>
iOS-tableView联动
查看>>
iOS--Masonry解决 tableViewCell 重用时约束冲突
查看>>
git 与 svn 的主要区别!
查看>>
iOS-截屏,从相册选择图片,制作磨砂效果图片
查看>>
iOS-截取字符串中两个指定字符串中间的字符串
查看>>
数据库-数据库操作(使用FMDB)
查看>>
FMDB介绍以及在 swift 中的数据库操作
查看>>
iOS运行时机制(附Demo演练)
查看>>
宽字符串输出问题
查看>>
将整数转换为宽字符串
查看>>
在类中定义enum实现整数常量功能
查看>>
suse11通过安装最新内核可以上网的经验
查看>>
SUSE静态配置IP成功上网
查看>>
通过sleep让程序等待外部条件改变
查看>>