




已閱讀5頁(yè),還剩75頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程設(shè)計(jì)報(bào)告課程類(lèi)別:本科課程名稱(chēng):程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)課程代號(hào):指導(dǎo)教師:銀行ATM自動(dòng)取款機(jī)系統(tǒng)課程設(shè)計(jì)姓名: 學(xué)號(hào):姓名: 學(xué)號(hào):姓名: 學(xué)號(hào):學(xué)院:班級(jí):目 錄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.測(cè)試與調(diào)試8.總結(jié)8.1 心得體會(huì)8.2 不足與改進(jìn)9.參考文獻(xiàn)1.課程設(shè)計(jì)內(nèi)容模擬銀行的自動(dòng)取款機(jī)ATM使用過(guò)程中的界面和用戶(hù)交互過(guò)程2課程設(shè)計(jì)要求(1)要求利用面向過(guò)程的方法以及C語(yǔ)言的編程思想來(lái)完成系統(tǒng)的設(shè)計(jì); (2)在系統(tǒng)的設(shè)計(jì)中,要求運(yùn)用菜單和文件實(shí)現(xiàn)系統(tǒng)功能。(3)在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如存款、代繳電話(huà)費(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)開(kāi)發(fā)目標(biāo)。同時(shí)具有優(yōu)秀的軟件需求人員、軟件設(shè)計(jì)人員、和具有豐富經(jīng)驗(yàn)的軟件測(cè)試人員。4需求分析在市場(chǎng)經(jīng)濟(jì)的蓬勃發(fā)展和人們?nèi)找娣泵Φ臈l件下,現(xiàn)有的銀行系統(tǒng)往往需 要客戶(hù)在辦理手續(xù)時(shí)等待很長(zhǎng)的時(shí)間,這不僅會(huì)浪費(fèi)很多寶貴的時(shí)間,也 會(huì)使得銀行的業(yè)務(wù)人員十分的繁忙,需要很大的人力和財(cái)力。5概要設(shè)計(jì)5.1 功能模塊圖此處除了系統(tǒng)的模塊劃分,還要重點(diǎn)描述三人分工情況,分工一定要明確。儲(chǔ)戶(hù)信息類(lèi) 設(shè) 置 儲(chǔ) 戶(hù) 信 息 修 改 密 碼 查 詢(xún) 余 額取 款取 密 碼取儲(chǔ) 戶(hù) 名轉(zhuǎn) 賬5.2 功能模塊描述銀行自動(dòng)取款機(jī)菜單界面設(shè) 置 儲(chǔ) 戶(hù) 信 息修 改 密 碼查 詢(xún) 余 額取 款轉(zhuǎn) 賬取儲(chǔ)戶(hù) 名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: /首先.請(qǐng)陳老師原諒我N多的goto. printf( _n); printf(| |n); printf(| 歡迎使用ATM自動(dòng)取款機(jī) |n); printf(| |n); printf(| 第一小組熱情開(kāi)發(fā) |n); printf(|_|n); printf( 請(qǐng)輸入卡號(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(請(qǐng)輸入管理員密碼(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:查詢(xún)用戶(hù)帳戶(hù)信息 |n); printf(| 2:返回歡迎界面 |n); printf(|_|n); printf( 請(qǐng)選擇:); scanf(%d,&n); fflush(stdin); switch(n) case 1:system(cls);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);/如果被封,則返回開(kāi)頭. printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto loop; else/如果沒(méi)被封,則開(kāi)始輸入密碼. printf(請(qǐng)輸入密碼:);state: scanf(%d,&code); fflush(stdin); if(code!=numNum) printf(密碼不正確!請(qǐng)重新輸入:); i+;/計(jì)算輸入錯(cuò)誤幾次. if(i3) goto state; else printf(連續(xù)三次出錯(cuò)!n); +r;/計(jì)算連續(xù)三次出錯(cuò)共有幾次. if(r5000)/判斷累計(jì)取款額. printf(累計(jì)取款超過(guò)5000元,系統(tǒng)出錯(cuò).n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto shuru; else/若低于5000,則開(kāi)始取款. if(moneyNum100)/判斷此時(shí)余額,進(jìn)行屏幕打印. printf(余額不足.n);/以下N個(gè)瘋狂的循環(huán)道理同此. printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls);/原諒我吧蔣老師.我實(shí)在沒(méi)想出啥好方法. goto shuru; else if(moneyNum200)/現(xiàn)金在0200元之間時(shí)。 printf(請(qǐng)選擇:1.100元 2.返回上一級(jí)n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf(正在取款,請(qǐng)稍候.n); moneyNum-=100; l+=100; printf(取款成功!n); printf(按任意鍵返回。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(請(qǐng)選擇:1.100元 2.200元 3.返回上一級(jí).n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf(正在取款,請(qǐng)稍候.n); moneyNum-=100; l+=100; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf(正在取款,請(qǐng)稍候.n); moneyNum-=200; l+=200; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3:goto shuru;break; default: printf(輸入錯(cuò)誤!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; else if(moneyNum1000)/現(xiàn)金在01000元之間時(shí)。 printf(請(qǐng)選擇:1.100元 2.200元 3.500元 4.返回上一級(jí).n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf(正在取款,請(qǐng)稍候.n); moneyNum-=100; l+=100; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf(正在取款,請(qǐng)稍候.n); moneyNum-=200; l+=200; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3: printf(正在取款,請(qǐng)稍候.n); moneyNum-=500; l+=500; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=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(請(qǐng)選擇:1.100元 2.200元 3.500元 4.1000元 5.返回上一級(jí).n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf(正在取款,請(qǐng)稍候.n); moneyNum-=100; l+=100; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf(正在取款,請(qǐng)稍候.n); moneyNum-=200; l+=200; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3: printf(正在取款,請(qǐng)稍候.n); moneyNum-=500; l+=500; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 4: printf(正在取款,請(qǐng)稍候.n); moneyNum-=1000; l+=1000; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 5:goto shuru;break; default: printf(輸入錯(cuò)誤!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; else/現(xiàn)金在2000元以上時(shí)。 printf(請(qǐng)選擇:1.100元 2.200元 3.500元 4.1000元 5.2000元 6.返回上一級(jí).n); scanf(%d,&n); fflush(stdin); switch(n) case 1: printf(正在取款,請(qǐng)稍候.n); moneyNum-=100; l+=100; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 2: printf(正在取款,請(qǐng)稍候.n); moneyNum-=200; l+=200; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 3: printf(正在取款,請(qǐng)稍候.n); moneyNum-=500; l+=500; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 4: printf(正在取款,請(qǐng)稍候.n); moneyNum-=1000; l+=1000; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; case 5: printf(正在取款,請(qǐng)稍候.n); moneyNum-=2000; l+=2000; printf(取款成功!n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto qukuan; break; 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)入修改密碼頁(yè)面。 printf(|-修改密碼-|n); printf(| 請(qǐng)選擇: |n); printf(| 1.修改密碼。 |n); printf(| 2.返回上一級(jí)。 |n); printf(|_|n); scanf(%d,&x); fflush(stdin); switch(x) case 1: printf(請(qǐng)輸入新密碼(六位):n);/第一次輸入。 for(m=0;m=5;m+) sm=getch();/這里,輸入時(shí)可以顯示*,但是不能用退格健。 printf(*);/退格鍵會(huì)被當(dāng)作一個(gè)字符輸入。問(wèn)題有待解決 printf(請(qǐng)重新輸入密碼(六位):n);/第二次輸入。 for(m=0;m=5;m+) tm=getch(); printf(*); 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()!=EOF) 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)入余額查詢(xún)頁(yè)面。直接打印出余額。 printf(|-余額查詢(xún)-|n); printf(|當(dāng)前余額:%6d-|n,moneyNum); printf(| 按0返回上一級(jí) |n); printf(|_|n); scanf(%d,&x); fflush(stdin); switch(x)/按0返回。 case 0:system(cls);goto shuru;break; default: printf(輸入錯(cuò)誤!請(qǐng)重新輸入。n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto yuechaxun; break; guanli:/進(jìn)入管理員頁(yè)面??梢圆樵?xún)用戶(hù)信息。 printf(|-查詢(xún)用戶(hù)信息-|n); printf(| 1.輸入賬號(hào). |n); printf(| 2.返回上一級(jí). |n); printf(|_|n); printf(請(qǐng)輸入選項(xiàng):); scanf(%d,&x); switch(x) case 1: printf(請(qǐng)輸入賬號(hào):); scanf(%d,&Num); fflush(stdin); printf(|-用戶(hù)名稱(chēng):%06d-|n,Num); printf(| 用戶(hù)密碼:%06d |n,numNum); printf(| 用戶(hù)余額:%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 break; printf(按0返回上一級(jí)。); 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ò)誤!請(qǐng)重新輸入:); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto guanli; break; lishijilu: printf(|-歷史紀(jì)錄-|n); printf(| 對(duì)不起,本功能尚未完善,敬請(qǐng)期待后續(xù)|n); printf(| * _ * |n); printf(|_|n); printf(按任意鍵返回。n); while(getchar()!=EOF) system(cls); goto shuru; 6詳細(xì)設(shè)計(jì)6.1 功能流程圖(1)設(shè)子儲(chǔ)戶(hù)信息流程從bank銀行類(lèi)中輸入儲(chǔ)戶(hù)信息添加到consumer儲(chǔ)戶(hù)類(lèi)中(2)修改密碼流程輸入原密碼輸入新密碼與原先存儲(chǔ)密碼比對(duì)YN退出系統(tǒng)(一次機(jī)會(huì))取代原密碼6.2 重點(diǎn)設(shè)計(jì)主要函數(shù)main,enter, getmoney, changepassword, yuerchaxun, banksaves, transaccount, exitcaozuo.7測(cè)試與調(diào)試歡迎界面功能界面取款界面取款結(jié)束界面余額查詢(xún)界面修改密碼界面轉(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: /首先.請(qǐng)陳老師原諒我N多的goto. printf( _n); printf(| |n); printf(| 歡迎使用ATM自動(dòng)取款機(jī) |n); printf(| |n); printf(| 第一小組熱情開(kāi)發(fā) |n); printf(|_|n); printf( 請(qǐng)輸入卡號(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(請(qǐng)輸入管理員密碼(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:查詢(xún)用戶(hù)帳戶(hù)信息 |n); printf(| 2:返回歡迎界面 |n); printf(|_|n); printf( 請(qǐng)選擇:); scanf(%d,&n); fflush(stdin); switch(n) case 1:system(cls);goto guanli;break; case 2:system(cls);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)??破帐夜芾碇贫?/a>
- 學(xué)生桌椅凳管理制度
- 學(xué)院體育隊(duì)管理制度
- 安全最基本管理制度
- 安全風(fēng)險(xiǎn)點(diǎn)管理制度
- 完善新業(yè)態(tài)管理制度
- 寶雞小飯桌管理制度
- 實(shí)驗(yàn)服領(lǐng)用管理制度
- 客戶(hù)公海池管理制度
- 宣傳部預(yù)算管理制度
- 2024-2025學(xué)年初中英語(yǔ)七年級(jí)下冊(cè)期末考試綜合測(cè)試卷及參考答案
- 事故隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)制度
- 國(guó)家開(kāi)放大學(xué)電大《商法》期末題庫(kù)及答案
- 鋁熱焊探傷技術(shù)總結(jié)
- 進(jìn)度計(jì)劃?rùn)M道圖及施工進(jìn)度網(wǎng)絡(luò)圖140天工期
- 爆破安全生產(chǎn)獎(jiǎng)懲管理制度
- 尊法、學(xué)法、守法、用法分析
- (完整版)鋼筋加工棚驗(yàn)算
- 動(dòng)物生物化學(xué)(全套577PPT課件)
- 十進(jìn)制轉(zhuǎn)二進(jìn)制(說(shuō)課稿)
- 新能源汽車(chē)私人領(lǐng)域購(gòu)車(chē)補(bǔ)貼確認(rèn)表
評(píng)論
0/150
提交評(píng)論