TQC+ C# 認證教學手冊

104、計算折扣

☐易 ☑中 ☐難

訊息輸入與輸出

  • Console.Write
  • Console.WriteLine
  • Console.ReadLine

switch-case 判斷式

  • 熟悉 if-else 與 switch-case 兩種判斷式之間的轉換
  • 瞭解 switch-case 的 casebreakdefault 等關鍵字使用。
int num = 1;
switch (num)
{
    case 1:
        Console.WriteLine("Case 1");
        break;
    case 2:
        Console.WriteLine("Case 2");
        break;
    default:
        Console.WriteLine("Default case");
        break;
}

格式化字串

使用數值型別的 ToString 方法。

double num = 123.4567;
num.ToString("#0.00");

使用 String.Format 同時處理文字格式化輸出。

String.Format("顯示小數點後兩位並四捨五入:{0:0.00}", 123.4567);

參考程式碼

using System;

namespace CSD01
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("請輸入購買者會員種類>");
            string type = Console.ReadLine();

            Console.Write("請輸入商品原始金額>");
            string priceStr = Console.ReadLine();

            try
            {
                double price = double.Parse(priceStr);

                double discount;

                switch (type)
                {
                    case "A":
                        discount = 0.8;
                        break;
                    case "B":
                        discount = 0.9;
                        break;
                    default:
                        discount = 1;
                        break;
                }

                Console.WriteLine("該商品售價應為 {0:0.00}", price * discount);
            }
            catch (FormatException ex)
            {
                Console.WriteLine("輸入錯誤,請重新執行");
            }

            Console.ReadLine();
        }
    }
}