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

下載本文檔

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

文檔簡(jiǎn)介

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論