先贴代码
程序设计题:请使用委托实现信用卡用户定时还款功能
信用卡和存储卡,是下属关系,存储卡为一个信用卡的类成员。
用了一个日期检查来进行委托发布,日期超过或者当天就进行还款操作,校验余额是否还够来进行还款的处理,不成功则弹出。
using System;
namespace SimpleEvent
{
class myevent
{
class DepositCard
{
public int amount;
public void display()
{
Console.WriteLine("信用卡余额为"+ amount);
}
public void account(int repay, int payday)
{ if (amount < repay)
{
Console.WriteLine("余额不足");
}
else
{
amount -= repay;
Console.WriteLine("还款" + repay + ",储蓄卡还剩" + amount);
}
}
}
class saveCard
{
private int money;
private int repayday;
public saveCard(int money, int repayday)
{
this.money = money;
this.repayday = repayday;
}
public int getmoney()
{
return money;
}
public int getrepayday()
{
return repayday;
}
}
class Delegate
{
public delegate void DelegateRepay(int money, int repayday);
public event DelegateRepay Pay;
public int money;
public int repayday;
public void Notify()
{
Console.Write("日期是"+DateTime.Today.Day+"号,");
if (DateTime.Today.Day == repayday)
{
Console.WriteLine("此卡进行还款");
Pay(money, repayday);
}
else
Console.WriteLine("此卡还款日未到");
}
}
static void Main(string[] args)
{
int i = 1;
DepositCard D1 = new DepositCard();
D1.amount = 10000;
saveCard one = new saveCard(2000, 31);
saveCard two = new saveCard(2000, 1);
saveCard three = new saveCard(3000, 1);
saveCard four =new saveCard(10000, 1);
List<saveCard> Cards = new List<saveCard>();
Cards.Add(one);
Cards.Add(two);
Cards.Add(three);
Cards.Add(four);
foreach (saveCard card in Cards)
{
Console.WriteLine("储蓄卡C{0}:", i++);
Delegate A = new Delegate();
A.money = card.getmoney();
A.repayday = card.getrepayday();
A.Pay += new Delegate.DelegateRepay(D1.account);
A.Notify();
D1.display();
Console.WriteLine("\n");
}
Console.ReadLine();
}
}
}
github地址