作业记录c#

程序设计题:请使用委托实现信用卡用户定时还款功能
本题的应用场景解释:用户有一张信用卡,信用卡有一个总额度;每个月会有信用卡账单显示月消费总额,月消费总额是小于信用卡总额度的;用户有若干储蓄卡,可选择某张储蓄卡进行还款;还款是指从储蓄卡中划走信用卡的月消费总额到信用卡;如果储蓄卡余额不足则还款动作不成功。
要求如下:①必须使用委托②事件的触发方式是每个月的到期还款日;

源代码:

using System;
namespace WindowsFormsApplication2
{
    class Depositcard   //储蓄卡
    {
        public string name;
        public int number;      //账户
        public int debt;        //还款
        public int balance;    //余额
        public int date;
        public Depositcard(string name, int number, int balance, int debt, int date)
        {
            this.name = name;
            this.number = number;
            this.debt = debt;
            this.balance = balance;
            this.date = date;
        }
    }
    class Delegate     //委托
    {
        public delegate void MeDelegate(Depositcard c2);
        public event MeDelegate Remind;
        public event MeDelegate Pay;
        public void remind(Depositcard c2)
        {
            if (Remind != null)
                Remind(c2);
        }
        public void pay(Depositcard c2)
        {
            if (Pay != null)
                Pay(c2);
        }
    }
    class Credit    //信用卡
    {
        static public void remind(Depositcard c2)
        {
            Console.WriteLine("用户{0}:未到还款日期,无需还款。\n", c2.name);
        }
        static public void payfor(Depositcard c2)
        {
            if (c2.debt > c2.balance)
                Console.WriteLine("用户{0}:账户为{1},需还款{2},余额不足,余额为{3}", c2.name, c2.number, c2.debt, c2.balance);
            else
                Console.WriteLine("用户{0}:账户为{1},需还款{2},余额为{3},还款后余{4}\n", c2.name, c2.number, c2.debt, c2.balance, c2.balance - c2.debt);
        }
    }
    class program
    {
        static void Main(string[] args)
        {
            Delegate d1 = new Delegate();
            Delegate d2 = new Delegate();
            Credit c1 = new Credit();
            Depositcard c2 = new Depositcard("a", 55555, 5000, 100, 2);
            Depositcard c3 = new Depositcard("b", 77777, 20000, 4000, 10);
            d1.Remind += new Delegate.MeDelegate(Credit.remind);
            d2.Pay += new Delegate.MeDelegate(Credit.payfor);
            for (int i = 1; i <= 30; i++)
            {
                if (c2.date - i == 1)
                    d1.remind(c2);
                if (c3.date - i == 1)
                    d2.remind(c3);

                if (i == c2.date)
                    d1.pay(c2);
                if (i == c3.date)
                    d2.pay(c3);
            }
        }

    }
}

结果:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjM0MTU5NzE=,size_20,color_FFFFFF,t_70,g_se,x_16

https://gitee.com/hu-baobao/hubaobaoh.git

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
接口特点: 1.同时提供银行卡在线支付、声讯电话支付、互联星空支付、手机短信注册、腾讯财付通、 腾讯Q币、神州行充值卡、盛大游戏点卡、支付宝、手机银行、北京宽带支付、联通充值卡 等支付途径。 2.银行卡在线支付支持国内60 余种银行卡(信用卡、储蓄卡、借记卡等)在线支付。 3.全国声讯电话支付支持全国所有省份固定电话、小灵通、中国移动、中国联通手机, 开通移动、联通、电信、网通多个声讯热线号码。 4.中国电信互联星空支付支持直接用163或ADSL上网帐号、各省互联星空网站注册用户支付。 5.支持中国移动、中国联通、中国电信小灵通手机用户发送短信点播赠送服务。 6.开放腾讯公司Q币和财付通支付接口。 7.支持50元、100元、300元、500元等多种面值的移动神州行和联通充值卡支付。 8.各支付途径可任意选择开启或关闭。 9.真正傻瓜式支付接口,提供示例程序,只需简单设置即可使用。 10.设置商户密钥,支付信息加密传递,加强支付安全性,加密系统与其他支付平台兼容。 11.贺喜支付平台(http://www.168reg.cn)提供完善的后台管理系统,提供定单管理、定单 统计、财务管理、用户资料修改、商户密钥设置、推荐用户及技术支持等功能。 12.提交支付信息时可设置服务名称、商户订单号和两个自定义字段,支付成功后实时将支 付结果返回商户网站。 13.提供接口的测试模式,方便商户快捷地开发支付接口程序。 14.您可以登录后台管理系统查看定单以下信息:定单号、用户支付金额、商户所得金额、 自定义订单号、支付日期、结帐信息等。 15.提供定单后台通知系统,彻底解决用户端返回造成的挂单、掉单现象。 16.提供宣传推广代码,推荐其他商户加盟可获得其收入的一定比例分成。 17.开放收费制商户,为商户降低支付成本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值