【id:76】【20分】B. 商旅信用卡(多重继承)

news2024/11/24 19:42:34

 

题目描述

某旅游网站(假设旅程网)和某银行推出旅游综合服务联名卡—旅程信用卡,兼具旅程会员卡和银行信用卡功能。

旅程会员卡,有会员卡号(int)、旅程积分(int),通过会员卡下订单,按订单金额累计旅程积分。

信用卡,有卡号(int)、姓名(string)、额度(int)、账单金额(float)、信用卡积分(int)。------请注意数据类型

信用卡消费金额m,若超额度,则不做操作;否则,账单金额+m,额度-m,信用卡积分按消费金额累加。

信用卡退款m,账单金额-m,信用卡积分减去退款金额。

通过旅程信用卡在旅程网下单,旅程积分和信用卡积分双重积分(即旅程积分和信用卡积分同时增加)。

旅程信用卡可以按      旅程积分:信用卡积分= 1:2    的比例将信用卡积分兑换为旅程积分。

初始假设信用卡积分、旅程积分、账单金额为0。

根据上述内容,定义旅程会员卡类、信用卡类,从两者派生出旅程信用卡类并定义三个类的构造函数和其它所需函数。

生成旅程信用卡对象,输入卡信息,调用对象成员函数完成旅程网下单、信用卡刷卡、信用卡退款、信用卡积分兑换为旅程积分等操作。

输入

第一行:输入旅程会员卡号 信用卡号 姓名 额度

第二行:测试次数n

第三行到第n+2行,每行:操作 金额或积分

o   m(旅程网下订单,订单金额m)

c   m(信用卡消费,消费金额m)

q   m (信用卡退款,退款金额m)

t    m(积分兑换,m信用卡积分兑换为旅程积分)

输出

输出所有操作后旅程信用卡的信息:

旅程号   旅程积分

信用卡号  姓名   账单金额   信用卡积分


1000 2002  lili  3000
4
o 212.5
c 300
q 117.4
t 200
 


1000 312
2002 lili 395.1 195
 

#include<iostream>
using namespace std;

//旅程会员卡,有会员卡号(int)、旅程积分(int),通过会员卡下订单,按订单金额累计旅程积分。
class vip
{
protected:
    int number;
    int fen;
public:
    vip() {};
    //初始化赋值
    vip(int n)
    {
        number = n;
        fen = 0;
    }
};


//信用卡,有卡号(int)、姓名(string)、额度(int)、账单金额(float)、信用卡积分(int)。------请注意数据类型
class credic
{
protected:
    int number;
    string name;
    int edu;
    float jin;
    int fen;
public:
    credic() {};
    //初始化赋值
    credic(int n, string na, int e)
    {
        number = n;
        name = na;
        edu = e;
        jin = 0;
        fen = 0;
    }
    void sub(float money)
    {
        if (money < edu)
        {
            //单金额+m,额度-m,信用卡积分按消费金额累加。
            jin += money;
            edu -= money;
            fen += money;
        }
    }
    void withdraw(float m)
    {
        //信用卡退款m,账单金额-m,信用卡积分减去退款金额。
        jin -= m;
        fen -= m;
    }
};

//创建一个子类 继承两个父类
class vip1 :public credic, public vip
{
private:
    // 旅程积分:信用卡积分= 1:2    的比例将信用卡积分兑换为旅程积分。
public:
    //通过旅程信用卡在旅程网下单,旅程积分和信用卡积分双重积分(即旅程积分和信用卡积分同时增加)。
    vip1() {};
    //初始化赋值 
    vip1(int number1, int number2, string name, int edu) :vip(number1), credic(number2, name, edu)
    {

    }
    void add(float m)//通过旅程信用卡在旅程网下单,旅程积分和信用卡积分双重积分(即旅程积分和信用卡积分同时增加)。
                                  // o   m(旅程网下订单,订单金额m)
    {
        //即旅程积分和信用卡积分同时增加
        vip::fen += m;
        credic::fen += m;
        jin += m;
    }

    void change(float m)
    {
        credic::fen -= m;
        vip::fen += m / 2;
    }
    void print()
    {
        cout << vip::number << " ";
        cout << vip::fen << endl;
        cout << credic::number << " " << name << " " << jin << " " << int(credic::fen) + 1 << endl;
    }
};
int main()
{
    int number1, number2;
    string name;
    int edu;
    int n;
    cin >> number1 >> number2 >> name >> edu;//输入旅程会员卡号 信用卡号 姓名 额度
    vip1 v1(number1, number2, name, edu);//创建子类对象v1并且赋值
    cin >> n;//测试次数n
    char a;
    float w;
    for (int i = 0; i < n; i++)
    {
        cin >> a >> w;//操作  金额或积分
      /*  o   m(旅程网下订单,订单金额m)
        c   m(信用卡消费,消费金额m)
        q   m(信用卡退款,退款金额m)
        t    m(积分兑换,m信用卡积分兑换为旅程积分)*/

        if (a == 'o')// o   m(旅程网下订单,订单金额m)
        {
            v1.add(w);
        }
        else if (a == 'c')
        {
            v1.sub(w);
        }
        else if (a == 'q')
        {
            v1.withdraw(w);
        }
        else
        {
            v1.change(w);
        }
    }
    v1.print();
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/639242.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Cloud Kubernetes详解

目录 一、 为什么你需要 Spring Cloud Kubernetes&#xff1f; 二、 Starter 三、 用于 Kubernetes 的 DiscoveryClient 四、Kubernetes 原生服务发现&#xff08;service discovery&#xff09; 五、Kubernetes PropertySource 的实现 1、使用 ConfigMap PropertySource …

ssg标识符

1. 关键字&#xff08;keyword&#xff09; 定义&#xff1a;被Java语言赋予了特殊含义&#xff0c;用做专门用途的字符串&#xff08;或单词&#xff09; HelloWorld案例中&#xff0c;出现的关键字有 class、public 、 static 、 void 等&#xff0c;这些单词已经被Java定义…

【appium】appium自动化入门之API(上)

这个系列预计会讲启动APP—元素定位—初步使用—API命令详解 本系列没提过的知识点也不用急&#xff0c;大家可以点击文末小卡片进群来一起交流 目录 第 2 章 初步使用 2.1 启动 app&#xff08;淘宝&#xff09; 前言 2.1.1 下载 aapt 2.1.2 获取 apk 包名 2.1.3 获取 launch…

Linux之通配符、引号的使用

目录 Linux之通配符、引号的使用 通配符 定义 范围 用法及含义 案例 引号使用 案例 Linux之通配符、引号的使用 通配符 定义 通配符是一种特殊语句&#xff0c;主要有星号(*)、问号(?)等表示&#xff0c;用来模糊搜索文件&#xff0c;当查找目录或文件时&#xff0c;…

Gin微服务框架_golang web框架_完整示例Demo

Gin简介 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站 Gin是一个golang的微框架&#xff0c;封装比较优雅&#xff0c;API友好&#xff0c;源码注释比较明确&#xff0c;具有快速灵活&…

Spark入门

Spark概述 1.1 什么是Spark 回顾&#xff1a;Hadoop主要解决&#xff0c;海量数据的存储和海量数据的分析计算。 Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。 1.2 Hadoop与Spark历史 MR是进程模型&#xff0c;ResourceManager NodeManager都是进程&…

107-Spring的底层原理(上篇)

Spring的底层原理 之前说明的都是Spring的应用&#xff08;64章博客开始&#xff08;包括其后面的相关博客&#xff09;&#xff09;&#xff0c;现在来说明他为什么可以那样做 在说明之前&#xff0c;这里需要对64章博客中的spring的了解需要再次的说明&#xff1a; Spring…

Unity中UI方案。IMGUI、UIElement、UGUI、NGUI

引言 unity中有很多ui方案&#xff0c;各种方案有什么优势劣势&#xff0c;这里一一列举一下&#xff0c;知识扩充一下。 UI方案适用范围IMGUI仅用于Editor扩展&#xff0c;或运行时DebugUIElement可用于发布运行时和EditorUGUIRuntime&#xff0c;两大主流 UI 解决方案之一NG…

python语法-MySQL数据库(综合案例:读取文件,写入MySQL数据库中)

python语法-MySQL数据库 综合案例&#xff1a;读取文件&#xff0c;写入MySQL数据库中 &#xff08;项目数据见文章末参考内容&#xff09; 解析&#xff1a; sql代码如下&#xff1a; create database pysql charset utf8;use pysql;select database();create table orders…

华为OD机试真题 JavaScript 实现【求小球落地5次后所经历的路程和第5次反弹的高度】【牛客练习题 HJ38】

一、题目描述 假设一个球从任意高度自由落下&#xff0c;每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时&#xff0c;共经历多少米?第5次反弹多高&#xff1f; 数据范围&#xff1a;输入的小球初始高度满足 1 \le n \le 1000 \1≤n≤1000 &#xff0c;且保证是一…

今年十八,期末速刷(操作系统篇1)

马上期末了&#xff0c;想问问各位期末考几科 我家学校网安考7科呜呜呜 只能出点文章一把梭了。。。 争取只挂一科 先来先算法&#xff08;FCFS&#xff09; 算法思想 我今天学FCFS只有一个要求 公平、公平 还是tnd公平 算法规则 按照进程的先后顺序来进行服务。 是否…

Web自动化测试:WebDriverWait元素等待和全局设置

由于现在部分web应用加载方式的选择&#xff0c;页面会需要一定时间逐渐加载完毕&#xff0c;也就是说有的页面元素先加载出来&#xff0c;有的元素后加载出来。如果直接定位所查找的元素的话&#xff0c;可能会由于此元素尚未加载完毕找不到元素从而报错&#xff0c;由于网络不…

leetcode 647.回文子串

题目描述 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串&#xff0c;即使是由相同的字符组成&#xff0c;也会…

【干货】有效的项目绩效管理评估,能成为组织成长的引擎

是谁已经开始在写年中总结了&#xff1f; 对于这件事&#xff0c;项目经理们肯定不会缺席&#xff0c;毕竟每周、每月、每个季度都少不了项目报告。这两天项目经理小刘&#xff0c;还在办公室吐槽项目绩效的数据实在太差了&#xff0c;询问如何能巧妙美化数据&#xff0c;这是…

算法学习day20

文章目录 513.找树左下角的值递归迭代 112 .路径总和递归迭代 113.路径总和II递归 106.从中序与后序遍历序列构造二叉树递归 105.从前序与中序遍历序列构造二叉树卡尔递归版本递归优化 总结 513.找树左下角的值 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底…

K8S从入门到精通之基本组件介绍

文章目录 0.前言k8s 的dashboard基本组件活动图 1. 基本概念1.1. kube-apiserver1.2. etcd1.3. kube-scheduler1.4. kube-controller-manager1.5. kubelet1.6. kube-proxy1.7. coredns&#xff1a;1.8. Container Runtime1.9. Ingress Controller1.10. Storage Plugin1.11. Das…

原点安全携“金融机构消费者个人信息保护解决方案”亮相 2023 中国金融数字化转型发展大会

6 月 7 日&#xff0c;由中国金融电子化集团有限公司、南京市建邺区人民政府、中国人民银行南京分行主办&#xff0c;主题为“数驱转型 智创未来”的「2023 中国金融数字化转型发展大会暨第十三届中国城市商业银行信息化发展创新座谈会」于南京国际博览中心隆重召开。 本次会议…

使用POI实现JAVA操作Excel

Apache POI POI提供API给JAVA程序对Microsoft Office格式档案读和写的功能 POI工具介绍 POI 是用Java编写的免费开源的跨平台的 Java API&#xff0c;Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。主要是运用其中读取和输出excel的功能。 POI官网地…

每日一练 | 华为认证真题练习Day57

1、两台路由器通过PPP链路互连&#xff0c;管理员在两台路由器上配置了OSPF&#xff0c;且运行在同一个区域中&#xff0c;如果它们的Router ID相同&#xff0c;则下面描述正确的&#xff08;&#xff09;。 A. 两台路由器将会建立正常的完全邻居关系 B. 两台路由器将不会互相…