C#课程设计报告_第1页
C#课程设计报告_第2页
C#课程设计报告_第3页
C#课程设计报告_第4页
C#课程设计报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、设计内容与设计要求1 课程设计目的:全面熟悉、掌握C#编程、面向对象的基础知识,较熟练地编写基于C# 的windows应用程序,了解C#的常用类库、编程技巧、异常处理。联系已学 的内容,巩固所学的理论,增强独立工作能力。通过设计主要使学生有一个 独立编写程序的过程,对理论学习及动手能力都有一个很大的提髙。为后继 课程()的实验以及课程设计打下较扎实的基础。2. 课题题目(1)银行业务管理系统设计与实现3. 设计要求:(1)课程设计环境要求操作系统:Windows XP SP3 或是 Windows 7,内存要求:至少512MB。开发环境要求:安装了 VS2008 SP1的VS 2008 P

2、rofessional简体中文版。(2)设计内容要求在银行业务管理中,不同银行规定有不同的账户类型,如整存整取、 零存整取、存本取息、通知存款、定额定期、订货两便和活期储蓄等。 本课程设计不处理这么复杂的內容,而是假定只提供三种账户,活期存 款账户、定期存款账户和零存整取账户。1)活期存款账户规定创建活期账户时,必须提供帐户名和开户金额,而账号则根据存款分 类自动生成,活期存款账号的范围为1000119999(包括10001和19999), 默认为,每次取款时,不论存款时间多长,都要根据当前余额结算一次 利息,并将利息附加到现有余额中,然后再从中取出指定的款数。向现 有账户追加存款时,不进行结

3、算。2)定期存款账户规定创建定期账户时,必须提供帐户名和开户金额,而账号则根据存款分 类自动生成,定期存款账号的范围为200029999(包括20001和2999), 定期存款要求一次性存款、一次性取款,100元起存,期限规定为只提供 1年、3年和5年三种定期。三种到期利率默认分别为、和,如果到 期后客户没有取款、超出存款期限部分的利率按计算。如果客户提前取 款,取款时利率全部按计算。每次取款时,不论存款时间多长,都要根 据当前余额结算一次利息,并将利息附加到现有余额中,然后再从中取 出指定的款数。向现有账户追加存款时,不进行结算。利息结算方式为:到期利息二定期利率*存款金额超期利息二(存款金

4、额+到期利息)*超期利率3)零存整取规定创建零存整取账户时,必须提供帐户名和开户金额,而账号则根据存 款分类自动生成,零存整取账号的范围为3000广39999 (包括30001和 3999),零存整取要求每月都必须存固定的金额,5元起存,一次取款, 存款期限规定为只提供1年、3年和5年三种,到期利率默认为、和, 如果到期后客户没有取款,超出存款期限部分的利率按。如果客户没有 按规定存款,取款时利率全部按计算。每次取款时,不论存款时间多长, 都要根据当前余额结算一次利息,并将利息附加到现有余额中,然后再 从中取出指定的款数。向现有账户追加存款时,不进行结算。利息结算方式为:到期利息二到期利率*每

5、月固定金额*月数超期利息二(总存款金额+到期利息)*超期利率4)要允许用户随时查询自己的存取款信息。查询时要求提供用户名、 存款类型和账户。5)程序要易于扩充,即需要增加存款业务类型时,要能够利用已经 实现的功能,通过尽量少的代码快速实现。(3)课程设计文档要求1)每位同学提交一份打印的课程设计报告。2)报告内容要求系统功能介绍,并用Vis。画出系统整体框架图主要模块划分,并用Viso画出系统功能模块图 程序运行界面截图及说明。系统主要亮点介绍。设计中遇到的问题、难点及解决方法。3)按规定格式完成课程设计报告,将其打印稿(A4纟氏)上交给老师存 档。4)不得抄袭他人课程设计报告,每个人应体现自

6、己的个性设计。二、进度安排星期三8时:00分一12时:00分星期四8时:00分一12时:00分星期五8时:00分一12时:00分周周周附:课程设计报吿装订顺序:封面.任务书.目录.正文、评分、附件(A4大小的图纸及程序清单。目录1、系统开发背景02、系统功能模块03、主要模块划分1、活期存款账户规定1、定期存款账户规定1、零存整取账户规定24、程序运行界面截图及说明2、开户2、存款和取款2、显不界面35、源代码:36、调试过程中的问题、难点及解决方法147、评分表151. 此目录供参考。(目录中的页码要写好。)2. 课设报告的装订顺序:此文档的前五页-目录-正文-评分表。起始页码从 正文开始。

7、(注意:前四页的内容中的课题题目需列出具体题目)1、系统开发背景全面熟悉、掌握C#编程、面向对象的基础知识,较熟练地编写基于C#的windows 应用程序,了解C#的常用类库、编程技巧、异常处理。联系已学的内容,巩固 所学的理论,增强独立工作能力。通过设计主要使学生有一个独立编写程序的过 程,对理论学习及动手能力都有一个很大的提高。为后继课程()的实验以及课 程设计打下较扎实的基础。2、系统功能模块用户可以根据需求选择不同的银行,然后在银行里面选择不同的存款类型,一 般的存储类型有:整存整取、零存整取、存本取息、通知存款、定额定期、订货 两便和活期储蓄等。本课程设计不处理这么复杂的内容,而是假

8、定只提供三种账 户,活期存款账户、定期存款账户和零存整取账户。这样用户选择存储类型后, 就可以开户,存款和取款等业务了。3、主要模块划分、活期存款账户规定创建活期账户时,必须提供帐户名和开户金额,而账号则根据存款分类自动生 成,活期存款账号的范围为1000119999 (包括10001和19999),默认为肌 每 次取款时,不论存款时间多长,都要根据当前余额结算一次利息,并将利息附加 到现有余额中,然后再从中取出指定的款数。向现有账户追加存款时,不进行结 算。、定期存款账户规定创建定期账户时,必须提供帐户名和开户金额,而账号则根据存款分类自动生 成,定期存款账号的范围为2000C29999 (

9、包括20001和2999),定期存款要求 一次性存款、一次性取款,100元起存,期限规定为只提供1年、3年和5年三 种定期。三种到期利率默认分别为、和魁 如果到期后客户没有取款.超岀存 款期限部分的利率按计算。如果客户提前取款,取款时利率全部按计算。每次 取款时,不论存款时间多长,都要根据当前余额结算一次利息,并将利息附加到 现有余额中,然后再从中取出指定的款数。向现有账户追加存款时,不进行结算。 利息结算方式为: 到期利息二定期利率*存款金额超期利息二(存款金额+到期利息)水超期利率、零存整取账户规定创建零存整取账户时,必须提供帐户名和开户金额,而账号则根据存款分类自 动生成,零存整取账号的

10、范围为3000T39999 (包括30001和3999),零存整取 要求每月都必须存固定的金额,5元起存,一次取款,存款期限规定为只提供1 年、3年和5年三种,到期利率默认为队和瓠如果到期后客户没有取款,超 出存款期限部分的利率按。如果客户没有按规定存款,取款时利率全部按计算。 每次取款时,不论存款时间多长,都要根据当前余额结算一次利息,并将利息附 加到现有余额中,然后再从中取出指定的款数。向现有账户追加存款时,不进行 结算。利息结算方式为:到期利息二到期利率*每月固定金额*月数超期利息二(总存款金额+到期利息)水超期利率4、程序运行界面截图及说明、开户姓朽、存款和取款、显示界面5、源代码:c

11、lass Customsprivate string accountName;public CiistomType BankCustomType get; protected set; public string AccountNumber get; protected set; public float AccountBalence get; protected set; public string Time ;public int flag;public float benjin;public int Year;public string AccountNamegetreturn acco

12、untName;setif (value) throw new Except ion (M账号名不能为null或者空字符串 );elsefor (int i = 0; i : i卄)if (valuefil) = false) throw newExcept ion(zhuanghuzjiyunxuzhimuhuohanzizucheng*) ; else accountName = value; public List PerAccountList get;set ; public void Diposit(float money)if (money = 0) throw new Excep

13、t ion (存款金额不能为零或负值);else AccountBalenee += money; AddList (存款,money):protected void AddList(string typeinfo, float money)(”账号:0.姓名:,存款金额:,+11 3: yyyy-MM-dd| HH: mm: ss 4 5: f2元,余额6: f2(元,AccountNumber ,AccountName ,BankCustomType ,DateTime .Now ,typeinfo ,money ,AccountBalence);protected void AddLis

14、t (string typeinfo, float money, string year) (账号:0.姓名:,存款金额:2, +3: yyyyMM-ddlHH:mm: ss)5: f2元,余额6: f2元; 期限:7 ,AccountNumber,AccountName,BankCustomType,9typeinfo,money,AccountBalence,Time);public bool Va 1 iclBeforeWithdraw(float money)if (money AccountBalence)(Mqukuangjinebunengfayuyue0);return fal

15、se;return true;)public virtual void Withdraw(float money)AccountBalence 一二 money; AddList (M取款,money );class CheckingCostoms :Customsprivate static int newAccountNumber = 10001; public float InterestRateget return ; public CheckingCostoms(string accountName, float accountBalence)if (newAccountNumber

16、 19999) throw new Except ion(huoqicunkuangtzhuanghiT) ; else=accountName;=accountBalenee;=CustomType.活期存款;=0;newAccountNumber+;PerAccountList = new List ():AddList (MkaihuM,accountBa1ence );public override void Withdraw(float money)if (ValidBeforeWithdraw(money) = false) return; float rate = Interes

17、tRate * AccountBalence; AccountBalenee += rate;AddList(jiesuanlixi,rate );(money);class FixedCustoms:Customsprivate static int newAccountNumber=20001; public float InterestRategetstring si; int s2,s3; sl= ToString Cyyyy); s2=Convert .Tolnt32 (si);if (Time =一 年)s3 = s2 - Year; if (s3 1) flag = T; ret

18、urn ; else if (s3 = 1) flag = 0; return ; else flag = 1; return ; )else if (Time =三年)s3 = s2 - Year; if (s3 3) flag = T; return ; else if (s3 = 3) flag = 0; return ; else flag = 1; return ; elses3 = s2 - Year; if (s3 29999) throw new Exception(dingqicunhaoyijinyongwanM): elses2 = (si);=accountName;=

19、accountBalence;=CustomType.定期存款;=year;s2;0;newAccountNumber+;PerAccountList = new List(): AddList C开户 u, accountBalence, year );public override void Withdraw(float money)if (Va1idBeforeWithdraw(money) = false) return; float rate=0t ratel=0;if (flag = 0 & flag = -1)rate = InterestRate * AccountBalenc

20、e; AccountBalence += rate;AddList (利息结算,rate):(money);elserate = InterestRate * AccountBalence; AccountBalence += rate;ratel =* AccountBalence;AccountBalence +二 ratel;AddList (利息结算,ratel);(money);class Lingcunzhengqu:Customsprivate static int newAccountNumber=30001; public float InterestRatestring s

21、i; int s2;sl= . ToString Cyyyy);s2二Convert Tolnt32 (si);if(Time =一年)if (AccountBalence benjin * 12)flag = T; return ;)else if (AccountBalence = benjin * 12) flag = 0; return ; else flag = 1;return ; else if (Time =三年)if (AccountBalence benjin * 36)flag = T; return ;else if (AccountBalence = benjin *

22、 36) flag = 0; return ; else flag = 1; return ; elseif (AccountBalence 39999) throw new Exception(Mdingqicunhaoyijinyongwan): elsestring si; int s2;si = yyyy);s2 = (si);=accountName;=accountBalence;=CustomType.零存整取;=year;=s2;=accountBalence;=0;newAccountNumber+;PerAccountList = new List():AddList(开户

23、 u, accountBalence, year );public override void Withdraw(float money)if (Va1idBeforeWithdraw(money) = false) return; float rate=0,ratel=0;int yueshu;yueshu = (int ) (AccountBalence / benjin):if (flag = 0 & flag = -1)rate = InterestRate * benjin *yueshu ; AccountBalence += rate;AddList (利息结算,rate);(m

24、oney);elserate = InterestRate *benjin *yueshu ;ratel =* (AccountBalence+rate );AccountBalence += ratel;AddList (利息结算,ratel):(money);public partial class MainForml : Formprivate static SortedDictionary customers = new SortedDictionary();pub lie Mai nForm 1 ()Initializ eComponent();string accountTypeS

25、tring = (typeof(CustomType):=0;private void MainForml Load (object sender, EventArgs e)private void bu11on1_C1ick(object sender, EventArgs e) float money;if , out money) = false)C开户金额不正确无法开户return;CreateCustom, , money,:private void CreateCustom (string customTypeString, string userName, float initM

26、oneyt string year)Customs newCustom = null;if (customTypeString =活期存款)try newCustom = new CheckingCostoms(userName, initMoney); catch (Exception ex) (); )else if (customTypeString =定期存款)if 100)(开户金额不足,无法开户,;elsetry newCustom = new F i xedCustoms(userName, initMoney, year): catch (Exception ex) (); r

27、eturn; )elseif 5)(开户金额不足,无法开户“,;elsetry newCustom = new Lingcunzhengqu (userName, initMoney, year): catch (Exception ex) (); return; if (newCustom != null) , newCustom);UpdateAccount Info;private void UpdateAccountInfo(string account)Customs custom = customersaccountJ:foreach (var info in);)private void button2_Click(object sender, EventArgs e) float money;if (!ParseMoneyt 存款,out money) return;Customs custom = GetCustom;if (cus

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论