C#课程设计报告.docx

上传人:b****6 文档编号:13681636 上传时间:2023-06-16 格式:DOCX 页数:25 大小:63.64KB
下载 相关 举报
C#课程设计报告.docx_第1页
第1页 / 共25页
C#课程设计报告.docx_第2页
第2页 / 共25页
C#课程设计报告.docx_第3页
第3页 / 共25页
C#课程设计报告.docx_第4页
第4页 / 共25页
C#课程设计报告.docx_第5页
第5页 / 共25页
C#课程设计报告.docx_第6页
第6页 / 共25页
C#课程设计报告.docx_第7页
第7页 / 共25页
C#课程设计报告.docx_第8页
第8页 / 共25页
C#课程设计报告.docx_第9页
第9页 / 共25页
C#课程设计报告.docx_第10页
第10页 / 共25页
C#课程设计报告.docx_第11页
第11页 / 共25页
C#课程设计报告.docx_第12页
第12页 / 共25页
C#课程设计报告.docx_第13页
第13页 / 共25页
C#课程设计报告.docx_第14页
第14页 / 共25页
C#课程设计报告.docx_第15页
第15页 / 共25页
C#课程设计报告.docx_第16页
第16页 / 共25页
C#课程设计报告.docx_第17页
第17页 / 共25页
C#课程设计报告.docx_第18页
第18页 / 共25页
C#课程设计报告.docx_第19页
第19页 / 共25页
C#课程设计报告.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C#课程设计报告.docx

《C#课程设计报告.docx》由会员分享,可在线阅读,更多相关《C#课程设计报告.docx(25页珍藏版)》请在冰点文库上搜索。

C#课程设计报告.docx

C#课程设计报告

一、设计内容与设计要求

1.课程设计目的:

全面熟悉、掌握C#编程、面向对象的基础知识,较熟练地编写基于C#的windows应用程序,了解C#的常用类库、编程技巧、异常处理。

联系已学的内容,巩固所学的理论,增强独立工作能力。

通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。

为后继课程(ASP.net)的实验以及课程设计打下较扎实的基础.

2。

课题题目

(1)银行业务管理系统设计与实现

3。

设计要求:

(1)课程设计环境要求

操作系统:

WindowsXPSP3或是Windows7,

内存要求:

至少512MB。

开发环境要求:

安装了VS2008SP1的VS2008Professional简体中文版。

(2)设计内容要求

在银行业务管理中,不同银行规定有不同的账户类型,如整存整取、零存整取、存本取息、通知存款、定额定期、订货两便和活期储蓄等。

本课程设计不处理这么复杂的内容,而是假定只提供三种账户,活期存款账户、定期存款账户和零存整取账户。

1)活期存款账户规定

创建活期账户时,必须提供帐户名和开户金额,而账号则根据存款分类自动生成,活期存款账号的范围为10001~19999(包括10001和19999),默认为0.03%,每次取款时,不论存款时间多长,都要根据当前余额结算一次利息,并将利息附加到现有余额中,然后再从中取出指定的款数。

向现有账户追加存款时,不进行结算。

2)定期存款账户规定

创建定期账户时,必须提供帐户名和开户金额,而账号则根据存款分类自动生成,定期存款账号的范围为20001~29999(包括20001和2999),定期存款要求一次性存款、一次性取款,100元起存,期限规定为只提供1年、3年和5年三种定期。

三种到期利率默认分别为0。

1%、0.3%和0。

5%,如果到期后客户没有取款、超出存款期限部分的利率按0.03%计算。

如果客户提前取款,取款时利率全部按0。

02%计算。

每次取款时,不论存款时间多长,都要根据当前余额结算一次利息,并将利息附加到现有余额中,然后再从中取出指定的款数。

向现有账户追加存款时,不进行结算.

利息结算方式为:

到期利息=定期利率*存款金额

超期利息=(存款金额+到期利息)*超期利率

3)零存整取规定

创建零存整取账户时,必须提供帐户名和开户金额,而账号则根据存款分类自动生成,零存整取账号的范围为30001~39999(包括30001和3999),零存整取要求每月都必须存固定的金额,5元起存,一次取款,存款期限规定为只提供1年、3年和5年三种,到期利率默认为0.05%、0.1%和0.3%,如果到期后客户没有取款,超出存款期限部分的利率按0。

025%.如果客户没有按规定存款,取款时利率全部按0.015%计算。

每次取款时,不论存款时间多长,都要根据当前余额结算一次利息,并将利息附加到现有余额中,然后再从中取出指定的款数。

向现有账户追加存款时,不进行结算.

利息结算方式为:

到期利息=到期利率*每月固定金额*月数

超期利息=(总存款金额+到期利息)*超期利率

4)要允许用户随时查询自己的存取款信息.查询时要求提供用户名、存款类型和账户。

5)程序要易于扩充,即需要增加存款业务类型时,要能够利用已经实现的功能,通过尽量少的代码快速实现。

(3)课程设计文档要求

1)每位同学提交一份打印的课程设计报告。

2)报告内容要求

系统功能介绍,并用viso画出系统整体框架图

主要模块划分,并用viso画出系统功能模块图

程序运行界面截图及说明。

系统主要亮点介绍.

设计中遇到的问题、难点及解决方法。

3)按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。

4)不得抄袭他人课程设计报告,每个人应体现自己的个性设计.

二、进度安排

第1周星期三8时:

00分——12时:

00分

第1周星期四8时:

00分—-12时:

00分

第1周星期五8时:

00分—-12时:

00分

附:

课程设计报告装订顺序:

封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。

正文的格式:

一级标题用3号黑体,二级标题用4号宋体加粗,正文用小四号宋体,行距为22。

 

 

注意:

1.此目录供参考.(目录中的页码要写好。

2。

课设报告的装订顺序:

此文档的前五页->目录-〉正文->评分表。

起始页码从正文开始。

(注意:

前四页的内容中的课题题目需列出具体题目)

 

1、系统开发背景

全面熟悉、掌握C#编程、面向对象的基础知识,较熟练地编写基于C#的windows应用程序,了解C#的常用类库、编程技巧、异常处理。

联系已学的内容,巩固所学的理论,增强独立工作能力。

通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。

为后继课程(ASP。

net)的实验以及课程设计打下较扎实的基础.

 

2、系统功能模块

用户可以根据需求选择不同的银行,然后在银行里面选择不同的存款类型,一般的存储类型有:

整存整取、零存整取、存本取息、通知存款、定额定期、订货两便和活期储蓄等.本课程设计不处理这么复杂的内容,而是假定只提供三种账户,活期存款账户、定期存款账户和零存整取账户.这样用户选择存储类型后,就可以开户,存款和取款等业务了。

 

3、主要模块划分

3。

1、活期存款账户规定

创建活期账户时,必须提供帐户名和开户金额,而账号则根据存款分类自动生成,活期存款账号的范围为10001~19999(包括10001和19999),默认为0.03%,每次取款时,不论存款时间多长,都要根据当前余额结算一次利息,并将利息附加到现有余额中,然后再从中取出指定的款数.向现有账户追加存款时,不进行结算。

 

3。

2、定期存款账户规定

创建定期账户时,必须提供帐户名和开户金额,而账号则根据存款分类自动生成,定期存款账号的范围为20001~29999(包括20001和2999),定期存款要求一次性存款、一次性取款,100元起存,期限规定为只提供1年、3年和5年三种定期.三种到期利率默认分别为0.1%、0。

3%和0。

5%,如果到期后客户没有取款、超出存款期限部分的利率按0。

03%计算。

如果客户提前取款,取款时利率全部按0.02%计算。

每次取款时,不论存款时间多长,都要根据当前余额结算一次利息,并将利息附加到现有余额中,然后再从中取出指定的款数。

向现有账户追加存款时,不进行结算。

利息结算方式为:

到期利息=定期利率*存款金额

超期利息=(存款金额+到期利息)*超期利率

 

3。

3、零存整取账户规定

创建零存整取账户时,必须提供帐户名和开户金额,而账号则根据存款分类自动生成,零存整取账号的范围为30001~39999(包括30001和3999),零存整取要求每月都必须存固定的金额,5元起存,一次取款,存款期限规定为只提供1年、3年和5年三种,到期利率默认为0。

05%、0。

1%和0.3%,如果到期后客户没有取款,超出存款期限部分的利率按0.025%。

如果客户没有按规定存款,取款时利率全部按0.015%计算.每次取款时,不论存款时间多长,都要根据当前余额结算一次利息,并将利息附加到现有余额中,然后再从中取出指定的款数。

向现有账户追加存款时,不进行结算。

利息结算方式为:

到期利息=到期利率*每月固定金额*月数

超期利息=(总存款金额+到期利息)*超期利率

 

4、程序运行界面截图及说明

4.1、开户

4。

2、存款和取款

4。

3、显示界面

 

5、源代码:

/*Customs.cs*/

classCustoms

privatestringaccountName;

publicCustomTypeBankCustomType{get;protectedset;}

publicstringAccountNumber{get;protectedset;}

publicfloatAccountBalence{get;protectedset;}

publicstringTime;

publicintflag;

publicfloatbenjin;

publicintYear;

publicstringAccountName

get

{

returnaccountName;

}

set

{

if(string.IsNullOrEmpty(value))

{thrownewException("账号名不能为null或者空字符串”);}

else

{

for(inti=0;i

Length;i++)

if(char.IsLetter(value[i])==false)

{thrownewException(”zhuanghuzjiyunxuzhimuhuohanzizucheng”);}

else{accountName=value;}

}

publicListPerAccountList{get;set;}

publicvoidDiposit(floatmoney)

if(money〈=0)

{thrownewException("存款金额不能为零或负值”);}

else{AccountBalence+=money;AddList(”存款",money);}

}

protectedvoidAddList(stringtypeInfo,floatmoney)

PerAccountList。

Add(string。

Format(

"账号:

{0}。

姓名:

{1},存款金额:

{2},”+

"{3:

yyyy—MM—dd[HH:

mm:

ss]}{4}{5:

f2}元,余额{6:

f2}元",

AccountNumber,

AccountName,

BankCustomType,

DateTime.Now,

typeInfo,

money,

AccountBalence

));

}

protectedvoidAddList(stringtypeInfo,floatmoney,stringyear)

{

PerAccountList。

Add(string.Format(

”账号:

{0}.姓名:

{1},存款金额:

{2},"+

”{3:

yyyy—MM-dd[HH:

mm:

ss]}{4}{5:

f2}元,余额{6:

f2}元;期限:

{7}",

AccountNumber,

AccountName,

BankCustomType,

DateTime。

Now,

typeInfo,

money,

AccountBalence,

Time

));

publicboolValidBeforeWithdraw(floatmoney)

{

if(money<=0)

{

MessageBox。

Show(”qukuangjinebunengweilinhuofuzhi”);

returnfalse;

}

if(money>AccountBalence)

MessageBox。

Show("qukuangjinebunengfayuyue");

returnfalse;

returntrue;

}

publicvirtualvoidWithdraw(floatmoney)

{

AccountBalence—=money;

AddList("取款”,money);

}

 

\*Checkingcustoms.cs*\

classCheckingCostoms:

Customs

{

privatestaticintnewAccountNumber=10001;

publicfloatInterestRate

{

get

{return0。

0003f;}

publicCheckingCostoms(stringaccountName,floataccountBalence)

if(newAccountNumber>19999)

{thrownewException(”huoqicunkuangzhuanghu”);}

else

this.AccountName=accountName;

this。

AccountBalence=accountBalence;

this。

BankCustomType=CustomType.活期存款;

this.AccountNumber=newAccountNumber。

ToString();

newAccountNumber++;

PerAccountList=newList〈string〉();

AddList("kaihu”,accountBalence);

}

publicoverridevoidWithdraw(floatmoney)

if(ValidBeforeWithdraw(money)==false)return;

floatrate=InterestRate*AccountBalence;

AccountBalence+=rate;

AddList(”jiesuanlixi”,rate);

base。

Withdraw(money);

}

 

\*FixedCustoms。

cs*\

classFixedCustoms:

Customs

privatestaticintnewAccountNumber=20001;

publicfloatInterestRate

{

get

{

strings1;ints2,s3;

s1=DateTime.Now.ToString(”yyyy”);

s2=Convert.ToInt32(s1);

if(Time=="一年”)

{

s3=s2—Year;

if(s3<1)

{flag=-1;return0。

0002f;}

elseif(s3==1)

{flag=0;return0.001f;}

else

{flag=1;return0。

001f;}

elseif(Time==”三年”)

{

s3=s2-Year;

if(s3<3)

{flag=-1;return0.0002f;}

elseif(s3==3)

{flag=0;return0.003f;}

else

{flag=1;return0。

003f;}

else

{

s3=s2-Year;

if(s3<5)

{flag=—1;return0.0002f;}

elseif(s3==1)

{flag=0;return0.005f;}

else

{flag=1;return0.005f;}

}

publicFixedCustoms(stringaccountName,floataccountBalence,stringyear)

if(newAccountNumber>29999)

{thrownewException("dingqicunhaoyijinyongwan”);}

else

strings1;ints2;

s1=DateTime。

Now.ToString("yyyy");

s2=Convert。

ToInt32(s1);

this。

AccountName=accountName;

this.AccountBalence=accountBalence;

this。

BankCustomType=CustomType。

定期存款;

this。

Time=year;

this.Year=s2;

this.AccountNumber=newAccountNumber.ToString();

newAccountNumber++;

PerAccountList=newList〈string〉();

AddList(”开户”,accountBalence,year);

}

publicoverridevoidWithdraw(floatmoney)

if(ValidBeforeWithdraw(money)==false)return;

floatrate=0,rate1=0;

if(flag==0&&flag==-1)

rate=InterestRate*AccountBalence;

AccountBalence+=rate;

AddList("利息结算”,rate);

base。

Withdraw(money);

}

else

rate=InterestRate*AccountBalence;

AccountBalence+=rate;

rate1=0.0003f*AccountBalence;

AccountBalence+=rate1;

AddList("利息结算”,rate1);

base.Withdraw(money);

}

 

\*lingcunzhengqu。

cs*\

classLingcunzhengqu:

Customs

privatestaticintnewAccountNumber=30001;

publicfloatInterestRate

get

{

strings1;ints2;

s1=DateTime.Now.ToString(”yyyy”);

s2=Convert。

ToInt32(s1);

if(Time==”一年”)

if(AccountBalence

{

flag=—1;return0。

00015f;

}

elseif(AccountBalence==benjin*12)

{flag=0;return0。

0005f;}

else

{flag=1;return0。

0005f;}

elseif(Time==”三年")

{

if(AccountBalence

{

flag=-1;return0.00015f;

}

elseif(AccountBalence==benjin*36)

{flag=0;return0。

001f;}

else

{flag=1;return0。

001f;}

}

else

if(AccountBalence

flag=—1;return0.00015f;

}

elseif(AccountBalence==benjin*12)

{flag=0;return0.003f;}

else

{flag=1;return0。

003f;}

}

publicLingcunzhengqu(stringaccountName,floataccountBalence,stringyear)

if(newAccountNumber>39999)

{thrownewException(”dingqicunhaoyijinyongwan");}

else

strings1;ints2;

s1=DateTime。

Now。

ToString(”yyyy");

s2=Convert.ToInt32(s1);

this.AccountName=accountName;

this.AccountBalence=accountBalence;

this。

BankCustomType=CustomType。

零存整取;

this。

Time=year;

this.Year=s2;

this.benjin=accountBalence;

this。

AccountNumber=newAccountNumber。

ToString();

newAccountNumber++;

PerAccountList=newList();

AddList(”开户”,accountBalence,year);

}

publicoverridevoidWithdraw(floatmoney)

{

if(ValidBeforeWithdraw(money)==false)return;

floatrate=0,rate1=0;

intyueshu;

yueshu=(int)(AccountBalence/benjin);

if(flag==0&&flag==-1)

{

rate=InterestRate*benjin*yueshu;

AccountBalence+=rate;

AddList(”利息结算",rate);

base。

Withdraw(money);

}

else

{

rate=InterestRate*benjin*yueshu;

rate1=0.00025f*(AccountBalence+rate);

AccountBalence+=rate1;

AddList("利息结算",rate1);

base.Withdraw(money);

}

 

\*Mianform。

cs*\

 

publicpartialclassMainForm1:

Form

{

privatestaticSortedDictionary〈string,Customs>customers=newSortedDictionary();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2