优惠书价计算---c++--软件工程

一、题目

书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:
                               本数                  折扣
                                   2                       5%
                                   3                       10%
                                   4                       20%
                                   5                       25%

根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
设计算法能够计算出读者购买一批书的最低价格。

二、设计思路

1.分为5种情况:数量模5求余,找出每种情况的最优算法,代入数量即可。

三、源代码

//作者:董龙洋  日期:2015.04.15
#include<iostream.h>
int main()
{
    double money;
    int num,m; 
    cout<<"**********购书优惠计算小程序***********"<<endl;
    cout<<endl;
    cout<<"请输入购买数量num:"<<endl;
    cin>>num;
    cout<<endl;
    m=num%5;
    m=m+5;
    switch(m)
    {
     
        case 5:
            money=num*8*0.75;
            break;
        case 6:
            money=(num-1)*8*0.75+8;
            break;
        case 7:
            money=(num-2)*8*0.75+8*2*0.95;
            break;
        case 8:
            money=(num-8)*8*0.75+4*8*0.8*2;
            break;
        case 9:
            money=(num-4)*8*0.75+8*4*0.8;   
            break;
        }
    cout<<"最优惠总书价:"<<money<<""<<endl;
}

四、运行结果

五、实验心得

这是个数学题不是程序题,搞清算法,就很简单了。只要别搞错5种情况的具体算法,结果就是对的。

原文地址:https://www.cnblogs.com/dlyxx/p/4429206.html