版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求1.課程設(shè)計(jì)目的:全面熟悉、掌握C#編程、面向?qū)ο蟮幕A(chǔ)知識(shí),較熟練地編寫基于C#的windows應(yīng)用程序,了解C#的常用類庫、編程技巧、異常處理。聯(lián)系已學(xué)的內(nèi)容,鞏固所學(xué)的理論,增強(qiáng)獨(dú)立工作能力。通過設(shè)計(jì)主要使學(xué)生有一個(gè)獨(dú)立編寫程序的過程,對(duì)理論學(xué)習(xí)及動(dòng)手能力都有一個(gè)很大的提高。為后繼課程(ASP.net)的實(shí)驗(yàn)以及課程設(shè)計(jì)打下較扎實(shí)的基礎(chǔ)。2.課題題目(1)銀行業(yè)務(wù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)3.設(shè)計(jì)要求:(1)課程設(shè)計(jì)環(huán)境要求操作系統(tǒng):Windows XP SP3或是Windows 7,內(nèi)存要求:至少512MB。開發(fā)環(huán)境要求:安裝了VS2008 SP
2、1的VS 2008 Professional簡體中文版。(2)設(shè)計(jì)內(nèi)容要求在銀行業(yè)務(wù)管理中,不同銀行規(guī)定有不同的賬戶類型,如整存整取、零存整取、存本取息、通知存款、定額定期、訂貨兩便和活期儲(chǔ)蓄等。本課程設(shè)計(jì)不處理這么復(fù)雜的內(nèi)容,而是假定只提供三種賬戶,活期存款賬戶、定期存款賬戶和零存整取賬戶。1) 活期存款賬戶規(guī)定創(chuàng)建活期賬戶時(shí),必須提供帳戶名和開戶金額,而賬號(hào)則根據(jù)存款分類自動(dòng)生成,活期存款賬號(hào)的范圍為1000119999(包括10001和19999),默認(rèn)為0.03%,每次取款時(shí),不論存款時(shí)間多長,都要根據(jù)當(dāng)前余額結(jié)算一次利息,并將利息附加到現(xiàn)有余額中,然后再從中取出指定的款數(shù)。向現(xiàn)有賬戶
3、追加存款時(shí),不進(jìn)行結(jié)算。2) 定期存款賬戶規(guī)定創(chuàng)建定期賬戶時(shí),必須提供帳戶名和開戶金額,而賬號(hào)則根據(jù)存款分類自動(dòng)生成,定期存款賬號(hào)的范圍為2000129999(包括20001和2999),定期存款要求一次性存款、一次性取款,100元起存,期限規(guī)定為只提供1年、3年和5年三種定期。三種到期利率默認(rèn)分別為0.1%、0.3%和0.5%,如果到期后客戶沒有取款、超出存款期限部分的利率按0.03%計(jì)算。如果客戶提前取款,取款時(shí)利率全部按0.02%計(jì)算。每次取款時(shí),不論存款時(shí)間多長,都要根據(jù)當(dāng)前余額結(jié)算一次利息,并將利息附加到現(xiàn)有余額中,然后再從中取出指定的款數(shù)。向現(xiàn)有賬戶追加存款時(shí),不進(jìn)行結(jié)算。利息結(jié)算
4、方式為:到期利息=定期利率*存款金額超期利息=(存款金額+到期利息)*超期利率3) 零存整取規(guī)定創(chuàng)建零存整取賬戶時(shí),必須提供帳戶名和開戶金額,而賬號(hào)則根據(jù)存款分類自動(dòng)生成,零存整取賬號(hào)的范圍為3000139999(包括30001和3999),零存整取要求每月都必須存固定的金額,5元起存,一次取款,存款期限規(guī)定為只提供1年、3年和5年三種,到期利率默認(rèn)為0.05%、0.1%和0.3%,如果到期后客戶沒有取款,超出存款期限部分的利率按0.025%。如果客戶沒有按規(guī)定存款,取款時(shí)利率全部按0.015%計(jì)算。每次取款時(shí),不論存款時(shí)間多長,都要根據(jù)當(dāng)前余額結(jié)算一次利息,并將利息附加到現(xiàn)有余額中,然后再從
5、中取出指定的款數(shù)。向現(xiàn)有賬戶追加存款時(shí),不進(jìn)行結(jié)算。利息結(jié)算方式為:到期利息=到期利率*每月固定金額*月數(shù)超期利息=(總存款金額+到期利息)*超期利率4) 要允許用戶隨時(shí)查詢自己的存取款信息。查詢時(shí)要求提供用戶名、存款類型和賬戶。5) 程序要易于擴(kuò)充,即需要增加存款業(yè)務(wù)類型時(shí),要能夠利用已經(jīng)實(shí)現(xiàn)的功能,通過盡量少的代碼快速實(shí)現(xiàn)。(3)課程設(shè)計(jì)文檔要求1)每位同學(xué)提交一份打印的課程設(shè)計(jì)報(bào)告。2)報(bào)告內(nèi)容要求系統(tǒng)功能介紹,并用viso畫出系統(tǒng)整體框架圖主要模塊劃分,并用viso畫出系統(tǒng)功能模塊圖程序運(yùn)行界面截圖及說明。系統(tǒng)主要亮點(diǎn)介紹。設(shè)計(jì)中遇到的問題、難點(diǎn)及解決方法。3) 按規(guī)定格式完成課程設(shè)計(jì)
6、報(bào)告,將其打印稿(A4紙)上交給老師存檔。4)不得抄襲他人課程設(shè)計(jì)報(bào)告,每個(gè)人應(yīng)體現(xiàn)自己的個(gè)性設(shè)計(jì)。二、進(jìn)度安排第 1 周 星期三 8時(shí):00分12時(shí):00分第 1 周 星期四 8時(shí):00分12時(shí):00分第 1 周 星期五 8時(shí):00分12時(shí):00分附:課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書、目錄、正文、評(píng)分、附件(A4大小的圖紙及程序清單)。正文的格式:一級(jí)標(biāo)題用3號(hào)黑體,二級(jí)標(biāo)題用4號(hào)宋體加粗,正文用小四號(hào)宋體,行距為22.專心-專注-專業(yè) 目錄注意:1. 此目錄供參考。(目錄中的頁碼要寫好。)2. 課設(shè)報(bào)告的裝訂順序:此文檔的前五頁->目錄->正文->評(píng)分表。起始頁碼從正文
7、開始。(注意:前四頁的內(nèi)容中的課題題目需列出具體題目)1、系統(tǒng)開發(fā)背景 全面熟悉、掌握C#編程、面向?qū)ο蟮幕A(chǔ)知識(shí),較熟練地編寫基于C#的windows應(yīng)用程序,了解C#的常用類庫、編程技巧、異常處理。聯(lián)系已學(xué)的內(nèi)容,鞏固所學(xué)的理論,增強(qiáng)獨(dú)立工作能力。通過設(shè)計(jì)主要使學(xué)生有一個(gè)獨(dú)立編寫程序的過程,對(duì)理論學(xué)習(xí)及動(dòng)手能力都有一個(gè)很大的提高。為后繼課程(ASP.net)的實(shí)驗(yàn)以及課程設(shè)計(jì)打下較扎實(shí)的基礎(chǔ)。2、系統(tǒng)功能模塊 用戶可以根據(jù)需求選擇不同的銀行,然后在銀行里面選擇不同的存款類型,一般的存儲(chǔ)類型有:整存整取、零存整取、存本取息、通知存款、定額定期、訂貨兩便和活期儲(chǔ)蓄等。本課程設(shè)計(jì)不處理這么復(fù)雜的
8、內(nèi)容,而是假定只提供三種賬戶,活期存款賬戶、定期存款賬戶和零存整取賬戶。這樣用戶選擇存儲(chǔ)類型后,就可以開戶,存款和取款等業(yè)務(wù)了。 開戶存儲(chǔ)類型選擇活期存款定期存款零存整取 存款或取款3、主要模塊劃分3.1、活期存款賬戶規(guī)定 創(chuàng)建活期賬戶時(shí),必須提供帳戶名和開戶金額,而賬號(hào)則根據(jù)存款分類自動(dòng)生成,活期存款賬號(hào)的范圍為1000119999(包括10001和19999),默認(rèn)為0.03%,每次取款時(shí),不論存款時(shí)間多長,都要根據(jù)當(dāng)前余額結(jié)算一次利息,并將利息附加到現(xiàn)有余額中,然后再從中取出指定的款數(shù)。向現(xiàn)有賬戶追加存款時(shí),不進(jìn)行結(jié)算。3.2、定期存款賬戶規(guī)定 創(chuàng)建定期賬戶時(shí),必須提供帳戶名和開戶金額,
9、而賬號(hào)則根據(jù)存款分類自動(dòng)生成,定期存款賬號(hào)的范圍為2000129999(包括20001和2999),定期存款要求一次性存款、一次性取款,100元起存,期限規(guī)定為只提供1年、3年和5年三種定期。三種到期利率默認(rèn)分別為0.1%、0.3%和0.5%,如果到期后客戶沒有取款、超出存款期限部分的利率按0.03%計(jì)算。如果客戶提前取款,取款時(shí)利率全部按0.02%計(jì)算。每次取款時(shí),不論存款時(shí)間多長,都要根據(jù)當(dāng)前余額結(jié)算一次利息,并將利息附加到現(xiàn)有余額中,然后再從中取出指定的款數(shù)。向現(xiàn)有賬戶追加存款時(shí),不進(jìn)行結(jié)算。利息結(jié)算方式為:到期利息=定期利率*存款金額超期利息=(存款金額+到期利息)*超期利率3.3、零
10、存整取賬戶規(guī)定 創(chuàng)建零存整取賬戶時(shí),必須提供帳戶名和開戶金額,而賬號(hào)則根據(jù)存款分類自動(dòng)生成,零存整取賬號(hào)的范圍為3000139999(包括30001和3999),零存整取要求每月都必須存固定的金額,5元起存,一次取款,存款期限規(guī)定為只提供1年、3年和5年三種,到期利率默認(rèn)為0.05%、0.1%和0.3%,如果到期后客戶沒有取款,超出存款期限部分的利率按0.025%。如果客戶沒有按規(guī)定存款,取款時(shí)利率全部按0.015%計(jì)算。每次取款時(shí),不論存款時(shí)間多長,都要根據(jù)當(dāng)前余額結(jié)算一次利息,并將利息附加到現(xiàn)有余額中,然后再從中取出指定的款數(shù)。向現(xiàn)有賬戶追加存款時(shí),不進(jìn)行結(jié)算。利息結(jié)算方式為:到期利息=到
11、期利率*每月固定金額*月數(shù)超期利息=(總存款金額+到期利息)*超期利率4、程序運(yùn)行界面截圖及說明4.1、開戶4.2、存款和取款4.3、顯示界面5、源代碼:/* Customs.cs */class Customs private string accountName; public CustomType BankCustomType get; protected set; public string AccountNumber get; protected set; public float AccountBalence get; protected set; public string Ti
12、me ; public int flag; public float benjin; public int Year; public string AccountName get return accountName; set if (string.IsNullOrEmpty(value) throw new Exception("賬號(hào)名不能為null或者空字符串"); else for (int i = 0; i < value.Length; i+) if (char.IsLetter(valuei) = false) throw new Exception(&q
13、uot;zhuanghuzjiyunxuzhimuhuohanzizucheng"); else accountName = value; public List<string> PerAccountList get;set ; public void Diposit(float money) if (money <= 0) throw new Exception("存款金額不能為零或負(fù)值"); else AccountBalence += money; AddList("存款", money); protected void
14、 AddList(string typeInfo, float money) PerAccountList.Add(string.Format( "賬號(hào):0.姓名:1,存款金額:2,"+ "3:yyyy-MM-ddHH:mm:ss 45:f2元,余額6:f2元", AccountNumber , AccountName , BankCustomType , DateTime .Now , typeInfo , money , AccountBalence ); protected void AddList(string typeInfo, float m
15、oney,string year) PerAccountList.Add(string.Format( "賬號(hào):0.姓名:1,存款金額:2," + "3:yyyy-MM-ddHH:mm:ss 45:f2元,余額6:f2元; 期限 :7", AccountNumber, AccountName, BankCustomType, DateTime.Now, typeInfo, money, AccountBalence, Time ); public bool ValidBeforeWithdraw(float money) if (money <=
16、0) MessageBox.Show("qukuangjinebunengweilinhuofuzhi"); return false; if (money > AccountBalence) MessageBox.Show("qukuangjinebunengfayuyue"); return false; return true; public virtual void Withdraw(float money) AccountBalence -= money; AddList("取款",money ); * Checkin
17、gcustoms.cs * class CheckingCostoms :Customs private static int newAccountNumber = 10001; public float InterestRate get return 0.0003f; public CheckingCostoms(string accountName, float accountBalence) if (newAccountNumber > 19999) throw new Exception("huoqicunkuangzhuanghu"); else this.
18、AccountName = accountName; this.AccountBalence = accountBalence; this.BankCustomType = CustomType.活期存款; this.AccountNumber = newAccountNumber.ToString(); newAccountNumber+; PerAccountList = new List<string>(); AddList("kaihu",accountBalence ); public override void Withdraw(float mone
19、y) if (ValidBeforeWithdraw(money) = false) return; float rate = InterestRate * AccountBalence; AccountBalence += rate; AddList("jiesuanlixi",rate ); base.Withdraw(money); * FixedCustoms.cs *class FixedCustoms:Customs private static int newAccountNumber=20001; public float InterestRate get
20、string s1; int s2,s3; s1=DateTime.Now .ToString ("yyyy"); s2=Convert .ToInt32 (s1); if(Time ="一年") s3 = s2 - Year; if (s3 < 1) flag = -1; return 0.0002f; else if (s3 = 1) flag = 0; return 0.001f; else flag = 1; return 0.001f; else if (Time = "三年") s3 = s2 - Year; if
21、(s3 < 3) flag = -1; return 0.0002f; else if (s3 = 3) flag = 0; return 0.003f; else flag = 1; return 0.003f; else s3 = s2 - Year; if (s3 < 5) flag = -1; return 0.0002f; else if (s3 = 1) flag = 0; return 0.005f; else flag = 1; return 0.005f; public FixedCustoms (string accountName,float accountB
22、alence,string year) if (newAccountNumber > 29999) throw new Exception("dingqicunhaoyijinyongwan"); else string s1; int s2; s1 = DateTime.Now.ToString("yyyy"); s2 = Convert.ToInt32(s1); this.AccountName = accountName; this.AccountBalence = accountBalence; this.BankCustomType =
23、CustomType.定期存款; this.Time = year; this.Year = s2; this.AccountNumber = newAccountNumber.ToString(); newAccountNumber+; PerAccountList = new List<string>(); AddList("開戶",accountBalence,year ); public override void Withdraw(float money) if (ValidBeforeWithdraw(money) = false) return;
24、float rate=0,rate1=0; if (flag = 0 && flag = -1) rate = InterestRate * AccountBalence; AccountBalence += rate; AddList("利息結(jié)算", rate); base.Withdraw(money); else rate = InterestRate * AccountBalence; AccountBalence += rate; rate1 = 0.0003f * AccountBalence; AccountBalence += rate1;
25、AddList("利息結(jié)算", rate1); base.Withdraw(money); * lingcunzhengqu.cs *class Lingcunzhengqu:Customs private static int newAccountNumber=30001; public float InterestRate get string s1; int s2; s1=DateTime.Now .ToString ("yyyy"); s2=Convert .ToInt32 (s1); if(Time ="一年") if (A
26、ccountBalence < benjin * 12) flag = -1; return 0.00015f; else if (AccountBalence = benjin * 12) flag = 0; return 0.0005f; else flag = 1;return 0.0005f; else if (Time = "三年") if (AccountBalence < benjin * 36) flag = -1; return 0.00015f; else if (AccountBalence = benjin * 36) flag = 0;
27、 return 0.001f; else flag = 1; return 0.001f; else if (AccountBalence < benjin * 60) flag = -1; return 0.00015f; else if (AccountBalence = benjin * 12) flag = 0; return 0.003f; else flag = 1; return 0.003f; public Lingcunzhengqu (string accountName,float accountBalence,string year) if (newAccount
28、Number > 39999) throw new Exception("dingqicunhaoyijinyongwan"); else string s1; int s2; s1 = DateTime.Now.ToString("yyyy"); s2 = Convert.ToInt32(s1); this.AccountName = accountName; this.AccountBalence = accountBalence; this.BankCustomType = CustomType.零存整取; this.Time = year;
29、 this.Year = s2; this.benjin = accountBalence; this.AccountNumber = newAccountNumber.ToString(); newAccountNumber+; PerAccountList = new List<string>(); AddList("開戶",accountBalence,year ); public override void Withdraw(float money) if (ValidBeforeWithdraw(money) = false) return; floa
30、t rate=0,rate1=0; int yueshu; yueshu = (int )(AccountBalence / benjin); if (flag = 0 && flag = -1) rate = InterestRate * benjin *yueshu ; AccountBalence += rate; AddList("利息結(jié)算", rate); base.Withdraw(money); else rate = InterestRate *benjin *yueshu ; rate1 = 0.00025f * (AccountBalen
31、ce+rate ); AccountBalence += rate1; AddList("利息結(jié)算", rate1); base.Withdraw(money); * Mianform.cs *public partial class MainForm1 : Form private static SortedDictionary<string, Customs> customers = new SortedDictionary<string, Customs>(); public MainForm1() InitializeComponent();
32、 string accountTypeString = Enum.GetNames(typeof(CustomType); comboBox1.Items.AddRange(accountTypeString); comboBox1.SelectedIndex = 0; this.StartPosition = FormStartPosition.CenterScreen; private void MainForm1_Load(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e)
33、float money; if (float.TryParse(textBox2.Text, out money) = false) MessageBox.Show("開戶金額不正確","無法開戶",MessageBoxButtons.OK ,MessageBoxIcon.Question ); return; CreateCustom(comboBox1.Text, textBox1.Text, money,comboBox2.Text); private void CreateCustom(string customTypeString, strin
34、g userName, float initMoney,string year) Customs newCustom = null; if (customTypeString = "活期存款") try newCustom = new CheckingCostoms(userName, initMoney); catch (Exception ex) MessageBox.Show(ex.ToString(); else if (customTypeString = "定期存款") if (Int32.Parse(textBox2.Text) <
35、100) MessageBox.Show("開戶金額不足", "無法開戶", MessageBoxButtons.OK, MessageBoxIcon.Question); else try newCustom = new FixedCustoms(userName, initMoney, year); catch (Exception ex) MessageBox.Show(ex.ToString(); return; else if (Int32.Parse(textBox2.Text) < 5) MessageBox.Show("開
36、戶金額不足", "無法開戶", MessageBoxButtons.OK, MessageBoxIcon.Question); else try newCustom = new Lingcunzhengqu (userName, initMoney, year); catch (Exception ex) MessageBox.Show(ex.ToString(); return; if (newCustom != null) customers.Add(newCustom.AccountNumber, newCustom); UpdateAccountInfo(
37、newCustom.AccountNumber); private void UpdateAccountInfo(string account) listBox1.Items.Clear(); Customs custom = customersaccount; foreach (var info in custom.PerAccountList) listBox1.Items.Add(info ); private void button2_Click(object sender, EventArgs e) float money; if (!ParseMoney(textBox4.Text, "存款", out money) return;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年繪本項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模式
- 2025樣品測(cè)試分析委托管理合同
- 2025倉儲(chǔ)合同簽訂格式
- 2025年鏤銑機(jī)械項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模稿
- 2025高速公路承包合同
- 2025年表面涂鍍材料項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告
- 2025房地產(chǎn)商品房預(yù)售合同范本
- 2025年鉻氧化鋁陶瓷材料項(xiàng)目申請(qǐng)報(bào)告模范
- 春節(jié)傳統(tǒng)習(xí)俗有哪些4篇
- 數(shù)學(xué)期末復(fù)習(xí)計(jì)劃(15篇)
- 人力資源服務(wù)公司章程
- (正式版)CB∕T 4552-2024 船舶行業(yè)企業(yè)安全生產(chǎn)文件編制和管理規(guī)定
- 病案管理質(zhì)量控制指標(biāo)檢查要點(diǎn)
- 2024年西藏中考物理模擬試題及參考答案
- 九型人格與領(lǐng)導(dǎo)力講義
- 藥品經(jīng)營和使用質(zhì)量監(jiān)督管理辦法培訓(xùn)試題及答案2023年9月27日國家市場(chǎng)監(jiān)督管理總局令第84號(hào)公布
- 人教版五年級(jí)上冊(cè)數(shù)學(xué)脫式計(jì)算練習(xí)200題及答案
- 卵巢黃體囊腫破裂教學(xué)查房
- 醫(yī)院定崗定編
- 2023年大學(xué)物理化學(xué)實(shí)驗(yàn)報(bào)告化學(xué)電池溫度系數(shù)的測(cè)定
- 腦出血的護(hù)理課件腦出血護(hù)理查房PPT
評(píng)論
0/150
提交評(píng)論