




已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
一 需求分析n 銀行模擬系統(tǒng)要求模擬銀行一天0closetime的營業(yè)情況,業(yè)務(wù)總共分為兩類。存款與取款。開始銀行擁有一定數(shù)量的總額total供運行。程序運行輸出銀行在處理業(yè)務(wù)后的事件表。包括時間,存款數(shù)量,取款數(shù)量,銀行余額,等待情況。n 程序輸入的形式是按以下順序輸入到屏幕中,只需按照提示操作即可:銀行總余額 銀行運行時間-交易時間上、下界-事件時間上、下界-客戶存取金額n 程序輸出的形式是按照時間順序輸出銀行運行期間的事件表n 程序的功能是模擬顯示銀行在整個營業(yè)階段的運行狀況二 概要設(shè)計本程序中用到的抽象數(shù)據(jù)類型有偽隨機數(shù)類random,隊列類bankqueue,客戶類client偽隨機數(shù)類random的定義如下:class randompublic:random();/空構(gòu)造函數(shù)random(unsigned short initialSeed);/帶參構(gòu)造unsigned short randomInterger();/種子seed產(chǎn)生函數(shù)double rabdomDouble();/雙精度數(shù)產(chǎn)生函數(shù)double between(double low ,double high);/范圍隨機數(shù)產(chǎn)生函數(shù)(double型)int between(int low,int high);/范圍隨機數(shù)產(chǎn)生函數(shù)(int型)private:unsigned short seed;客戶類client的定義如下:class Client public:int num;int money;Client *next;int Dealingtime;int Casetime;客戶隊列bankqueue定義如下:class bankqueuepublic:int n;bankqueue();/構(gòu)造bankqueue();/析構(gòu)void enqueue(Client * c);/進隊列Client* dequeue();/出隊列int isEmpty();/判斷空否void deleteALLValues();/刪除所有元素private:Client *front,*tail;本程序利用隊列結(jié)果儲存客戶信息: 按提示輸入初始化銀行系統(tǒng)客戶信息隨機類產(chǎn)生客戶信息儲存與q1隊列里從q1中逐個彈出客戶信息,進行交易,并顯示結(jié)果不能滿足的客戶保存在q2中等待處理時間到或者所以業(yè)務(wù)已經(jīng)完成就退出。刪除q1,q2保存的信息。 三 詳細(xì)設(shè)計隨機數(shù)類實現(xiàn):l 隨機數(shù)類構(gòu)造種子=時鐘;l 返回短整數(shù)的函數(shù)乘數(shù)=33339;加數(shù)=;種子=(乘數(shù)*種子+加數(shù))%;返回種子;l 在low和high之間產(chǎn)生整型隨機數(shù)調(diào)用 返回短整數(shù)的函數(shù)+low; 銀行節(jié)點和隊列類實現(xiàn):l 銀行隊列構(gòu)造函數(shù)前指針=0;尾指針=0;長度=0;l 析構(gòu)函數(shù);進隊列函數(shù)(銀行節(jié)點指針)節(jié)點指針數(shù)據(jù)復(fù)制到新節(jié)點指針數(shù)據(jù)如果隊列空前指針=0; 尾指針=0尾指針=0;長度+1;出隊列新建指針P頭指針向前走查看隊列是否為空返回指針Pl 判斷隊列是否為空返回 頭指針是否為0;刪除所有元素長度,尾指針置0;從隊列里彈出節(jié)點并刪除四 調(diào)試分析 銀行模擬系統(tǒng)調(diào)試過程中遇到的問題:由于要運用到文件輸入輸出流,無法訪問Bank類的私有數(shù)據(jù),故將大部分程序?qū)懭隡ain函數(shù)中經(jīng)驗和體會等:從寫完代碼到調(diào)試成功,最后不斷的改進和完善,不僅鞏固了類定義和實現(xiàn),還極大的挑戰(zhàn)了我們編程能力。五 用戶使用說明 銀行模擬系統(tǒng)在程序運行時會依次顯示-歡迎使用銀行模擬系統(tǒng),請按提示輸入-請輸入銀行最初存款總額:請輸入銀行營業(yè)時間:輸入客戶交易時間的上、下界,并以逗號分隔開:請輸入事件之間時間間隔的上、下界,并以逗號分隔開:請按順序輸入客戶存取款的數(shù)額(取款負(fù)在金額前增加“-”,存款直接輸入金額即可,并以空格區(qū)分)輸入0模擬結(jié)束:只需按照提示輸入數(shù)據(jù)即可得到結(jié)果六 測試數(shù)據(jù) 銀行模擬系統(tǒng):l 正確的測試數(shù)據(jù):輸入數(shù)據(jù):0 600 100,1 20,1 100 200 -300 20 0 y10000 60000 20,1 20,1 -10000 -1 10000 -50000 60000 -7000 -80000 -90000 0 n輸出:-歡迎使用銀行模擬系統(tǒng),請按提示輸入-請輸入銀行最初存款總額:請輸入銀行營業(yè)時間:輸入客戶交易時間的上、下界,并以逗號分隔開:請輸入事件之間時間間隔的上、下界,并以逗號分隔開:請按順序輸入客戶存取款的數(shù)額(取款負(fù)在金額前增加“-”,存款直接輸入金額即可,并以空格區(qū)分)輸入0模擬結(jié)束:第1個客戶,從營業(yè)開始的第0分鐘,來到銀行,想要存取款100當(dāng)前銀行余額為¥0第1個客戶,從營業(yè)開始的第0分鐘,向銀行存款$100當(dāng)前銀行余額為¥100第1個客戶,從營業(yè)開始的第53分鐘,離開銀行當(dāng)前銀行余額為¥100現(xiàn)在檢查第二隊列第2個客戶,從營業(yè)開始的第65分鐘,來到銀行,想要存取款200當(dāng)前銀行余額為¥100第2個客戶,從營業(yè)開始的第65分鐘,向銀行存款$200當(dāng)前銀行余額為¥300第2個客戶,從營業(yè)開始的第72分鐘,離開銀行當(dāng)前銀行余額為¥300現(xiàn)在檢查第二隊列第3個客戶,從營業(yè)開始的第79分鐘,來到銀行,想要存取款-300當(dāng)前銀行余額為¥300第3個客戶,從營業(yè)開始的第79分鐘,向銀行存款$-300當(dāng)前銀行余額為¥0第3個客戶,從營業(yè)開始的第148分鐘,離開銀行當(dāng)前銀行余額為¥0現(xiàn)在檢查第二隊列第4個客戶,從營業(yè)開始的第155分鐘,來到銀行,想要存取款20當(dāng)前銀行余額為¥0第4個客戶,從營業(yè)開始的第155分鐘,向銀行存款$20當(dāng)前銀行余額為¥20第4個客戶,從營業(yè)開始的第230分鐘,離開銀行當(dāng)前銀行余額為¥20現(xiàn)在檢查第二隊列廣播:走過路過不要錯過,存錢取錢安全方便又實惠是否需要對次日繼續(xù)模擬(Y/N):請輸入銀行最初存款總額:請輸入銀行營業(yè)時間:輸入客戶交易時間的上、下界,并以逗號分隔開:請輸入事件之間時間間隔的上、下界,并以逗號分隔開:請按順序輸入客戶存取款的數(shù)額(取款負(fù)在金額前增加“-”,存款直接輸入金額即可,并以空格區(qū)分)輸入0模擬結(jié)束:第1個客戶,從營業(yè)開始的第0分鐘,來到銀行,想要存取款-10000當(dāng)前銀行余額為¥10000第1個客戶,從營業(yè)開始的第0分鐘,向銀行存款$-10000當(dāng)前銀行余額為¥0第1個客戶,從營業(yè)開始的第13分鐘,離開銀行當(dāng)前銀行余額為¥0現(xiàn)在檢查第二隊列第2個客戶,從營業(yè)開始的第25分鐘,來到銀行,想要存取款-1當(dāng)前銀行余額為¥0銀行總額不足,第2個客戶轉(zhuǎn)入第二隊列等待當(dāng)前銀行余額為¥0第3個客戶,從營業(yè)開始的第32分鐘,來到銀行,想要存取款10000當(dāng)前銀行余額為¥0第3個客戶,從營業(yè)開始的第32分鐘,向銀行存款$10000當(dāng)前銀行余額為¥10000第3個客戶,從營業(yè)開始的第41分鐘,離開銀行當(dāng)前銀行余額為¥10000現(xiàn)在檢查第二隊列在第3個客戶后,從營業(yè)開始的第57分鐘,有第二隊列客戶從銀行取款-1離開第4個客戶,從營業(yè)開始的第57分鐘,來到銀行,想要存取款-50000當(dāng)前銀行余額為¥9999銀行總額不足,第4個客戶轉(zhuǎn)入第二隊列等待當(dāng)前銀行余額為¥9999第5個客戶,從營業(yè)開始的第72分鐘,來到銀行,想要存取款60000當(dāng)前銀行余額為¥9999第5個客戶,從營業(yè)開始的第72分鐘,向銀行存款$60000當(dāng)前銀行余額為¥69999第5個客戶,從營業(yè)開始的第84分鐘,離開銀行當(dāng)前銀行余額為¥69999現(xiàn)在檢查第二隊列在第5個客戶后,從營業(yè)開始的第111分鐘,有第二隊列客戶從銀行取款-50000離開第6個客戶,從營業(yè)開始的第111分鐘,來到銀行,想要存取款-7000當(dāng)前銀行余額為¥19999第6個客戶從銀行取款¥-7000當(dāng)前銀行余額為¥12999第6個客戶,從營業(yè)開始的第113分鐘,離開銀行當(dāng)前銀行余額為¥12999第7個客戶,從營業(yè)開始的第126分鐘,來到銀行,想要存取款-80000當(dāng)前銀行余額為¥12999銀行總額不足,第7個客戶轉(zhuǎn)入第二隊列等待當(dāng)前銀行余額為¥12999第8個客戶,從營業(yè)開始的第130分鐘,來到銀行,想要存取款-90000當(dāng)前銀行余額為¥12999銀行總額不足,第8個客戶轉(zhuǎn)入第二隊列等待當(dāng)前銀行余額為¥12999第9個客戶,從營業(yè)開始的第148分鐘,來到銀行,想要存取款當(dāng)前銀行余額為¥12999第9個客戶,從營業(yè)開始的第148分鐘,向銀行存款$當(dāng)前銀行余額為¥第9個客戶,從營業(yè)開始的第155分鐘,離開銀行當(dāng)前銀行余額為¥現(xiàn)在檢查第二隊列在第9個客戶后,從營業(yè)開始的第171分鐘,有第二隊列客戶從銀行取款-80000離開在第9個客戶后,從營業(yè)開始的第178分鐘,有第二隊列客戶從銀行取款-90000離開廣播:走過路過不要錯過,存錢取錢安全方便又實惠是否需要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年壓瘡護理新進展
- 客戶開發(fā)工作總結(jié)案例
- 電梯安全培訓(xùn)
- 兒童財商教育課件
- 內(nèi)科護理10分鐘小講課
- 倉儲物流中心廠房出租與倉儲服務(wù)外包協(xié)議
- 心梗老人的護理
- 知識產(chǎn)權(quán)采購合同范本:電子元器件行業(yè)
- 創(chuàng)新型企業(yè)廠房物業(yè)管理及創(chuàng)新解決方案合同范本
- 物業(yè)服務(wù)企業(yè)人力資源配置合同
- 業(yè)務(wù)部門協(xié)作與協(xié)同計劃
- 2025年陜西省公民科學(xué)素質(zhì)大賽考試題(附答案)
- 2025年蘭州石化職業(yè)技術(shù)大學(xué)單招職業(yè)技能測試題庫帶答案
- 教學(xué)課件-金融學(xué)概論(第2版-蓋銳)
- 人為關(guān)懷在骨科護理中的應(yīng)用
- 人工智能算法模型定制開發(fā)合同
- 臨床外科實習(xí)生入科教育
- 《高血壓腎損害》課件
- 閩教版英語四年級下冊單詞默寫表
- 禁種鏟毒培訓(xùn)
- 工程造價軟件應(yīng)用-形考任務(wù)3-國開(SC)-參考資料
評論
0/150
提交評論