版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)(論文)</b></p><p> 題 目 名 稱 個人帳薄管理系統(tǒng)設(shè)計(jì) </p><p> 課 程 名 稱 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) </p><p> 學(xué) 生 姓 名 </p>&l
2、t;p> 學(xué) 號 </p><p> 系 、專 業(yè) 信息工程系、電子信息工程 </p><p> 指 導(dǎo) 教 師 </p><p> 2012年 12月 20 日</p><p>
3、<b> 目 錄</b></p><p> 1 .前言····························
4、····································
5、3;······························1</p><p> 2 .需求分析·&
6、#183;····································
7、;····································
8、83;·············1</p><p> 2.1 任務(wù)和要求·················
9、3;····································
10、183;···················1</p><p> 2.2 運(yùn)行環(huán)境···········
11、3;····································
12、183;·····························2</p><p> 2.3工具開發(fā)··
13、;····································
14、83;····································&
15、#183;···2</p><p> 3 .概要設(shè)計(jì)···························
16、3;····································
17、183;·······················2</p><p> 4 .詳細(xì)設(shè)計(jì)········
18、;····································
19、83;····································&
20、#183;·······3</p><p> 4.1算法設(shè)計(jì)·······················
21、3;····································
22、183;····················3</p><p> 4.2實(shí)現(xiàn)代碼···········
23、;····································
24、83;·································4</p><p&
25、gt; 5 .具體實(shí)現(xiàn)及運(yùn)行結(jié)果··································
26、;···································17</p&
27、gt;<p> 5.1 創(chuàng)建工程并建立件································
28、·····························17</p><p> 5.2個人帳薄管理系統(tǒng)的實(shí)現(xiàn)·&
29、#183;····································
30、;··············18</p><p> 6.設(shè)計(jì)體會·················
31、183;····································
32、·································22</p><p>
33、; 參考文獻(xiàn)···································
34、83;····································&
35、#183;··················22</p><p> 致 謝·············&
36、#183;····································
37、;····································
38、83;·········22</p><p><b> 1.前言</b></p><p> 該課程設(shè)計(jì)主要設(shè)計(jì)個人賬簿管理系統(tǒng)以記錄某人每月的全部收入及各項(xiàng)開支情況,包括食品消費(fèi),房租,子女教育費(fèi)用,水電費(fèi),醫(yī)療費(fèi),儲蓄等。在課程設(shè)計(jì)中,用到了C語言以及數(shù)據(jù)結(jié)構(gòu)中的相關(guān)知識,
39、當(dāng)然也有少數(shù)參考了其他人對某些問題的處理經(jīng)驗(yàn)。對于進(jìn)入系統(tǒng)后可以輸入和修改某月的收支情況,可以對每月的開支從小到大進(jìn)行排序,可以根據(jù)輸入的月份查詢每月的收支情況。在程序設(shè)計(jì)中,添加了使用說明和幫助事項(xiàng),并且采用了面向?qū)ο筮@種解決問題的方法。程序通過調(diào)試運(yùn)行,初步是想了設(shè)計(jì)目標(biāo),并且經(jīng)過適當(dāng)完善后,將可以應(yīng)用在個人理財(cái)解決實(shí)際問題。</p><p> 本課程設(shè)計(jì)主要解決在個人帳簿管理系統(tǒng)記錄某人每月的全部收入及各
40、項(xiàng)開支情況,包括食品消費(fèi),房租,子女教育費(fèi)用,水電費(fèi),醫(yī)療費(fèi),儲蓄等。進(jìn)入系統(tǒng)后可以輸入和修改某月的收支情況,可以對每月的開支從小到大進(jìn)行排序,可以根據(jù)輸入的月份查詢每月的收支情況。</p><p> 現(xiàn)在是一個科技文化飛速發(fā)展的時(shí)代,家家戶戶都可以見到計(jì)算機(jī)的影子,我們平時(shí)的生活,工作以及學(xué)習(xí)和娛樂都與電腦有著密切的聯(lián)系。隨著經(jīng)濟(jì)的發(fā)展,理財(cái)成為我們生活中不可缺少的內(nèi)容,理財(cái)?shù)闹匾燥@而易見。因此,非常有必要
41、設(shè)計(jì)一個個人帳薄管理系統(tǒng),它能夠?yàn)槲覀兗彝ド顐€人理財(cái)提供諸多方便,使理財(cái)更系統(tǒng),更精確。</p><p> 作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)提供個人帳薄管理系統(tǒng),既繼承了傳統(tǒng)理財(cái)形式,也克服了人工理財(cái)?shù)脑S多缺點(diǎn),譬如:計(jì)算復(fù)雜,會時(shí)有錯誤,而用計(jì)算機(jī)處理的話這種錯誤可以輕易避免;輸入方便,節(jié)省了理財(cái)人的時(shí)間,提高效率和精確度。查詢方便、信息詳細(xì)清晰。便于理財(cái)。</p><p><
42、;b> 2.需求分析</b></p><p><b> 2.1任務(wù)和要求</b></p><p> 個人帳薄管理系統(tǒng)具有良好的性能和實(shí)用的功能,其性能的良好表現(xiàn)為:輸入性強(qiáng)、檢索迅速、查詢方便、可靠性高等,其實(shí)用的功能表現(xiàn)為:由于個人理財(cái)所要記載的項(xiàng)目比較瑣碎,查詢不方便,容易搞錯順序,應(yīng)用該管理系統(tǒng)可以輸入任意每月開支情況,不但不會輕易犯錯,
43、而且可以容易修改每月的記錄,包括食品消費(fèi),房租,子女教育費(fèi)用,水電費(fèi),醫(yī)療費(fèi),儲蓄等。節(jié)省時(shí)間和空間,這些優(yōu)點(diǎn)能夠促進(jìn)優(yōu)化家庭及財(cái)政管理,促進(jìn)財(cái)政管理的科技化和現(xiàn)代化。</p><p> 個人帳薄管理系統(tǒng)可以為用戶提供任意月份的查詢,月份消費(fèi)信息包括食品消費(fèi),房租,子女教育費(fèi)用,水電費(fèi),醫(yī)療費(fèi),儲蓄,具體信息如表2-1所示。</p><p> 表2-1 個人開支項(xiàng)目信息表</p&
44、gt;<p><b> 2. 2運(yùn)行環(huán)境</b></p><p> (1)WINDOWS2000/XP系統(tǒng)</p><p> (2) VC++ 6.0</p><p><b> 2. 3開發(fā)工具</b></p><p><b> C語言</b></
45、p><p><b> 3 .概要設(shè)計(jì)</b></p><p> 設(shè)計(jì)本系統(tǒng),首先要認(rèn)真研讀老是給的題目要求,仔細(xì)分析設(shè)計(jì)該題需要用到的技術(shù)和知識,同時(shí)應(yīng)該積極查詢相關(guān)資料,復(fù)習(xí)有關(guān)知識,不懂的地方多向同學(xué)以及朋友提問,從而達(dá)到事半功倍的想過,也可以參考網(wǎng)上的有關(guān)知識幫助有自己解答,總之,就是動用一切可以動用的力量,達(dá)到充實(shí)自己的目的!</p><p
46、> 以下為該設(shè)計(jì)系統(tǒng)流程圖</p><p><b> 圖3.0</b></p><p><b> 4 .詳細(xì)設(shè)計(jì)</b></p><p><b> 1 .算法設(shè)計(jì)</b></p><p> (1)錄入、查詢、修改、刪除數(shù)據(jù)。建立一個文件,包括某人5個月的開支情況
47、,對文件中的信息擴(kuò)充,包括修改,刪除等。所以先確定文件保存路徑,接受鍵盤輸入,像文件內(nèi)寫入內(nèi)容,將dat格式文件轉(zhuǎn)換為txt文件,查詢用聲明,自定義數(shù)據(jù)類型,然后返回查詢結(jié)果及查詢狀態(tài),繼而對查詢結(jié)果排序。刪除數(shù)據(jù)時(shí),先調(diào)用打開轉(zhuǎn)換的文本文件。修改數(shù)據(jù)時(shí),要重寫數(shù)據(jù),刪除源文件,重命名中間文件,顯示新的數(shù)據(jù)。</p><p><b> (2)起泡排序</b></p><
48、p> 起泡排序是每趟把當(dāng)先序列中最小的元素放在開始位置,是交換排序中最簡單的排序方法,其基本思想是:兩兩比較相鄰記錄的關(guān)鍵碼,如果反序則交換,值到?jīng)]有反序的記錄為止,將整個待排序的記錄序列分成為有序區(qū)和無序區(qū),初始狀態(tài)有序區(qū)為空,無序區(qū)包括所有待排序的記錄。對無序去從前向后依次將相鄰記錄的關(guān)鍵碼進(jìn)行比較,若反序則交換,從而使得關(guān)鍵碼曉得記錄向前移,關(guān)鍵碼大的記錄向后移(像水中的氣泡,體積大的先浮上來)。重復(fù)執(zhí)行,之前無序區(qū)中沒有
49、反序的記錄。確定每趟范圍。</p><p> (3)其基本思想是:先確定文件保存路徑,建立一個文件,錄入個人5個月的開支情況,對文件中的信息擴(kuò)充,包括修改,刪除等。接受鍵盤輸入,向文件內(nèi)寫入內(nèi)容,將dat格式文件轉(zhuǎn)換為txt文件,然后輸入2進(jìn)行查看,查看所錄入的數(shù)據(jù),如果數(shù)據(jù)有誤,可以輸入3修改數(shù)據(jù),輸入4查詢所有月份的開支情況,系統(tǒng)自動啟用氣泡排序?qū)?shù)據(jù)精心兩兩比較,按從小到大的順序排列。</p>
50、<p><b> 2. 實(shí)現(xiàn)代碼</b></p><p> #include <stdio.h></p><p> #include <stdlib.h></p><p> #include <memory.h></p><p> #include <wi
51、ndows.h></p><p><b> //文件保存路徑</b></p><p> #define FilePath1 "Myinfor.dat"</p><p> #define FilePath2 "Myinfor.txt"</p><p><b>
52、 //查詢用聲明</b></p><p> #define Status int</p><p> #define OK 1</p><p> #define Error 0</p><p> #define NotFound 2</p><p> typedef struct {</p&g
53、t;<p> int month;//月份</p><p> int food;//食品消費(fèi)</p><p> int house;//房租費(fèi)用</p><p> int edu;//子女教育費(fèi)用</p><p> int elc;//水電費(fèi)用</p><p> int health;//醫(yī)療
54、費(fèi)用</p><p> int store;//儲蓄費(fèi)用</p><p> int income;//收入費(fèi)用</p><p><b> } Infor;</b></p><p> typedef struct {// 查詢用自定義數(shù)據(jù)類型</p><p><b> int n
55、o;</b></p><p><b> int data;</b></p><p><b> }pType;</b></p><p> void menu(void); //菜單</p><p> void input(Infor *newI); //接收鍵盤輸入</p&g
56、t;<p> void writeinfor(Infor *newI);//向文件內(nèi)寫入內(nèi)容</p><p> void changeFormat(void );//將dat格式文件轉(zhuǎn)換為txt文件</p><p> Status search(Infor *a);//查詢函數(shù)[返回查詢的結(jié)果及查詢的狀態(tài)]</p><p> void paix
57、u(Infor *a);//對查詢據(jù)結(jié)果排序</p><p> void modify(Infor *a,int mon);//修改數(shù)據(jù)</p><p> void delRecord(int mon);//刪除數(shù)據(jù)</p><p> void main()</p><p><b> {</b></p>
58、;<p><b> while(1)</b></p><p><b> {</b></p><p><b> menu();</b></p><p><b> }</b></p><p><b> }</b>&
59、lt;/p><p> void menu(void)</p><p><b> {</b></p><p><b> int item;</b></p><p><b> int mon;</b></p><p><b> Infor *
60、a;</b></p><p> a=(Infor *)malloc(sizeof(Infor));</p><p><b> do{</b></p><p> printf("\n…………個人帳簿管理系統(tǒng)- - 軟件082郭帥…………\n\n");</p><p> printf(
61、"\t\t1.錄入數(shù)據(jù)。\n");</p><p> printf("\t\t2.查看數(shù)據(jù)。\n");</p><p> printf("\t\t3.修改數(shù)據(jù)。\n");</p><p> printf("\t\t4.查詢數(shù)據(jù)。\n");</p><p>
62、 printf("\t\t5.排序數(shù)據(jù)。\n");</p><p> printf("\t\t6.刪除數(shù)據(jù)。\n");</p><p> printf("\t\t0.退出系統(tǒng)。\n\n");</p><p> printf("請輸入要進(jìn)行的操作: " );</p>&
63、lt;p> scanf("%d",&item);</p><p> }while(item>6 || item<-1);</p><p> switch(item)</p><p> { //退出程序</p><p> case 0: getchar();//保存界面</p&g
64、t;<p> getchar();</p><p><b> exit(0);</b></p><p><b> break;</b></p><p><b> //錄入數(shù)據(jù)</b></p><p> case 1: input(a);</p>
65、;<p> writeinfor(a);</p><p><b> break;</b></p><p><b> //查看數(shù)據(jù)</b></p><p> case 2: changeFormat();</p><p><b> break;</b>&l
66、t;/p><p><b> //修改數(shù)據(jù)</b></p><p> case 3: item=search(a);</p><p> mon=a->month;</p><p> if (item!=OK) printf("\n沒有符合條件的記錄!\n"); </p><
67、p><b> else</b></p><p><b> {</b></p><p> printf("\n記錄月份食品消費(fèi)房租費(fèi)用子女費(fèi)用水電費(fèi)用醫(yī)療費(fèi)用儲蓄費(fèi)用本月收入\n");</p><p> printf("-------------------------------
68、---------------------------------------- \n");</p><p> printf("%7d %8d %8d %8d %8d %8d %8d %8d\n",a->month,a->food,a->house,a->edu,a->elc,a->health,a->store,a->income)
69、;</p><p><b> input(a);</b></p><p> modify(a,mon);</p><p><b> }</b></p><p><b> break;</b></p><p><b> //查詢數(shù)據(jù)&l
70、t;/b></p><p> case 4: item=search(a);</p><p> if (item!=OK) printf("\n沒有符合條件的記錄!\n");</p><p><b> else{</b></p><p> printf("\n記錄月份食品消費(fèi)房
71、租費(fèi)用子女費(fèi)用水電費(fèi)用醫(yī)療費(fèi)用儲蓄費(fèi)用本月收入\n");</p><p> printf("----------------------------------------------------------------------- \n");</p><p> printf("%7d %8d %8d %8d %8d %8d %8d %8d\n
72、",a->month,a->food,a->house,a->edu,a->elc,a->health,a->store,a->income);</p><p><b> } </b></p><p><b> break;</b></p><p><
73、;b> //排序數(shù)據(jù)</b></p><p> case 5: item=search(a);</p><p> if (item!=OK) printf("\n沒有符合條件的記錄!\n"); </p><p><b> else</b></p><p><b>
74、 paixu(a);</b></p><p><b> break;</b></p><p><b> //刪除數(shù)據(jù)</b></p><p><b> case 6:</b></p><p> item=search(a);</p><p
75、> mon=a->month;</p><p> if (item!=OK) printf("\n沒有符合條件的記錄!\n"); </p><p><b> else</b></p><p><b> {</b></p><p> printf("
76、\n記錄月份食品消費(fèi)房租費(fèi)用子女費(fèi)用水電費(fèi)用醫(yī)療費(fèi)用儲蓄費(fèi)用本月收入\n");</p><p> printf("----------------------------------------------------------------------- \n");</p><p> printf("%7d %8d %8d %8d %8d %8
77、d %8d %8d\n",a->month,a->food,a->house,a->edu,a->elc,a->health,a->store,a->income);</p><p> delRecord(mon);</p><p><b> }</b></p><p><b&
78、gt; break;</b></p><p><b> }</b></p><p> free(a);//釋放內(nèi)存空間</p><p><b> }</b></p><p> void input(Infor *newI)</p><p><b&g
79、t; {</b></p><p> printf("\n請依次輸入數(shù)據(jù)[說明:中間以空格符隔開]:\n(本月月份食品消費(fèi)房租費(fèi)用子女費(fèi)用水電費(fèi)用醫(yī)療費(fèi)用儲蓄費(fèi)用收入費(fèi)用)\n");</p><p> scanf("%d%d%d%d%d%d%d%d",&newI->month,&newI->food,&am
80、p;newI->house,&newI->edu,&newI->elc,&newI->health,&newI->store,&newI->income);</p><p> fflush(stdin);</p><p><b> }</b></p><p> v
81、oid writeinfor(Infor *newI)</p><p><b> {</b></p><p><b> FILE *fp;</b></p><p> fp=fopen(FilePath1,"ab+");</p><p> if(fp==NULL)</
82、p><p><b> {</b></p><p> printf("無法創(chuàng)建文件:%s",FilePath1);</p><p><b> exit(0);</b></p><p><b> }</b></p><p> fwr
83、ite(newI,sizeof(Infor),1,fp);//這里可以做特別處理可防止存在同一月份有條以上的記錄問題。這里就不寫了。</p><p> fclose(fp);</p><p> printf("數(shù)據(jù)錄入成功!\n");</p><p><b> }</b></p><p> v
84、oid changeFormat(void) //暫時(shí)只能操作一行文件有待改進(jìn)</p><p><b> {</b></p><p> FILE *fp1,*fp2;</p><p><b> Infor *a;</b></p><p> a=(Infor *)malloc(sizeof(I
85、nfor));</p><p> fp1=fopen(FilePath1,"rb+");</p><p> if(fp1==NULL)</p><p><b> {</b></p><p> printf("無法找到文件:%s\n",FilePath1);</p>
86、;<p> return ; //返回主函數(shù)</p><p><b> }</b></p><p> fp2=fopen(FilePath2,"wt+");</p><p> if(fp2==NULL)</p><p><b> {</b></p&g
87、t;<p> printf("無法創(chuàng)建文件:%s\n",FilePath2);</p><p> return ; //返回主函數(shù)</p><p><b> }</b></p><p> fputs(" \n……………………………………個人帳簿管理系統(tǒng)……………………………………\n\n&qu
88、ot;,fp2);</p><p> fputs("記錄月份食品消費(fèi)房租費(fèi)用子女費(fèi)用水電費(fèi)用醫(yī)療費(fèi)用儲蓄費(fèi)用本月收入\n",fp2);</p><p> fputs("----------------------------------------------------------------------- \n",fp2);</p>
89、;<p> printf("\n記錄月份食品消費(fèi)房租費(fèi)用子女費(fèi)用水電費(fèi)用醫(yī)療費(fèi)用儲蓄費(fèi)用本月收入\n");</p><p> printf("----------------------------------------------------------------------- \n");</p><p> rewind(f
90、p1);</p><p> fread(a,sizeof(Infor),1,fp1);</p><p> while(!feof(fp1))//從原文件[.dat]中讀數(shù)據(jù)寫入顯示文件[.txt]中</p><p><b> {</b></p><p> printf("%7d %8d %8d %8d
91、%8d %8d %8d %8d\n",a->month,a->food,a->house,a->edu,a->elc,a->health,a->store,a->income);</p><p> fprintf(fp2,"%7d %8d %8d %8d %8d %8d %8d %8d\n",a->month,a->foo
92、d,a->house,a->edu,a->elc,a->health,a->store,a->income);</p><p> fread(a,sizeof(Infor),1,fp1);</p><p><b> }</b></p><p> fputs("-----------------
93、------------------------------------------------------ \n",fp2);</p><p> fputs("關(guān)閉本程序繼續(xù)原程序!\n",fp2);</p><p> fclose(fp1);</p><p> fclose(fp2);</p><p>
94、 system(FilePath2); //調(diào)用打開轉(zhuǎn)換的文本文件</p><p> remove(FilePath2);//刪除文本文件文件</p><p><b> }</b></p><p> Status search(Infor *a)</p><p><b> {</b><
95、;/p><p> FILE *fp1;</p><p><b> int mon;</b></p><p> int isfound=0;</p><p> printf("請正確輸入要查詢的月份:");</p><p> scanf("%d",&am
96、p;mon);</p><p> fflush(stdin); //清除緩沖區(qū)</p><p> fp1=fopen(FilePath1,"rb+");</p><p> if(fp1==NULL)</p><p><b> {</b></p><p> printf
97、("無法找到文件:%s\n",FilePath1);</p><p> return Error; //返回主函數(shù)</p><p><b> }</b></p><p> rewind(fp1);</p><p> fread(a,sizeof(Infor),1,fp1);</p>
98、<p> while(!feof(fp1))//查詢操作</p><p><b> {</b></p><p> if(a->month==mon)</p><p><b> {</b></p><p> isfound=1; &
99、lt;/p><p><b> break;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> isfound=0; &l
100、t;/p><p><b> }</b></p><p> fread(a,sizeof(Infor),1,fp1);</p><p><b> }</b></p><p> fclose(fp1);</p><p> if(isfound)</p><
101、;p> return OK;</p><p><b> else</b></p><p> return NotFound;</p><p><b> }</b></p><p> void paixu(Infor *a)</p><p><b>
102、 {</b></p><p> int i=0,j=0,flag=0,t;</p><p> pType px[8]={{0,0}};</p><p> char str[8][10]={"記錄月份","食品消費(fèi)","房租費(fèi)用","子女費(fèi)用","水電費(fèi)用&qu
103、ot;,"醫(yī)療費(fèi)用","儲蓄費(fèi)用","本月收入"};</p><p> for(;i<8;i++)</p><p> px[i].no=i;</p><p> px[0].data=a->month;</p><p> px[1].data=a->food;
104、</p><p> px[2].data=a->house;</p><p> px[3].data=a->edu;</p><p> px[4].data=a->elc;</p><p> px[5].data=a->health;</p><p> px[6].data=a->
105、;store;</p><p> px[7].data=a->income;</p><p> for(i=1;i<8;i++)//冒泡排序</p><p><b> {</b></p><p><b> flag=0;</b></p><p> for
106、(j=0;j<8-i;j++)</p><p> if(px[j].data>px[j+1].data)</p><p><b> {</b></p><p> t=px[j].data;</p><p> px[j].data=px[j+1].data;</p><p>
107、px[j+1].data=t;</p><p> t=px[j].no;</p><p> px[j].no=px[j+1].no;</p><p> px[j+1].no=t;</p><p><b> flag=1;</b></p><p><b> }</b>
108、</p><p><b> //輸出結(jié)果</b></p><p> if(flag==0) break;</p><p><b> }</b></p><p> printf("\n");</p><p> for(i=0;i<8;i++)
109、</p><p><b> {</b></p><p> printf(" %s",str[px[i].no]);</p><p><b> }</b></p><p> printf("\n-----------------------------------
110、------------------------------------ \n");</p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p> printf("%8d ",px[i].data);</p><p><b>
111、; }</b></p><p> printf("\n");</p><p><b> }</b></p><p> void modify(Infor *a,int mon)//修改數(shù)據(jù)</p><p><b> {</b></p><
112、p> FILE *fp1,*fp2;</p><p><b> Infor *b;</b></p><p> b=(Infor *)malloc(sizeof(Infor));</p><p> fp1=fopen(FilePath1,"rt");</p><p> fp2=fopen
113、("temp.dat","wt+");</p><p> rewind(fp1);</p><p> fread(b,sizeof(Infor),1,fp1);</p><p> while (!feof(fp1))//重寫數(shù)據(jù)</p><p><b> {</b><
114、/p><p> if(b->month==mon)</p><p><b> {</b></p><p> fwrite(a,sizeof(Infor),1,fp2);//修改數(shù)據(jù)</p><p><b> }</b></p><p><b> else
115、</b></p><p><b> {</b></p><p> fwrite(b,sizeof(Infor),1,fp2);</p><p><b> }</b></p><p> fread(b,sizeof(Infor),1,fp1);</p><p&g
116、t;<b> }</b></p><p> fclose(fp1);</p><p> fclose(fp2);</p><p> remove(FilePath1); //刪除源文件</p><p> rename("temp.dat",FilePath1);//重命名
117、中間文件</p><p> printf("修改數(shù)據(jù)成功!\n" );</p><p> changeFormat(); //顯示數(shù)據(jù)</p><p><b> }</b></p><p> void delRecord(int mon) //刪除數(shù)據(jù)
118、</p><p><b> {</b></p><p> FILE *fp1,*fp2;</p><p><b> Infor *b;</b></p><p> b=(Infor *)malloc(sizeof(Infor));</p><p> fp1=fopen
119、(FilePath1,"rt");</p><p> fp2=fopen("temp.dat","wt+");</p><p> rewind(fp1);</p><p> fread(b,sizeof(Infor),1,fp1);</p><p> while (!feof
120、(fp1)) //重寫數(shù)據(jù)</p><p><b> {</b></p><p> if(b->month!=mon) </p><p> fwrite(b,sizeof(Infor),1,fp2); </p><p> fread(b,sizeof(Infor),1,fp1);<
121、;/p><p><b> }</b></p><p> fclose(fp1);</p><p> fclose(fp2);</p><p> remove(FilePath1); //刪除源文件</p><p> rename("temp.dat",F
122、ilePath1);//重命名中間文件</p><p> printf("刪除數(shù)據(jù)成功!\n" );</p><p> changeFormat(); //顯示數(shù)據(jù)</p><p><b> }</b></p><p> 5. 具體實(shí)現(xiàn)及運(yùn)行結(jié)果</p>
123、<p> 5.1 創(chuàng)建工程并建立文件</p><p> ?。?)啟動C FREE(2)新建工程名為“zj” 的Win32控制臺應(yīng)用程序。</p><p> ?。?)建立頭文件“Myinfor.h”,在其中定義圖類myinfor。</p><p> (4)建立源文件“myinfor。.cpp”,在其中定義圖類myinfor。的構(gòu)造函數(shù)myinfor。、開
124、支情況輸出輸出函數(shù)PutOutVexInfo。</p><p> ?。?)建立源文件“myinfor Main.cpp”,在其中輸入開支情況及項(xiàng)目信息,通過主函數(shù)調(diào)用其它各函數(shù),實(shí)現(xiàn)個人帳薄管理系統(tǒng)的設(shè)計(jì)</p><p> 5.2個人帳薄管理系統(tǒng)的實(shí)現(xiàn)</p><p><b> 圖5.1</b></p><p>
125、(1) 如果輸入1,進(jìn)行錄入數(shù)據(jù),并且錄入某人從1-5月的開支情況。</p><p><b> 圖5.2</b></p><p> 圖5.3 1月份開支情況信息錄入</p><p> 圖5.4 2月份開支情況信息錄入</p><p> 圖5.5 3月份開支情況信息錄入</p><p>
126、; 圖5.6 4月份開支情況信息錄入</p><p> 圖5.7 5月份開支情況信息錄入</p><p> (2)查看數(shù)據(jù),輸入2.</p><p> 圖5.8 開支情況信息查詢</p><p><b> 圖5.9</b></p><p> 圖5.10 信息修改</p&g
127、t;<p> 圖5.11 5月份開支情況費(fèi)用排序</p><p> 圖5.12 開支情況記錄刪除</p><p> 圖5.13 個人帳簿管理系統(tǒng)退出</p><p><b> 6. 設(shè)計(jì)體會</b></p><p> 本次設(shè)計(jì)給我們帶來了很深的感觸,C語言的精深以及程序的可愛都深深地吸引了我
128、們,這次設(shè)計(jì)使我們自身的編程,讀程能力得到了提升,也使我們更加深刻的認(rèn)識到不斷學(xué)習(xí),努力探索的重要性,本次設(shè)計(jì)單憑自己的力量真的有些困難,幸虧有同學(xué)的幫助以及各種參考資料以供查詢,以及自身不斷努力和奮進(jìn),最終也得到一個令人還算滿意的結(jié)果,總之,我在這次設(shè)計(jì)中體會到了自己的不足之處,我會在以后的學(xué)習(xí)和生活中將自身的水平完善,最終使自己擁有傲人的能力!</p><p><b> 參考文獻(xiàn)</b>
129、;</p><p> [1 ]張福祥. C語言程序設(shè)計(jì)[M]. 遼寧大學(xué)出版社,2008.1</p><p> [2] 張福祥,王萌.C語言程序設(shè)計(jì)習(xí)題解答與實(shí)驗(yàn)實(shí)訓(xùn)[M].沈陽:遼寧大學(xué)出版社,2008.</p><p> [3] 牛莉,劉遠(yuǎn)軍等.計(jì)算機(jī)等級考試輔導(dǎo)教程[M].北京:中國鐵道出版社,2008.</p><p> [4
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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ù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--個人賬簿管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---個人書籍管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--車庫管理系統(tǒng)
- 職工管理系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----個人設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告——圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)-家電庫存管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告圖書管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)-家電庫存管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告--商品貨架管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---學(xué)生學(xué)籍管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)-家電庫存管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)-課程設(shè)計(jì)--學(xué)生管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--成績管理系統(tǒng)
評論
0/150
提交評論