首页 > 其他分享 >2023/4/17

2023/4/17

时间:2023-04-17 23:22:09浏览次数:37  
标签:string 17 int Bus 2023 Truck Vehicle Car

现在要开发一个系统,管理对多种汽车的收费工作。
给出下面的一个基类框架

class Vehicle

{

protected:

string NO;
 

public:

Vehicle(string n){

    NO = n;

}
 

virtual int fee()=0;//计算应收费用

};

以Vehicle为基类,构建出Car、Truck和Bus三个类。

Car的收费公式为: 载客数*8+重量*2

Truck的收费公式为:重量*5

Bus的收费公式为: 载客数*3

生成上述类并编写主函数

主函数根据输入的信息,相应建立Car,Truck或Bus类对象,对于Car给出载客数和重量,Truck给出重量,Bus给出载客数。假设载客数和重量均为整数

输入格式:第一行输入测试用例数。接着每个测试用例占一行,每行给出汽车的基本信息,第一个数据为当前汽车的类型:1为car,2为Truck,3为Bus。第二个数据为它的编号,接下来Car是载客数和重量,Truck要求输入重量,Bus要求输入载客数。

要求输出各车的编号和收费。

裁判测试程序样例:

 
#include<iostream>
#include <string>
using namespace std;
class Vehicle
{
protected:
    string NO;//编号
public:
    Vehicle(string n){        NO = n;  }
    virtual int fee()=0;//计算应收费用
};

class Car:public Vehicle{
private:
int cx;
int wx;
public:
Car(string s,int a,int b):Vehicle(s),cx(a),wx(b){};
int fee();
};

class Truck:public Vehicle{
private:
int wx;
public:
Truck(string s,int b):Vehicle(s),wx(b){};
int fee();
};

class Bus:public Vehicle{
private:
int cx;
public:
Bus(string s,int a):Vehicle(s),cx(a){};
int fee();
};

int Car::fee(){
int s;

s=cx*8+wx*2;
return s;
}

int Truck::fee(){
return wx*5;
}

int Bus::fee(){
return cx*3;
}


int main()
{
    Car c("",0,0);
    Truck t("",0);
    Bus b("",0);
    int i, repeat, ty, weight, guest;
    string no;
    cin>>repeat;
    for(i=0;i<repeat;i++){
        cin>>ty>>no;
        switch(ty){
            case 1: cin>>guest>>weight; c=Car(no, guest, weight); cout<<no<<' '<<c.fee()<<endl; break;
            case 2: cin>>weight; t=Truck(no, weight); cout<<no<<' '<<t.fee()<<endl; break;
            case 3: cin>>guest; b=Bus(no, guest); cout<<no<<' '<<b.fee()<<endl; break;
        }
    }
    return 0;
}
 

输入样例:

4
1 002 20 5
3 009 30
2 003 50
1 010 17 6
 

输出样例:

002 170
009 90
003 250
010 148

标签:string,17,int,Bus,2023,Truck,Vehicle,Car
From: https://www.cnblogs.com/wangxinyuan1108/p/17327944.html

相关文章

  • 2023.04.17 定时测试随笔 T2
    T2P2306被yyh虐的mzc传送门:洛谷P2306很显然的一道背包,但是\(n,m<=1e5\),普通的背包会T飞,怎么办呢。。。认真看一下数据规模,\(a[i],b[i]<=10\)那么\(a[i],b[i]\)组合最多\(100\)种不同的家丁,说明会有重复,那么我们把所有重复的记在\(t[a[i]][b[i]]\)中,那这样就......
  • 每日总结2023-04-17
    今天完成了不同用户的查看数据库、每日收入查看等情况,并且可以实时更新。完成了Android查看当天营销数据这一项。把前几天的剩余事项完成,开心!o(* ̄▽ ̄*)ブ   ......
  • 【230417-3】某台小型晚会由6个节目组成,演出顺序有如下要求:节目甲必须排在前两位,节目
    ......
  • 【230417-4】甲乙二人从4门课程中各选修2门,则甲乙所选的课程中至少有1门不相同的选法
    ......
  • 【230417-6】若a-b=4,ab+x^2-6x+13=0. 求:x^a+x^b=?
    ......
  • 为什么2017年之后操作系统仍将扮演重要角色?
    操作系统的历史虽然不像计算科学那么久远,但却也已经拥有相当可观的发展历程。大型机客户于上世纪五十年代末编写了第一批操作系统,这些系统直到数十年后的今天仍拥有相当的知名度——其中包括来自IBM公司的OS/360以及贝尔实验室打造的Unix。在可预期的未来,操作系统仍将继续......
  • 为什么2017年之后操作系统仍将扮演重要角色?
    操作系统的历史虽然不像计算科学那么久远,但却也已经拥有相当可观的发展历程。大型机客户于上世纪五十年代末编写了第一批操作系统,这些系统直到数十年后的今天仍拥有相当的知名度——其中包括来自IBM公司的OS/360以及贝尔实验室打造的Unix。在可预期的未来,操作系统仍将继续......
  • 为什么2017年之后操作系统仍将扮演重要角色?
    操作系统的历史虽然不像计算科学那么久远,但却也已经拥有相当可观的发展历程。大型机客户于上世纪五十年代末编写了第一批操作系统,这些系统直到数十年后的今天仍拥有相当的知名度——其中包括来自IBM公司的OS/360以及贝尔实验室打造的Unix。在可预期的未来,操作系统仍将继续......
  • 4.17
    今天我完成了之前登录的修改,修复了点bug,写了主页面,然后通过seesion存取身份,主页面可以判断身份然后调取身份,基本完成了团队交给的任务遇到的问题:HttpServletResponse应用(三)sendRedirect()实现请求重定向不懂。把Sring当成int来做了 ......
  • 4.17博客
    写了:按上周六开会修改了之前的管理员流程,在赵胜府页面添加了自己的功能。问题:小组项目就做了些修改,之前的教学班信息和登陆注册信息表除了冲突准备:删除管理员信息修改功能,学生信息添加(以后人脸信息添加再做)。其他:完成上课科技政策查询系统修改要求,已经达到标准。 ......