• 我的印度软件老师,给的 几个C# PROGRAMS


    using System;

    namespace Wrox.ProCSharp.OOProg     //The first program
    {
       class MainEntryPoint
       {
          static void Main()
          {
             Authenticator myAccess = new Authenticator();
             bool done;
             done = myAccess.ChangePassword("", "MyNewPassword");
             if (done == true)
                Console.WriteLine("Password for myAccess changed");
             else
                Console.WriteLine("Failed to change password for myAccess");
             done = myAccess.ChangePassword("", "AnotherPassword");
             if (done == true)
                Console.WriteLine("Password for myAccess changed");
             else
                Console.WriteLine("Failed to change password for myAccess");

             if (myAccess.IsPasswordCorrect("WhatPassword"))
                Console.WriteLine("Verified myAccess/' password");
             else
                Console.WriteLine("Failed to verify myAccess/' password");
          }

       }

       public class Authenticator
       {
          // implementation as shown earlier

          private string password = "";
      
          public bool IsPasswordCorrect(string tryPassword)
          {
             return (tryPassword == password) ? true : false;
          }

          public bool ChangePassword(string oldPassword, string newPassword)
          {
             if (oldPassword == password)
             {
                password = newPassword;
                return true;
             }
             else
                return false;
          }
       }
    }

    using System;

    namespace Wrox.ProCSharp.OOProg    //The Second program
    {
       class MainEntryPoint
       {
          static void Main()
          {
             Authenticator myAccess = new Authenticator();
             bool done;
             done = myAccess.ChangePassword("", "MyNewPassword");
             if (done == true)
                Console.WriteLine("Password for myAccess changed");
             else
                Console.WriteLine("Failed to change password for myAccess");
             done = myAccess.ChangePassword("", "AnotherPassword");
             if (done == true)
                Console.WriteLine("Password for myAccess changed");
             else
                Console.WriteLine("Failed to change password for myAccess");

             if (myAccess.IsPasswordCorrect("WhatPassword"))
                Console.WriteLine("Verified myAccess/' password");
             else
                Console.WriteLine("Failed to verify myAccess/' password");
          }

       }

       public class Authenticator
       {
          // implementation as shown earlier

          private string password = "";
      
          public bool IsPasswordCorrect(string tryPassword)
          {
             return (tryPassword == password) ? true : false;
          }

          public bool ChangePassword(string oldPassword, string newPassword)
          {
             if (oldPassword == password)
             {
                password = newPassword;
                return true;
             }
             else
                return false;
          }
       }
    }

    namespace Wrox.ProCSharp.OOProg
    {
       using System;
       public enum TypeOfCall
       {
          CallToCellPhone, CallToLandline
       }

       public class Customer
       {
          private string name;
          private decimal balance;
          public string Name
          {
             get
             {
                return name;
             }
             set
             {
                name = value;
             }
          }

          public decimal Balance
          {
             get
             {
                return balance;
             }
          }
          public void RecordPayment(decimal amountPaid)
          {
             balance -= amountPaid;
          }
          public void RecordCall(TypeOfCall callType, uint nMinutes)
          {
             switch (callType)
             {
                case TypeOfCall.CallToLandline:
                   balance += (0.02M * nMinutes);
                   break;
                case TypeOfCall.CallToCellPhone:
                   balance += (0.30M * nMinutes);
                   break;
                default:
                   break;
             }
          }
       }
       public class MainEntryPoint
       {
          public static void Main()
          {
             Customer arabel = new Customer();
             arabel.Name = "Arabel Jones";
             Customer mrJones = new Customer();
             mrJones.Name = "Ben Jones";
             arabel.RecordCall(TypeOfCall.CallToLandline, 20);
             arabel.RecordCall(TypeOfCall.CallToCellPhone, 5);
             mrJones.RecordCall(TypeOfCall.CallToLandline, 10);
             Console.WriteLine("{0,-20} owes ${1:F2}", arabel.Name, arabel.Balance);
             Console.WriteLine("{0,-20} owes ${1:F2}", mrJones.Name, mrJones.Balance);
          }
       }
    }

    namespace Wrox.ProCSharp.OOProg
    {
       using System;
       public enum TypeOfCall
       {
          CallToCellPhone, CallToLandline
       }

       public class Customer
       {
          private string name;
          protected decimal balance;
          public string GetFunnyString()
          {
             return "Plain ordinary customer. Kaark!";
          }
          public string Name
          {
             get
             {
                return name;
             }
             set
             {
                name = value;
             }
          }

          public decimal Balance
          {
             get
             {
                return balance;
             }
          }
          public void RecordPayment(decimal amountPaid)
          {
             balance -= amountPaid;
          }
          public virtual void RecordCall(TypeOfCall callType, uint nMinutes)
          {
             switch (callType)
             {
                case TypeOfCall.CallToLandline:
                   balance += (0.02M * nMinutes);
                   break;
                case TypeOfCall.CallToCellPhone:
                   balance += (0.30M * nMinutes);
                   break;
                default:
                   break;
             }
          }
       }
       public class Nevermore60Customer : Customer
       {
          private uint highCostMinutesUsed;
          public new string GetFunnyString()
          {
             return "Nevermore60. Nevermore!";
          }
          public override void RecordCall(TypeOfCall callType, uint nMinutes)
          {
             switch (callType)
             {
                case TypeOfCall.CallToLandline:
                   balance += (0.02M * nMinutes);
                   break;
                case TypeOfCall.CallToCellPhone:
             uint highCostMinutes, lowCostMinutes;
             uint highCostMinutesToGo =
                (highCostMinutesUsed < 60) ? 60 - highCostMinutesUsed : 0;
             if (nMinutes > highCostMinutesToGo)
             {
                highCostMinutes = highCostMinutesToGo;
                lowCostMinutes = nMinutes - highCostMinutes;
             }
             else
             {
                highCostMinutes = nMinutes;
                lowCostMinutes = 0;
             }
             highCostMinutesUsed += highCostMinutes;
             balance += (0.50M * highCostMinutes + 0.20M *
                lowCostMinutes);
             break;
                default:
                   break;
             }
          }
       }
       public class MainEntryPoint
       {
          public static void Main()
          {
             Customer cust1;
             Nevermore60Customer cust2;
             cust1 = new Customer();
             Console.WriteLine("Customer referencing Customer: "
                + cust1.GetFunnyString());
             cust1 = new Nevermore60Customer();
             Console.WriteLine("Customer referencing Nevermore60Customer: "
                + cust1.GetFunnyString());
             cust2 = new Nevermore60Customer();
             Console.WriteLine("Nevermore60Customer referencing: "
                + cust2.GetFunnyString());  
          }
       }
    }

  • 相关阅读:
    Android学习第九天
    Android短信备份及插入笔记
    内容提供者实现应用访问另一个应用的数据库
    Verilog语言实现1/2分频
    QT中一个界面向另一个界面发送信号
    CMAKE设置Windows SDK编译版本
    VS2017下载地址
    VS 设置Windows SDK版本
    OBS 64bit版本编译
    Qt打包程序无法运行,提示应用程序无法正常启动0xc000007b解决办法
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9410252.html
Copyright © 2020-2023  润新知