• 课堂练习之书店促销


    一 实验题目:

    在节假日的时候,书店都会做促销活动。由于《哈利波特》系列相当畅销,店长决定通过促销活动来回馈读者。在销售《哈利波特》平装本系列中,一共有五卷,用编号0,1,2,3,4来表示。假设每一卷单独销售均需要8欧元。如果读者一次购买不同的两卷,就可以扣除5%的费用,三卷则更多。假设具体的折扣情况如下:

    本数          折扣

          2          5%

          3          10%

          4           20%

          5           25%

    在一份订单中,根据购买的卷数以及本数,就会出现可以应用不同折扣规则的情况。但是,一本书只会应用一个折扣规则。比如,读者一共买了两本卷一,一本卷二。那么,可以享受5%的折扣,另外一本卷一则不能享受折扣。如果有多种折扣,希望能够计算出的总额尽可能的低。要求根据这样的需求,设计算法,能够计算出读者所购买的一批书的最低价格。

    二 设计思想:

          由题目要求可知:2本   便宜5%,3本  便宜10%,4本   便宜20%,5本   便宜25%。所以1~5本按照每册买一本来买最便宜;6~10本则要看情况计算,6本  按照5册加一本  也就是5*单价*(1-25%)+1*单价;7本则是  5*单价*(1-25%)+2*单价*(1-5%);8本 是4*单价*(1-20%)*2;9本 是4*单价*(1-20%)+5*单价*(1-25%);10本以上整数部分按套买,个数部分则和前面一样。

    三 程序代码:

    //2016 6 3
    //二十划生 课堂练习之最划算的买书方法
    #include <iostream>
    
    using namespace std;
    
     
    
    void main()
    
    {
    
        int num,a,b;
    
        double sumprice;
    
     
    
        cout<<"请输入要买的书的本数:"<<endl;
    
        cin>>num;
    
        a=num/5;
    
        b=num%5;
    
     
    
        cout<<"最低价格为:";
    
        if(num<=5)
    
        {
    
            if(num==1)
    
            {
    
                sumprice=1;
    
            }
    
            else if(num==2)
    
            {
    
                sumprice=2*(1-0.05);
    
            }
    
            else if(num==3)
    
            {
    
                sumprice=3*(1-0.1);
    
            }
    
            else if(num==4)
    
            {
    
                sumprice=4*(1-0.2);
    
            }
    
            else if(num==5)
    
            {
    
                sumprice=5*(1-0.25) ;
    
            }
    
        }
    
        else
    
        {
    
            if(b==0)
    
            {
    
                sumprice=a*5*(1-0.25);
    
            }
    
             
    
            if(b==1)
    
            {
    
                sumprice=a*5*(1-0.25)+1;
    
            }
    
     
    
            if(b==2)
    
            {
    
                sumprice=a*5*(1-0.25)+2*(1-0.05);
    
            }
    
     
    
            if(b==3)
    
            {
    
                sumprice=(num-8)/5*5*(1-0.25)+4*2*(1-0.2);
    
            }
    
     
    
            if(b==4)
    
            {
    
                sumprice=a*5*(1-0.25)+4*(1-0.2);
    
            }
    
        }
    
        cout<<sumprice<<endl;
    
    } 
    
    
     

    四 运行结果

    五 心得体会

        本次的题目比较简单,由于老师在课堂上已经给出了具体的规律,所以较好实现。

  • 相关阅读:
    MFC对话框编程详细学习笔记
    VS2013 MFC基于对话框编程
    Java学到什么程度可以找到第一份工作
    搞定操作系统面试,看这篇就够了
    搞定计算机网络面试,看这篇就够了
    一千行 MySQL 学习笔记
    后端工程师技术面试复习大纲
    爬虫功能
    昨天的一卦,真的太形象,可惜我就是不敢断
    基于maven+ssm的增删改查之批量删除
  • 原文地址:https://www.cnblogs.com/wangzongze/p/5560120.html
Copyright © 2020-2023  润新知