用委托与时间来解决储蓄卡还信用卡的问题(Windows程序设计&c#)

该程序创建了储蓄卡和信用卡类,模拟了信用卡的消费、还款日判断及委托还款功能。当达到信用卡的还款日时,程序会触发委托调用Display方法显示当前信用卡余额。通过CreditCardDelegate类定义委托PayMoney,实现了在正确日期执行还款操作。
摘要由CSDN通过智能技术生成

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication3delegate

{

class DepositCard//储蓄卡

{

public int amount=10000;//储蓄卡余额

public void Display()

{

Console.WriteLine("储蓄卡余额为:{0}", amount);

}

public void Account(int balance, int payday)

{

amount += balance;

Console.WriteLine("今天是本月的{0},取款{1},储蓄卡余额为:{2}。", DateTime.Today.Day, balance, amount);

}

}

class CreditCard

{

private int billamount;//账单

public int repaymentday;//还款日

public CreditCard(int billamount, int repaymentday)

{

this.billamount += billamount;

this.repaymentday = repaymentday;

}

public int getbillamount() { return billamount; }

public int getrepaymentday() { return repaymentday; }

public void Display()

{

Console.WriteLine("信用卡余额为:{0}", billamount);

}

}

class CreditCardDelegate//委托类

{

public int billamount;//消费额度

public int repaymentday;//还款日

public delegate void PayMoney();

public event PayMoney Pay;

public void RequestPay()

{

if(Pay != null)

{

Pay();

}

}

//代码区;

}

class Program

{

static void Main(string[] args)

{

DepositCard depositCard = new DepositCard();//创建储蓄卡对象

depositCard.amount = 10000;//余额有10000元

CreditCard creditCard1 = new CreditCard(-2000, 9);//9号还2000

CreditCard creditCard2 = new CreditCard(-3000, 13);//13号还3000

CreditCard creditCard3 = new CreditCard(-5000, 29);/*29号还5000元*/

depositCard.Display();

Console.WriteLine("");

List<CreditCard> Cards = new List<CreditCard>();

Cards.Add(creditCard1);

Cards.Add(creditCard2);

Cards.Add(creditCard3);

CreditCardDelegate r= new CreditCardDelegate();//创建委托对象

foreach (CreditCard card in Cards)

{

Console.WriteLine("信用卡开始执行委托还款。。。。。。");

if (card.repaymentday == int.Parse(DateTime.Now.ToString("d ")))

{

r.Pay += new CreditCardDelegate.PayMoney(card.Display);

}

else

{

Console.WriteLine("未到还款日,不用还款");

}

//请在此处添加自己的代码

Console.WriteLine("");

}

r.RequestPay();

Console.ReadLine();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值