软件工程课堂练习 图书折扣问题
一、题目要求
书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:
本数 折扣
2 5%
3 10%
4 20%
5 25%
根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。设计算法能够计算出读者购买一批书的最低价格。
二、设计思路
本来上课的是时候是有思路的,课下了去百度了一下这个问题然后发现时老师给推荐的那本好像叫编程之美那本书里面的比较经典的的例题,本来想去看一下大神们的思路的,但是越看越看不懂。。只能说程序员哥哥们的语文基础差的一逼,所以干脆就还是按照我自己的思路来了,就是把所有买书的本书除以5求余加5,然后就会得到6789这四个数,依次分别算一下需要多少怎么安排最合算就好了再加上之前的剩下的书肯定是5的倍数,就好算了剩下的。恩恩 就这么来。
三、代码
1 #include<iostream.h> 2 int main() 3 { 4 int a,b,c; 5 float h1,h2,h3,sum1,sum2,sum; 6 cout<<"输入要购买的的本数:"; 7 cin>>a; 8 b=a%5+5; 9 c=a/5-1; 10 sum1=c*8; 11 if(a%5==0) 12 { 13 sum=a/5*8*0.8; 14 } 15 else 16 { 17 switch(b) 18 { 19 case 6: 20 h1=3*8*0.9*2; 21 h2=4*8*0.8+2*8*0.95; 22 h3=5*8*0.75+8; 23 if(h1>h2) 24 { 25 h1=h2; 26 } 27 if(h1>h3) 28 { 29 h1=h3; 30 } 31 break; 32 case 7: 33 h1=5*8*0.75+2*8*0.95; 34 h2=4*8*0.8+3*8*0.9; 35 if(h1>h2) 36 { 37 h1=h2; 38 } 39 break; 40 case 8: 41 h1=4*8*0.8*2; 42 h2=5*8*0.75+3*8*0.9; 43 if(h1>h2) 44 { 45 h1=h2; 46 } 47 break; 48 case 9: 49 h1=5*8*0.75+4*8*0.8; 50 break; 51 } 52 sum2=h1; 53 sum=sum1+sum2; 54 } 55 cout<<sum<<endl; 56 return 0; 57 }
四、运行结果
看到大家都是用的买八本书 我也买八本书啦~~~~
五、总结心得
这次做得还算顺利,虽然每次编写代码只是知道思想,却从不会编写,但这次真真的是我自己写的,虽然问了同学好多低级的问题,但自己感觉不错。毕竟做出来了嘛~~好了 这就这样,我要继续写下一篇博客去了。么么哒。