• 书店折扣问题


    1.设计题目

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

    2.设计要求

         根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
         设计算法能够计算出读者购买一批书的最低价格。
    要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。

    3.设计思想

        能够确定的是5本下的购买数量,买不同卷的书是最便宜的,大于5本的需要分两种情况, 6本5,1分配;7本5,2分配;8本4,4分配,9本,5,4分配,10本,5,5分配为最佳。

    4.代码

     1 #include<iostream>
     2 using namespace std;
     3 int main()
     4 {
     5     int num;
     6     int m;
     7     int n,d;
     8     double sum;
     9     do{
    10         cout<<"请输入要买图书本书:";
    11         cin>>num;
    12     
    13         if(num<=0)
    14         {
    15             cout<<"请重新输入要买图书个数:";
    16         }
    17         else if(num>0)
    18         {
    19             m=num/5;
    20             n=num%5;
    21             if(m==0)
    22             {
    23                 if(n==0)
    24                 {
    25                     sum=0;
    26                 }
    27                 else if(n==1)
    28                 {
    29                     sum=8;
    30                 }
    31                 else if(n==2)
    32                 {
    33                     sum=8*2*(1-0.05);
    34                 }
    35                 else if(n==3)
    36                 {
    37                     sum=8*3*(1-0.10);
    38                 }
    39                 else if(n==4)
    40                 {
    41                     sum=8*4*(1-0.20);
    42                 }
    43             }
    44             else if(m>0)
    45             {
    46                 if(n==0)
    47                 {
    48                     sum=5*m*8*(1-0.25);
    49                 }
    50                 else if(n==1)
    51                 {
    52                     sum=5*8*m*(1-0.25)+8;
    53                 }
    54                 else if(n==2)
    55                 {
    56                     sum=5*8*m*(1-0.25)+8*2*(1-0.05);
    57                 }
    58                 else if(n==3)
    59                 {
    60                     sum=5*8*(m-1)*(1-0.25)+8*4*2*(1-0.20);
    61                 }
    62                 else if(n==4)
    63                 {
    64                     sum=5*8*m*(1-0.25)+8*4*(1-0.20);
    65                 }
    66             }
    67             cout<<"最低价格为:"<<sum<<""<<endl;
    68             cout<<"如果需要计算其他数量的价格请输1,否则0:";
    69       cin>>d;
    70       cout<<endl;}
    71     }
    72     while(d==1);
    73     return 0;
    74 }

    5、程序截图

    6、实验感想

      要对输入的变量进行运算时输入语句要放在运算语句前,否则无法运行,这是本次编程遇到的错误。我感觉这个程序可以用函数调用来做,可能代码会容易读一点,可能会少几个大括号吧。。

  • 相关阅读:
    maven项目编译漏掉src/main/java下的xml配置文件
    读《架构探险——从零开始写Java Web框架》
    使用generator自动生成Mybatis映射配置文件
    git项目添加.gitigore文件
    git-bash下, 启动sshd
    git-bash.exe参数
    少估了一分, 还算不错
    python常用库
    Linux下python pip手动安装笔记
    python学习笔记
  • 原文地址:https://www.cnblogs.com/cuipengbo/p/4429643.html
Copyright © 2020-2023  润新知