【C語言】課程設(shè)計-ATM機模擬操作(附源碼)(共18頁)

上傳人:494895****12427 文檔編號:61812110 上傳時間:2022-03-12 格式:DOCX 頁數(shù):18 大?。?99.39KB
收藏 版權(quán)申訴 舉報 下載
【C語言】課程設(shè)計-ATM機模擬操作(附源碼)(共18頁)_第1頁
第1頁 / 共18頁
【C語言】課程設(shè)計-ATM機模擬操作(附源碼)(共18頁)_第2頁
第2頁 / 共18頁
【C語言】課程設(shè)計-ATM機模擬操作(附源碼)(共18頁)_第3頁
第3頁 / 共18頁

下載文檔到電腦,查找使用更方便

0 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《【C語言】課程設(shè)計-ATM機模擬操作(附源碼)(共18頁)》由會員分享,可在線閱讀,更多相關(guān)《【C語言】課程設(shè)計-ATM機模擬操作(附源碼)(共18頁)(18頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、精選優(yōu)質(zhì)文檔-傾情為你奉上C語言-ATM機模擬操作程序?qū)崿F(xiàn)功能點:a. 查詢:查詢帳戶的存款余額。按任意鍵返回主菜單;b. 取款:輸入100、500、1000、2000、5000、其它金額為取款金額,取款金額不超過帳戶余額,操作后帳戶余額應(yīng)相應(yīng)減少,之后可返回主菜單;c. 存款:輸入100、500、1000、2000、5000、其它金額為存款金額,存款金額不超過20000元,操作后帳戶余額應(yīng)相應(yīng)增加。之后可返回主菜單;d. 轉(zhuǎn)帳:輸入一個帳戶號,程序判斷與文件信息是否相符,儲戶確認無誤后,再輸入100、500、1000、2000、5000、其它金額為轉(zhuǎn)帳金額,轉(zhuǎn)帳金額不得超過帳戶余額,操作后帳

2、戶余額應(yīng)相應(yīng)減少。之后可返回主菜單;e. 修改密碼:連續(xù)輸入兩次新密碼(兩次輸入結(jié)果完全相同)后,新密碼取代舊密碼,并存放到帳戶信息文件中。之后可返回主菜單;f. 退出:退出系統(tǒng);g. 幫助:增加趣味性;h. 存款時,可正可負,正表示存款,負表示取款;i. 帳戶信息存放在accounts.txt文件,儲戶存取款記錄保存在records.txt中;(在目錄下創(chuàng)建這兩個文件)j. 采用模塊化程序設(shè)計方法來實現(xiàn),即main()顯示主菜單、調(diào)用相關(guān)函數(shù)實現(xiàn)相應(yīng)功能,起主控作用;k. 儲戶一天內(nèi)輸錯密碼的次數(shù)不能超過3次,否則無法進入系統(tǒng);l. 有效避免輸入存款金額、取款金額為負數(shù)等異常情況的出現(xiàn)。較為

3、突出的功能是注冊、登錄時賬號密碼的核對驗證;存款轉(zhuǎn)出轉(zhuǎn)入金額的核對。是否超過余額,是否不符合格式,是否為沖突操作。(2)程序運行截圖及說明(每圖限50到100字);l 進入程序,menu1可選擇登錄、注冊功能。l 選擇登錄,輸入賬號密碼,通過輸入內(nèi)容與文件的匹配,判斷是否成功登錄。若登錄失敗,則重新選擇。l 選擇注冊,輸入賬號密碼,寫入文件中。l 進入menu2,有五大功能選擇,輸入對應(yīng)的序列號進入。l 余額查詢功能輸出賬號所對應(yīng)的余額。l 取款功能,需要安裝要求取出格式化的金額。l 存款功能,選擇金額,若超過存款,自動報錯。存儲成功后,在屏幕上顯示余額并可在txt中看到對應(yīng)數(shù)目的增加。l 修

4、改密碼功能,輸入當(dāng)前密碼,輸入新密碼,并進行確認。即修改成功。l 轉(zhuǎn)賬功能,輸入對方卡號,核程序核對卡號是否存在,選擇金額轉(zhuǎn)賬,對應(yīng)存款的減少會反映在屏幕的余額上。l 退出功能,任意鍵退出程序。l 幫助功能,介紹了本程序的相關(guān)信息。(3)采用的主要技術(shù)(限150到200字);答:主要采用模塊化管理代碼。使用結(jié)構(gòu)體對文本信息進行操作、運用文件操作相關(guān)函數(shù)如fwrite()、fread()、fgets()、fputs()、fgetc()、fputc()、fopen()、fclose().并使用指針操作數(shù)值。附:程序代碼#include #include #include #include#incl

5、ude#define N 3void enterzhanghao(); /ATM賬號輸入函數(shù) void inputmima(); /密碼輸入函數(shù) void menu(); /操作界面 void Withdraw(); /取款函數(shù) void daly(); /延時函數(shù) void yuer(); /余額查詢函數(shù) void Desposit(); /存款函數(shù) int quit(); /退出界面函數(shù) void change(); /密碼修改 void read(); /文件讀取函數(shù) void write(); /文件寫入函數(shù)void write2(float h); /流水賬函數(shù)void tran_a

6、ccount();/轉(zhuǎn)賬函數(shù)void enter();/登錄函數(shù)void flesh();/注冊函數(shù)void help();/幫助typedef structint num;int password;double accounte;atm;atm ATMN = 10001, , 10000 , 10002, , 20000 , 10003, , 30000 ;typedef structint year;int month;int day;riqi;int k;int main()enterzhanghao();/ATM賬號輸入函數(shù)void enterzhanghao()read();prin

7、tf(ttttt*n);printf(ttttt- 歡迎使用ATM機模擬操作的程序 1、登錄 2、注冊 -n);printf(ttttt*n);printf(請輸入對應(yīng)序號:);int k;scanf(%d, &k);switch (k)case 1:enter(); break;case 2:flesh(); break;void enter()system(cls);int user;printf(請輸入賬號:);scanf(%d, &user);if (user = 0)printf(ttttt* 賬號錯誤 *tttttn);enterzhanghao();else if (user !

8、= (ATMk.num)for (k = 1; k N; k+)if (user = (ATMk.num)inputmima();system(cls);printf(ttttt* 賬戶不存在,請從新輸入 *tttttn);enterzhanghao();elseinputmima();void flesh()system(cls);printf(ttttt請輸入賬號:);scanf(%f, &ATMk.num);printf(ttttt請輸入密碼:);scanf(%f, &ATMk.password);write();/密碼輸入函數(shù)void inputmima()int code;int t

9、emp = 3;read();system(cls);printf(ttttt* 請輸入密碼 *ttttn);scanf(%d, &code);while (code != ATMk.password)temp-;system(cls);printf(ttttt* 密碼錯誤,請重新輸入 *ttttn);printf(ttttt* 您還有: );printf(%d, temp);printf( 次機會 *n);scanf(%d, &code);if (temp = 1)system(cls);printf(ttttt* 您已經(jīng) 3 次輸入密碼錯誤 *ttttn);printf(ttttt* 系統(tǒng)

10、將退出操作 *ttttn);daly();enterzhanghao();menu();/操作界面 void menu()system(cls);int h = 1, x;while (h)printf(ttttt-n);printf(n);printf(ttttt1、t查詢余額n );printf(ttttt2、t取款n );printf(ttttt3、t存款n );printf(ttttt4、t修改密碼 n );printf(ttttt5、t轉(zhuǎn)賬 n );printf(ttttt6、t退出登錄n );printf(ttttt7、t幫助 n );printf(n);printf(ttttt-

11、nn );scanf(%d, &x);switch (x)case 1:yuer(); break;case 2:Withdraw(); break;case 3:Desposit(); break;case 4:change(); break;case 5:tran_account(); break;case 6:quit(); h = quit(); break;case 7:help(); break;/取款函數(shù) void Withdraw()system(cls);float i;int y;printf(ttttt請輸入你要取款的金額:n);printf(ttttt- n);prin

12、tf(n);printf(ttttt1、t100n);printf(ttttt2、t200n );printf(ttttt3、t500n );printf(ttttt4、t1000n );printf(ttttt5、t2000n );printf(ttttt6、t其他金額n );printf(n);printf(ttttt- n);printf(ttttttt請輸入對應(yīng)序列號:n );scanf(%d, &y);system(cls);switch (y)case 1:i = 100; break;case 2:i = 200; break;case 3:i = 500; break;case

13、 4:i = 1000; break;case 5:i = 2000; break;case 6:scanf(%f, &i); break;default:printf(ttttt請重新輸入);Withdraw();break;if (i 0; h-)for (k = 300; k0; k-);/余額查詢函數(shù)void yuer()system(cls);printf(ttttt賬號%4d, 余額:%.2lfnnnnn, ATMk.num, ATMk.accounte);/存款函數(shù)void Desposit()system(cls);int i;printf(ttttt請將鈔票整齊放入!nn);

14、printf(ttttt請輸入你要存的金額:);scanf(%d, &i);if (i % 100 = 0)printf(ttttt存款成功!);elseprintf(ttttt數(shù)額必須是100的整數(shù)倍!請重新放入!);daly();Desposit();ATMk.accounte = i + ATMk.accounte;printf(%f, ATMk.accounte);write();write2(i);/退出函數(shù)int quit()system(cls);int i;printf(ttttt謝謝你的使用!nn);i = 0;return i;/密碼修改void change()daly(

15、);system(cls);int password1, password2, password3;printf(ttttt請輸入舊密碼:);scanf(%d, &password1);printf(n);if (password1 = ATMk.password)loop:printf(ttttt請輸入新的密碼:);scanf(%d, &password2);printf(n);printf(ttttt請再次輸入新的密碼:);scanf(%d, &password3);if (password2 = password3)ATMk.password = password2;printf(ttt

16、ttn密碼修改成功!n);elseprintf(tttttn密碼不一致!n);printf(ttttt請重新輸入!n);goto loop;elseprintf(ttttt輸入錯誤n);change();write();/文件讀取函數(shù)void read()int i;FILE *fp;fp = fopen(accounts.txt, r);if (fp = NULL)printf(ttttt打開文件失敗n);return;for (i = 0; iN; i+)fscanf(fp, %d, &(ATMi.num);fscanf(fp, %d, &(ATMi.password);fscanf(fp

17、, %lfn, &(ATMi.accounte);fclose(fp);/accounts文件寫入函數(shù)void write()int i;FILE *fp;fp = fopen(accounts.txt, w);if (fp = NULL)printf(ttttt打開文件失敗n);return;for (i = 0; itm_year + 1900);fprintf(fp, %-3d, lt-tm_mon);fprintf(fp, %-3d, lt-tm_mday);fprintf(fp, %-5lfn, h);fclose(fp);/轉(zhuǎn)賬函數(shù)void tran_account()int ot

18、her_num10;int i, c, q, tran;/c用來判斷轉(zhuǎn)賬是否繼續(xù),q用來判斷用戶行為,tran用來存儲轉(zhuǎn)賬金額system(CLS);printf(ntttttttt0.返回菜單);printf(nnnnnnttt請輸要對方的賬號: );scanf(%d, other_num10);/輸入對方賬號if (other_num10 = ATMk.num)/判斷是否為自身賬號system(CLS);printf(nnnnnnnn tt對不起,不能給自己轉(zhuǎn)賬,請重新輸入賬號!n);printf(nnn按任意鍵返回!);_getch();system(CLS);tran_account();/遞歸調(diào)用elsewhile (1)for (i = 0; i = 100 & tran % 100 = 0)/判斷是否為整百/數(shù)并且大于100的數(shù)if (tran = ATMk.accounte)/取款數(shù)是否不超過余額if (tran 碼字不易,我可以在你心里跑一圈嗎 1、可以 2、當(dāng)然可以 你要選哪個? -n);int k;scanf(%d, &k);switch (k)case 1:printf(蟹蟹你!n); _getch(); menu(); break;case 2:printf(等下我,第十圈了!3n); _getch(); menu();break;專心-專注-專業(yè)

展開閱讀全文
溫馨提示:
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)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!