MortimerPhones.cs
上传用户:lxycoco
上传日期:2022-07-21
资源大小:38457k
文件大小:2k
源码类别:

C#编程

开发平台:

Others

  1. namespace Wrox.ProCSharp.OOProg
  2. {
  3.    using System;
  4.    public enum TypeOfCall 
  5.    {
  6.       CallToCellPhone, CallToLandline
  7.    } 
  8.    public class Customer
  9.    {
  10.       private string name;
  11.       private decimal balance;
  12.       public string Name
  13.       {
  14.          get
  15.          {
  16.             return name;
  17.          }
  18.          set
  19.          {
  20.             name = value;
  21.          }
  22.       }
  23.       public decimal Balance
  24.       {
  25.          get
  26.          {
  27.             return balance;
  28.          }
  29.       }
  30.       public void RecordPayment(decimal amountPaid)
  31.       {
  32.          balance -= amountPaid;
  33.       }
  34.       public void RecordCall(TypeOfCall callType, uint nMinutes)
  35.       {
  36.          switch (callType)
  37.          {
  38.             case TypeOfCall.CallToLandline:
  39.                balance += (0.02M * nMinutes);
  40.                break;
  41.             case TypeOfCall.CallToCellPhone:
  42.                balance += (0.30M * nMinutes);
  43.                break;
  44.             default:
  45.                break;
  46.          }
  47.       }
  48.    }
  49.    public class MainEntryPoint
  50.    {
  51.       public static void Main()
  52.       {
  53.          Customer arabel = new Customer();
  54.          arabel.Name = "Arabel Jones";
  55.          Customer mrJones = new Customer();
  56.          mrJones.Name = "Ben Jones";
  57.          arabel.RecordCall(TypeOfCall.CallToLandline, 20);
  58.          arabel.RecordCall(TypeOfCall.CallToCellPhone, 5);
  59.          mrJones.RecordCall(TypeOfCall.CallToLandline, 10);
  60.          Console.WriteLine("{0,-20} owes ${1:F2}", arabel.Name, arabel.Balance);
  61.          Console.WriteLine("{0,-20} owes ${1:F2}", mrJones.Name, mrJones.Balance);
  62.       }
  63.    }
  64. }