using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Depositcard //储蓄卡
{
public int balance=10000; //余额
public int count;
public void Repayment(int count1)
{
count1=balance - count;
if (count1<0)
{
Console.WriteLine("转账失败,储蓄卡还剩:" + balance);
}
else
{
Console.WriteLine("转账成功,储蓄卡还剩:" + balance);
}
}
}
class Creditcard //信用卡
{
public int sum; //余额
public int saveordraw; //存钱或取钱
public int transfer; //转账
public int balance; //储蓄卡转账
public Creditcard(int num)
{
sum = num;
Console.WriteLine("信用卡还有余额" + sum, "元");
}
public void Save_money() //存钱
{
string a = Console.ReadLine();
saveordraw = int.Parse(a);
sum += saveordraw;
Console.WriteLine("信用卡还有余额" + sum, "元");
}
public void Draw_money() //取钱
{
string b = Console.ReadLine();
saveordraw = int.Parse(b);
sum -= saveordraw;
if(sum<0)
Console.WriteLine("余额不够,取款失败!");
else
Console.WriteLine("取款成功,信用卡还有余额" + sum, "元");
}
public void Transfer_money()
{
string c = Console.ReadLine();
transfer = int.Parse(c);
Console.WriteLine(transfer);
if (balance<transfer)
Console.WriteLine("储蓄卡余额不够,转账失败!");
else
{
sum += transfer;
Console.WriteLine("转账成功,信用卡还有余额" + sum, "元");
}
}
public string count3;
public void Show()
{
Console.WriteLine("1.存款");
Console.WriteLine("2.取款");
Console.WriteLine("3.转账");
Console.WriteLine("请输入需要的操作");
}
public void Choose_methods(int a)
{
switch (count3)
{
case "1":
Console.WriteLine("请输入存款金额");
Save_money();
break;
case "2":
Console.WriteLine("请输入取款金额");
Draw_money();
break;
case "3":
Console.WriteLine("请输入转账金额");
Transfer_money();
break;
}
}
}
class Delegate
{
public delegate void Mydelegate(int num);
public event Mydelegate Repayment;
public void Events()
{
int money = 0;
Repayment(money);
}
}
class Program
{
[STAThread]
static void Main(string[] args)
{
int sum = -50000; //此处为欠款
Creditcard objA = new Creditcard(sum);
Depositcard objB = new Depositcard();
Delegate objC = new Delegate();
objA.balance = objB.balance;
objA.Show();
objA.count3 = Console.ReadLine();
objC.Repayment += new Delegate.Mydelegate(objA.Choose_methods);
objB.count = objA.transfer;
if (objA.count3 == "3")
{
objC.Repayment += new Delegate.Mydelegate(objB.Repayment);
}
Console.WriteLine(objB.count);
//Console.WriteLine(objA.transfer);
//Console.WriteLine(objA.balance);
objC.Events();
Console.ReadLine();
}
}
}