帳目管理系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
帳目管理系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
帳目管理系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
帳目管理系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
帳目管理系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1目錄一 設(shè)計要求 2二 設(shè)計作用與目的 2三 運行環(huán)境及工具軟件 23.1 硬件環(huán)境 33.2 軟件環(huán)境 3四 系統(tǒng)設(shè)計 34.1 系統(tǒng)總體設(shè)計 34.2 程序設(shè)計組成框圖、流程圖 34.3 各模塊具體設(shè)計 54.3.1 主函數(shù)模塊設(shè)計 54.3.2 創(chuàng)建函數(shù)模塊 64.3.3 查看函數(shù)模塊 84.3.4 開戶函數(shù)模塊 84.3.5 銷戶函數(shù)模塊 104.3.6 修改帳目函數(shù)模塊 114.3.7 查詢函數(shù)模塊 12五 源程序設(shè)計 14六 實驗調(diào)試結(jié)果 26七 設(shè)計中的問題及解決方法 29八 設(shè)計心得 29九 參考文獻(xiàn) 302帳目管理系統(tǒng)的設(shè)計與實現(xiàn)一、 設(shè)計要求此處的賬目管理是整個銀行業(yè)務(wù)中的一小部分,主要包括借款、還款、存款業(yè)務(wù)。同時,通過帳目管理系統(tǒng)的設(shè)計,運用計算機(jī)軟件軟件基礎(chǔ)所學(xué)的知識,提高編程興趣與編程思路,合理的運用資料,實現(xiàn)理論與實際相結(jié)合。(1)為了管理賬戶,設(shè)置兩個單鏈表:一是賬戶基本信息,包括賬戶的賬號、姓名、身份證號、建賬日期等信息;另一個是賬戶余額,包括賬戶的賬號和當(dāng)前余額兩項數(shù)據(jù)。(2)本程序能夠執(zhí)行賬戶的開戶、借款、還款、存款、清戶(刪除)等操作,而且能夠?qū)崿F(xiàn)對賬戶信息的查詢統(tǒng)計功能、按借款戶的余額從大到小排序功能、按存款戶的余額從大到小排序功能和按開戶日期從小到大排序功能等。(3)開新戶時,用戶只輸入姓名、身份證號、金額、日期四個數(shù)據(jù),由程序自動生成帳號并通知用戶,并將相關(guān)數(shù)據(jù)同時插入上述兩個鏈表中;(4)余額為負(fù)數(shù)表示借款額,為正數(shù)表示存款額。(5)能夠按賬號查詢賬戶的基本信息和當(dāng)前余額,能夠列出最大借款額賬戶和最大存款額賬戶的基本信息和當(dāng)前余額。(6)程序能夠統(tǒng)計當(dāng)前帳戶個數(shù),當(dāng)前借款總額、當(dāng)前還款總額以及借款總額與存款總額的差額。(7)收集資料,全面分析課題,分解問題,形成總體編程思路;(8)深入分析各個小問題,編寫各部分程序模塊;(9)對于設(shè)計中用到的關(guān)鍵函數(shù),要聯(lián)系問題進(jìn)行具體介紹;(10)上機(jī)調(diào)試,確保程序能正確運行,完成設(shè)計報告,并進(jìn)行答辯。二、設(shè)計作用與目的(1)通過設(shè)計,強化 C 語言的運用及 C 語句的準(zhǔn)確掌握;(2)通過設(shè)計,加強我們對計算機(jī)軟件軟件基礎(chǔ)知識的理解和運用;(3)通過設(shè)計,掌握設(shè)計軟件一般方法,了解軟件設(shè)計的一般思路;(4)通過設(shè)計,鍛煉撰寫報告的水平。3三、運行環(huán)境及工具軟件3.1 硬件環(huán)境設(shè)備:采用 Intel 應(yīng)用服務(wù)器運行時內(nèi)存要求:1MB;安裝所需硬盤:2MB;3.2 軟件環(huán)境操作系統(tǒng):Windows 2000/XPista工具軟件:MyTC四、系統(tǒng)設(shè)計4.1 系統(tǒng)總體設(shè)計此銀行帳目管理系統(tǒng)包括六個模塊,分別為創(chuàng)建一個空賬目、顯示賬目信息、添加新賬目、刪除賬目信息、修改賬目信息、查找所需賬目信息。其中添加新賬目包含姓名、身份證號、金額、日期四個數(shù)據(jù)的輸入。修改賬目信息還包含了借款、存款、取款功能。查詢功能包含查詢所存有的賬戶個數(shù)、查詢最大存款戶、查詢最大借款戶。功能模塊圖如圖 1 所示。創(chuàng)建空賬目銀行帳目管理系統(tǒng)查找賬目添加賬目姓名顯示賬目信息金額身份證號碼日期存款借款取款圖 1 銀行帳目管理系統(tǒng)模塊圖刪除賬目賬戶個數(shù)最大借款戶最大存款戶修改賬目44.2 程序設(shè)計組成框圖、流程圖5開始功能選擇進(jìn)行顯示賬目進(jìn)行修改賬目進(jìn)行刪除賬目進(jìn)行添加賬目初始界面創(chuàng)建新號顯示賬目添加賬目刪除賬目修改賬目查詢賬目結(jié)束退出系統(tǒng)進(jìn)行創(chuàng)建新號進(jìn)行查詢賬目NNNNNN NYYYYYYY 圖 2 主程序流程圖, 帳目管理系統(tǒng)的設(shè)計與實現(xiàn)操作流程64.3 各模塊具體設(shè)計本程序按要求設(shè)計一個賬目管理系統(tǒng),編譯器為:myTC。程序源文件名為zhangmu.c。程序入口為 main()函數(shù):先由 fopen()函數(shù)創(chuàng)建一個存儲賬目信息的文檔:fopen(“D:account.txt“,“r+“);由于進(jìn)行的“r+“操作,首先在 D 盤創(chuàng)建一個account.txt 文件。4.3.1 主函數(shù)模塊設(shè)計主函數(shù)用到函數(shù)為:fopen(打開文件) 相關(guān)函數(shù) open,fclose表頭文件 #include定義函數(shù) FILE * fopen(const char * path,const char * mode);函數(shù)說明 參數(shù) path 字符串包含欲打開的文件路徑及文件名,參數(shù) mode 字符串則代表著流形態(tài)。mode 有下列幾種形態(tài)字符串:r 打開只讀文件,該文件必須存在。r+ 打開可讀寫的文件,該文件必須存在。w 打開只寫文件,若文件存在則文件長度清為 0,即該文件內(nèi)容會消失。若文件不存在則建立該文件。w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內(nèi)容會消失。若文件不存在則建立該文件。a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數(shù)據(jù)會被加到文件尾,即文件原先的內(nèi)容會被保留。a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數(shù)據(jù)會被加到文件尾后,即文件原先的內(nèi)容會被保留。由于 Dos 窗口顯示有限,所以限制賬目數(shù)量為 15 個。7本程序包含 6 大功能模塊:0- 創(chuàng)建一個空賬目;1- 顯示賬目信息;2- 添加新賬目;3- 刪除賬目信息;4- 修改賬目信息;5- 查找所需賬目信息;6- 推出程序;為了管理賬戶,設(shè)置兩個單鏈表:一是賬戶基本信息,包括賬戶的賬號、姓名、身份證號、建賬日期等信息;另一個是賬戶余額,包括賬戶的賬號和當(dāng)前余額兩項數(shù)據(jù)。本程序只創(chuàng)建了一個單鏈表:struct bankdata /*定義一個結(jié)構(gòu)體*/int num; /*賬戶的賬號*/char name20; /*姓名*/char person_num19; /*身份證號*/float balance; /*金額*/int establishtime; /*日期*/所以在對賬戶的余額的操作功能上有教大的欠缺,日后定將進(jìn)一步完善此項功能。4.3.2 創(chuàng)建函數(shù)模塊0- create(FILE *ptr)/*創(chuàng)建具有結(jié)構(gòu)體的空文檔*/struct bankdata data=-1,“NONAME“,“NONUM“,0,0;對結(jié)構(gòu)體進(jìn)行初始化操作,即創(chuàng)建一個空賬目。for(num=0;num定義函數(shù) int fseek(FILE * stream,long offset,int whence);8函數(shù)說明 fseek()用來移動文件流的讀寫位置。參數(shù) stream 為已打開的文件指針,參數(shù) offset 為根據(jù)參數(shù) whence 來移動讀寫位置的位移數(shù)。參數(shù) whence 為下列其中一種:SEEK_SET 從距文件開頭 offset 位移量為新的讀寫位置。SEEK_CUR 以目前的讀寫位置往后增加 offset 個位移量。SEEK_END 將讀寫位置指向文件尾后再增加 offset 個位移量。當(dāng) whence 值為 SEEK_CUR 或 SEEK_END 時,參數(shù) offset允許負(fù)值的出現(xiàn)。下列是較特別的使用方式:1) 欲將讀寫位置移動到文件開頭時:fseek(FILE *stream,0,SEEK_SET);2) 欲將讀寫位置移動到文件尾時:fseek(FILE *stream,0,0SEEK_END);返回值 當(dāng)調(diào)用成功時則返回 0,若有錯誤則返回-1,errno 會存放錯誤代碼。附加說明 fseek()不像 lseek()會返回讀寫位置,因此必須使用ftell()來取得目前讀寫的位置。fwrite(將數(shù)據(jù)寫至文件流) 相關(guān)函數(shù) fopen,fread,fseek,fscanf表頭文件 #include定義函數(shù) size_t fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream);函數(shù)說明 fwrite()用來將數(shù)據(jù)寫入文件流中。參數(shù) stream 為已打開的文件指針,參數(shù) ptr 指向欲寫入的數(shù)據(jù)地址,總共寫入的字符數(shù)以參數(shù) size*nmemb 來決定。Fwrite()會返回實際9寫入的 nmemb 數(shù)目。返回值 返回實際寫入的 nmemb 數(shù)目。4.3.3 查看函數(shù)模塊1- view(FILE *ptr)/*查看文檔內(nèi)容*/本功能模塊用到的函數(shù)有:fseek (FILE * stream,long offset,int whence);fread(從文件流讀取數(shù)據(jù)) 相關(guān)函數(shù) fopen,fwrite,fseek,fscanf表頭文件 #include定義函數(shù) size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream);函數(shù)說明 fread()用來從文件流中讀取數(shù)據(jù)。參數(shù) stream 為已打開的文件指針,參數(shù) ptr 指向欲存放讀取進(jìn)來的數(shù)據(jù)空間,讀取的字符數(shù)以參數(shù) size*nmemb 來決定。Fread()會返回實際讀取到的 nmemb 數(shù)目,如果此值比參數(shù) nmemb 來得小,則代表可能讀到了文件尾或有錯誤發(fā)生,這時必須用 feof()或ferror()來決定發(fā)生什么情況。返回值 返回實際讀取到的 nmemb 數(shù)目。4.3.4 開戶函數(shù)模塊2- add(FILE *ptr)/*添加一個帳目*/添加賬目,輸入用戶操作,程序設(shè)計要求:開新戶時,用戶只輸入姓名、身份證號、金額、日期四個數(shù)據(jù),由程序自動生成帳號并通知用戶,并將相關(guān)數(shù)據(jù)同時插入上述兩個鏈表中;本程序賬號由人工手動輸入。其余項目也有人工輸入。fseek(ptr,num*sizeof(

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論