




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)報(bào)告課程類別:本科課程名稱:程序設(shè)計(jì)基礎(chǔ)(C語言)課程代號(hào):指導(dǎo)教師:銀行ATM自動(dòng)取款機(jī)系統(tǒng)課程設(shè)計(jì)姓名: 學(xué)號(hào):姓名: 學(xué)號(hào):姓名: 學(xué)號(hào):學(xué)院:班級:目 錄1.課程設(shè)計(jì)內(nèi)容2.課程設(shè)計(jì)要求3可行性研究4需求分析5.概要設(shè)計(jì)5.1 功能模塊圖5.2 功能模塊描述5.3數(shù)據(jù)結(jié)構(gòu)6.詳細(xì)設(shè)計(jì)6.1 功能流程圖6.2 重點(diǎn)設(shè)計(jì)7.測試與調(diào)試8.總結(jié)8.1 心得體會(huì)8.2 不足與改進(jìn)9.參考文獻(xiàn)1.課程設(shè)計(jì)內(nèi)容模擬銀行的自動(dòng)取款機(jī)ATM使用過程中的界面和用戶交互過程2課程設(shè)計(jì)要求(1)要求利用面向過程的方法以及C語言的編程思想來完成系統(tǒng)的設(shè)計(jì); (2)在系統(tǒng)的設(shè)計(jì)中,要求運(yùn)用菜單和文件實(shí)現(xiàn)
2、系統(tǒng)功能。(3)在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如存款、代繳電話費(fèi)等,或設(shè)計(jì)友好的界面等。3可行性研究系統(tǒng)是一個(gè)基于局域網(wǎng)、互聯(lián)網(wǎng)和WINDOWS操作的系統(tǒng),現(xiàn)有技術(shù)已較為成熟,利用現(xiàn)有技術(shù)完全可以實(shí)現(xiàn)系統(tǒng)開發(fā)目標(biāo)。同時(shí)具有優(yōu)秀的軟件需求人員、軟件設(shè)計(jì)人員、和具有豐富經(jīng)驗(yàn)的軟件測試人員。4需求分析在市場經(jīng)濟(jì)的蓬勃發(fā)展和人們?nèi)找娣泵Φ臈l件下,現(xiàn)有的銀行系統(tǒng)往往需 要客戶在辦理手續(xù)時(shí)等待很長的時(shí)間,這不僅會(huì)浪費(fèi)很多寶貴的時(shí)間,也 會(huì)使得銀行的業(yè)務(wù)人員十分的繁忙,需要很大的人力和財(cái)力。5概要設(shè)計(jì)5.1 功能模塊圖此處除了系統(tǒng)的模塊劃分,還要重點(diǎn)描述三人分工情況,分工一定要明確。儲(chǔ)戶信息類 設(shè) 置
3、儲(chǔ) 戶 信 息 修 改 密 碼 查 詢 余 額取 款取 密 碼取儲(chǔ) 戶 名轉(zhuǎn) 賬5.2 功能模塊描述銀行自動(dòng)取款機(jī)菜單界面設(shè) 置 儲(chǔ) 戶 信 息修 改 密 碼查 詢 余 額取 款轉(zhuǎn) 賬取儲(chǔ)戶 名5.3 數(shù)據(jù)結(jié)構(gòu)#include#include void main() int Num,a,code,ll=0,l=0,p,n,r=0,x,m,Num1,Num2; int num10,feng10,money10,s6,t6; int i=0; for(p=0;p9;p+) nump=000000; moneyp=5000; fengp=0; loop: /首先.請陳老師原諒我N多的goto. pr
4、intf( _n); printf(| |n); printf(| 歡迎使用ATM自動(dòng)取款機(jī) |n); printf(| |n); printf(| 第一小組熱情開發(fā) |n); printf(|_|n); printf( 請輸入卡號(hào):); scanf(%d,&Num); fflush(stdin); if(Num=00) printf(是否進(jìn)入管理員模式?1/2:);/是否進(jìn)入管理員模式。 scanf(%d,&a); fflush(stdin); switch(a) case 1: printf(請輸入管理員密碼(6位):); scanf(%d,&code); fflush(stdin); i
5、f(code!=num0) printf(密碼不正確!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto loop; else guanlimoshi:/密碼輸入正確后,進(jìn)入管理模式. system(cls); printf(|-歡迎進(jìn)入管理員模式-|n); printf(| 1:查詢用戶帳戶信息 |n); printf(| 2:返回歡迎界面 |n); printf(|_|n); printf( 請選擇:); scanf(%d,&n); fflush(stdin); switch(n) case 1:system(cls)
6、;goto guanli;break; case 2:system(cls);goto loop;break; case 2: system(cls); goto loop; break; default:printf(輸入錯(cuò)誤!n);break; else if(fengNum=1)/如果輸入的不是管理員帳號(hào),則判斷該帳號(hào)是否被封. printf(該帳號(hào)已被封存!n);/如果被封,則返回開頭. printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto loop; else/如果沒被封,則開始輸入密碼. printf(請輸入密碼:);s
7、tate: scanf(%d,&code); fflush(stdin); if(code!=numNum) printf(密碼不正確!請重新輸入:); i+;/計(jì)算輸入錯(cuò)誤幾次. if(i3) goto state; else printf(連續(xù)三次出錯(cuò)!n); +r;/計(jì)算連續(xù)三次出錯(cuò)共有幾次. if(r5000)/判斷累計(jì)取款額. printf(累計(jì)取款超過5000元,系統(tǒng)出錯(cuò).n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto shuru; else/若低于5000,則開始取款. if(moneyNum100)/判
8、斷此時(shí)余額,進(jìn)行屏幕打印. printf(余額不足.n);/以下N個(gè)瘋狂的循環(huán)道理同此. printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls);/原諒我吧蔣老師.我實(shí)在沒想出啥好方法. goto shuru; else if(moneyNum200)/現(xiàn)金在0200元之間時(shí)。 printf(請選擇:1.100元 2.返回上一級n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf(正在取款,請稍候.n); moneyNum-=100; l+=100; printf(取款成功!n); p
9、rintf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2:goto shuru;break; default: printf(輸入錯(cuò)誤!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; else if(moneyNum500)/現(xiàn)金在0500元之間時(shí)。 printf(請選擇:1.100元 2.200元 3.返回上一級.n); scanf(%d,&n); fflush(stdin); switc
10、h(n) case 1: printf(正在取款,請稍候.n); moneyNum-=100; l+=100; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf(正在取款,請稍候.n); moneyNum-=200; l+=200; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3:goto shu
11、ru;break; default: printf(輸入錯(cuò)誤!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; else if(moneyNum1000)/現(xiàn)金在01000元之間時(shí)。 printf(請選擇:1.100元 2.200元 3.500元 4.返回上一級.n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf(正在取款,請稍候.n); moneyNum-=100; l+=100; printf(取款成功!n); printf
12、(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf(正在取款,請稍候.n); moneyNum-=200; l+=200; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3: printf(正在取款,請稍候.n); moneyNum-=500; l+=500; printf(取款成功!n); printf(按任意鍵返回。n); while(ge
13、tchar()!=EOF) system(cls); goto qukuan; break; case 4:goto shuru;break; default: printf(輸入錯(cuò)誤!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; else if(moneyNum2000)/現(xiàn)金在02000元之間時(shí)。 printf(請選擇:1.100元 2.200元 3.500元 4.1000元 5.返回上一級.n); scanf(%d,&n); fflush(stdin); switch(n) cas
14、e 1: printf(正在取款,請稍候.n); moneyNum-=100; l+=100; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf(正在取款,請稍候.n); moneyNum-=200; l+=200; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3: printf(正在取款,請稍候
15、.n); moneyNum-=500; l+=500; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 4: printf(正在取款,請稍候.n); moneyNum-=1000; l+=1000; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 5:goto shuru;break; default: printf(
16、輸入錯(cuò)誤!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; else/現(xiàn)金在2000元以上時(shí)。 printf(請選擇:1.100元 2.200元 3.500元 4.1000元 5.2000元 6.返回上一級.n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf(正在取款,請稍候.n); moneyNum-=100; l+=100; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!
17、=EOF) system(cls); goto qukuan; break; case 2: printf(正在取款,請稍候.n); moneyNum-=200; l+=200; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3: printf(正在取款,請稍候.n); moneyNum-=500; l+=500; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); g
18、oto qukuan; break; case 4: printf(正在取款,請稍候.n); moneyNum-=1000; l+=1000; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 5: printf(正在取款,請稍候.n); moneyNum-=2000; l+=2000; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; brea
19、k; case 6:goto shuru;break; default: printf(輸入錯(cuò)誤!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; break; case 2:goto shuru;break; default: printf(輸入錯(cuò)誤!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; mimaxiugai:/進(jìn)入修改密碼頁面。 printf(|-修改密碼-|n); pri
20、ntf(| 請選擇: |n); printf(| 1.修改密碼。 |n); printf(| 2.返回上一級。 |n); printf(|_|n); scanf(%d,&x); fflush(stdin); switch(x) case 1: printf(請輸入新密碼(六位):n);/第一次輸入。 for(m=0;m=5;m+) sm=getch();/這里,輸入時(shí)可以顯示*,但是不能用退格健。 printf(*);/退格鍵會(huì)被當(dāng)作一個(gè)字符輸入。問題有待解決 printf(請重新輸入密碼(六位):n);/第二次輸入。 for(m=0;m=5;m+) tm=getch(); printf(*)
21、; for(m=0;m=ll) moneyNum-=ll; moneyNum1+=ll; printf(轉(zhuǎn)賬成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto zhuanzhang; else printf(余額不足!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto zhuanzhang; break; else /輸入不同,則返回。 printf(賬號(hào)確認(rèn)失??!n); printf(按任意鍵返回。n); while(getchar()!=EO
22、F) system(cls); goto zhuanzhang; case 2:system(cls);goto shuru;break; default: printf(輸入錯(cuò)誤!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto zhuanzhang; break; yuechaxun:/進(jìn)入余額查詢頁面。直接打印出余額。 printf(|-余額查詢-|n); printf(|當(dāng)前余額:%6d-|n,moneyNum); printf(| 按0返回上一級 |n); printf(|_|n); scanf(%d,&x);
23、 fflush(stdin); switch(x)/按0返回。 case 0:system(cls);goto shuru;break; default: printf(輸入錯(cuò)誤!請重新輸入。n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto yuechaxun; break; guanli:/進(jìn)入管理員頁面??梢圆樵冇脩粜畔?。 printf(|-查詢用戶信息-|n); printf(| 1.輸入賬號(hào). |n); printf(| 2.返回上一級. |n); printf(|_|n); printf(請輸入選項(xiàng):); sc
24、anf(%d,&x); switch(x) case 1: printf(請輸入賬號(hào):); scanf(%d,&Num); fflush(stdin); printf(|-用戶名稱:%06d-|n,Num); printf(| 用戶密碼:%06d |n,numNum); printf(| 用戶余額:%6d |n,moneyNum); printf(|_|n); if(fengNum=1) printf(該賬號(hào)已被封存!n); printf(是否解封?(Y/N)n); scanf(%c,&x); if(x=y)|(x=Y) fengNum=0; printf(賬號(hào)已解封!n); else bre
25、ak; printf(按0返回上一級。); scanf(%d,&x); fflush(stdin); switch(x) case 0: system(cls); goto guanli; break; default:break; case 2:system(cls);goto guanlimoshi;break; default: printf(輸入錯(cuò)誤!請重新輸入:); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto guanli; break; lishijilu: printf(|-歷史紀(jì)錄-|n); printf(
26、| 對不起,本功能尚未完善,敬請期待后續(xù)|n); printf(| * _ * |n); printf(|_|n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto shuru; 6詳細(xì)設(shè)計(jì)6.1 功能流程圖(1)設(shè)子儲(chǔ)戶信息流程從bank銀行類中輸入儲(chǔ)戶信息添加到consumer儲(chǔ)戶類中(2)修改密碼流程輸入原密碼輸入新密碼與原先存儲(chǔ)密碼比對YN退出系統(tǒng)(一次機(jī)會(huì))取代原密碼6.2 重點(diǎn)設(shè)計(jì)主要函數(shù)main,enter, getmoney, changepassword, yuerchaxun, banksaves, tra
27、nsaccount, exitcaozuo.7測試與調(diào)試歡迎界面功能界面取款界面取款結(jié)束界面余額查詢界面修改密碼界面轉(zhuǎn)賬界面#include#include void main() int Num,a,code,ll=0,l=0,p,n,r=0,x,m,Num1,Num2; int num10,feng10,money10,s6,t6; int i=0; for(p=0;p9;p+) nump=000000; moneyp=5000; fengp=0; loop: /首先.請陳老師原諒我N多的goto. printf( _n); printf(| |n); printf(| 歡迎使用ATM自動(dòng)
28、取款機(jī) |n); printf(| |n); printf(| 第一小組熱情開發(fā) |n); printf(|_|n); printf( 請輸入卡號(hào):); scanf(%d,&Num); fflush(stdin); if(Num=00) printf(是否進(jìn)入管理員模式?1/2:);/是否進(jìn)入管理員模式。 scanf(%d,&a); fflush(stdin); switch(a) case 1: printf(請輸入管理員密碼(6位):); scanf(%d,&code); fflush(stdin); if(code!=num0) printf(密碼不正確!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto loop; else guanlimoshi:/密碼輸入正確后,進(jìn)入管理模式. system(cls); printf(|-歡迎進(jìn)入管理員模式-|n); printf(| 1:查詢用戶帳戶信息 |n); printf(| 2:返回歡迎界面 |n); printf(|_|n); printf( 請選擇:); scanf(%d,&n); fflush(stdin); switch(n) case 1:system(cls);goto guanli;break; case 2:system(cls);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全員崗位知識(shí)培訓(xùn)課件
- 取水論證報(bào)告范文
- 求職機(jī)構(gòu)報(bào)告范文
- 情緒調(diào)控研究報(bào)告范文
- 浙江國企招聘2024金華蘭溪市興瀾旅游開發(fā)有限公司招聘4人筆試參考題庫附帶答案詳解
- 鉗工理論知識(shí)培訓(xùn)課件
- 二零二五年度辦公室租賃及智能安防系統(tǒng)合同
- 二零二五年度贈(zèng)與子女房產(chǎn)及裝修設(shè)計(jì)一體化協(xié)議
- 二零二五年度幼兒托管與環(huán)保教育服務(wù)協(xié)議
- 二零二五年度紋身藝術(shù)市場分析與營銷協(xié)議
- 2024-2025學(xué)年全國中學(xué)生天文知識(shí)競賽考試題庫(含答案)
- 2024至2030年中國非標(biāo)自動(dòng)化行業(yè)需求領(lǐng)域與供需平衡預(yù)測分析報(bào)告
- 2024年重慶市高考生物試卷(含答案解析)
- 2024年(學(xué)習(xí)強(qiáng)國)思想政治理論知識(shí)考試題庫與答案
- PS技能試題(帶素材)
- DL∕T 540-2013 氣體繼電器檢驗(yàn)規(guī)程
- CJT 362-2011 城鎮(zhèn)污水處理廠污泥處置 林地用泥質(zhì)
- 監(jiān)造服務(wù)合同范本
- 《食品安全風(fēng)險(xiǎn)管控清單》
- 電梯井腳手架搭設(shè)施工施工方法及工藝要求
- DL-T-710-2018水輪機(jī)運(yùn)行規(guī)程
評論
0/150
提交評論