程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 課堂練習之最高折扣,最低優惠規劃,課堂折扣優惠規劃

課堂練習之最高折扣,最低優惠規劃,課堂折扣優惠規劃

編輯:C#入門知識

課堂練習之最高折扣,最低優惠規劃,課堂折扣優惠規劃


一、題目要求與設計思路

1.題目要求

書店針對《哈利波特》系列書籍進行促銷活動,一共5卷,用編號0、1、2、3、4表示,單獨一卷售價8元, 具體折扣如下所示:

                                  本數                    折扣

                                   2                       5%

                                   3                       10%

                                   4                       20%

                                   5                       25%

根據購買的卷數以及本數,會對應不同折扣規則情況。單數一本書只會對應一個折扣規則,例如購買了兩本卷1,一本卷2,則可以享受5%的折扣,另外一本卷一則不享受優惠。設計算法能夠計算出讀者購買一批書的最低價格。 2.設計思路 五本一下的情況就是基礎,其他所有比五本以上的情況都在該基礎之上,我們只需將買6、7、8、9本的用戶最低價格解決了,其他的就可以直接疊加了,通過計算,買6本的時候按5-25%打折、1本不打折方式價錢最少;買7本的時候按5-25%打折、2-5%打折方式價錢最少;買8本的時候按兩次4-20%打折方式價錢最少;買9本的時候按5-25%打折、4-20%打折方式價錢最少。然後用戶輸入購買數量i,利用下列語句實現a = i / 5;b = 30 * a;c = i % 5。 二、源代碼
 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Windows.Forms;
 9 
10 namespace youhuifangfa
11 {
12     public partial class Form1 : Form
13     {
14         double b, sum;
15         int a, i, c;
16         public Form1()
17         {
18             InitializeComponent();
19         }
20 
21         private void button1_Click(object sender, EventArgs e)
22         {
23             i = int.Parse(textBox1.Text);
24             if (i % 5 != 3)
25             {
26                 a = i / 5;
27                 b = 30 * a;
28                 c = i % 5;
29                 if (c == 0)
30                 {
31                     sum = b;
32                    
33                 }
34                 if (c == 1)
35                 {
36                     sum = b + 8;
37                 }
38                 else if (c == 2)
39                 {
40                     sum = b + 16 * 0.95;
41                 }
42                 else if (c == 3)
43                 {
44                     sum = b + 24 * 0.9;
45                 }
46                 else if (c == 4)
47                 {
48                     sum = b + 32 * 0.8;
49                 }
50 
51             }
52             else if(i%5==3&&i!=3)
53             {
54                 a = i / 5;
55                 b = 30 * (a - 1);
56                 c = i % 5;
57                 sum = b + 32 * 0.8 * 2;
58             }
59             else if (i == 3)
60             {
61                 sum = 0.9 * 24;
62             }
63             textBox3.Text = sum.ToString();
64         }
65 
66         private void textBox1_TextChanged(object sender, EventArgs e)
67         {
68 
69         }
70     }
71 }

三、運行結果截圖

四、心得體會

這個題目一開始看著挺不好計算的,但是再復雜再大的高樓都有一個基礎,那麼這道題目來說,店裡給的折扣說明就是基礎,我們只需要按著這個基礎往上考慮就好了,所以,軟件開發,尤其像這一類的實現肯定會有辦法,找到實質性的東西,找到什麼是變量,什麼是不變的量,什麼是基礎就好辦了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved