個人財(cái)務(wù)管理軟件用戶辦法_第1頁
個人財(cái)務(wù)管理軟件用戶辦法_第2頁
個人財(cái)務(wù)管理軟件用戶辦法_第3頁
個人財(cái)務(wù)管理軟件用戶辦法_第4頁
個人財(cái)務(wù)管理軟件用戶辦法_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、個人財(cái)務(wù)治理軟件報(bào)告目錄一、需求分析2 TOC o 1-3 h z u 2388911需求分析 1.首先個人的財(cái)務(wù)信息里包括收支日期,收入金額、支出金額還有收入和支出的目的,還有賬戶余額。因?yàn)槭前ǘ鄠€信息因此考慮到用結(jié)構(gòu)體數(shù)組來儲存這些信息,然后再把這些信息一起儲存到文件中。該軟件需要有六個功能,首先是登錄功能,必須輸入正確的用戶名和密碼才能使用軟件。第二是收支記錄的治理,該部分包括添加功能,刪除功能和修改功能。第三是查詢某天或某月的收支情況。第四是統(tǒng)計(jì)一段時(shí)刻的信息。后面的收支功能,查詢功能和統(tǒng)計(jì)功能差不多上從文件中讀取,讀取后存到結(jié)構(gòu)體數(shù)組中,然后再進(jìn)行操作,操作完后關(guān)閉文件,以免信息丟

2、失。當(dāng)用戶名和密碼輸入錯誤,會提示你輸入錯誤,請重新輸入。假如是操作過程中輸入錯誤,會回到最菜單重新操作。運(yùn)行時(shí)用戶能夠依照提示進(jìn)行操作,每進(jìn)行一步操作,就會有相應(yīng)的提示。概要分析 1.程序中存儲個人每天的財(cái)務(wù)信息用的是結(jié)構(gòu)體數(shù)組,其中結(jié)構(gòu)體中包括:日期(年月日),收入金額,支出金額,收入目的。 struct peopleint year; /年份int month; /月份int day; /日期float get; /收入金額float out; /支出金額char motive100; /支出目的char source100;/收入來源float leave;/余額 2.本程序各函數(shù)的結(jié)

3、構(gòu)main函數(shù) 將三天的賬戶信息存儲到文件中; 提示用戶輸入用戶名和密碼,輸入正確; 進(jìn)入f7();/菜單選擇函數(shù) switch() 1.修改信息; /f2()函數(shù)添加信息;/f3()函數(shù)刪除信息;/f4()函數(shù)查詢信息;/f5()函數(shù)統(tǒng)計(jì)信息;/f6()函數(shù) 3.各模塊的調(diào)用關(guān)系 第一層:main 函數(shù) 第二層:f7(); 第三層:f2() , f3(), f4(), f5(), f6();調(diào)用時(shí)這些函數(shù)都能夠通過f7()函數(shù)來互相調(diào)用。比如運(yùn)行完f2()函數(shù)后,能夠調(diào)用f7(),然后再調(diào)用f3()函數(shù)。 4.主函數(shù):添加信息到文件中和執(zhí)行登錄功能。 其他調(diào)用函數(shù)分不執(zhí)行其他五大功能。詳細(xì)設(shè)

4、計(jì)差不多數(shù)據(jù)類型操作存儲每天賬戶信息的數(shù)組結(jié)構(gòu)體struct peopleint year;int month;int day;float get;float out;char motive100;char source100;float leave; b)操縱結(jié)構(gòu)體數(shù)目的extern N剛開始運(yùn)行該程序時(shí),N的初始值為3,后來假如進(jìn)行添加操作,則N的值就會加1,反之假如進(jìn)行刪除操作,則N的值就會減1。 start流程圖 main函數(shù):int i,a,b i=0iNny將信息存到文件中 i+輸入用戶名和密碼輸入正確nF7()函數(shù)進(jìn)入添加函數(shù)f4()進(jìn)入刪除函數(shù)f3()進(jìn)入修改函數(shù)f2()菜單選

5、擇函數(shù)f7()y進(jìn)入查詢函數(shù)f5() end進(jìn)入統(tǒng)計(jì)函數(shù)f6()3、差不多操作的算法描述 a)登錄功能:用戶只有在輸入正確的用戶名和密碼后才能進(jìn)入系統(tǒng)進(jìn)行操作。 for(;) printf(=請輸入用戶名和密碼:=n);printf(用戶名:); scanf(%d,&a); /a表示用戶名printf(n);printf(密碼:); /b表示密碼scanf(%d,&b);printf(n); if(a=10201306&b=1) /輸入和條件一致的情況下進(jìn)入if語句中 printf(=恭喜輸入正確,登錄成功!=n);printf(該軟件中已存有2010年1月1號到3號的信息!n); else

6、/輸入和條件不一致就進(jìn)入else語句printf(輸入錯誤,請重新輸入!n); b)主菜單功能:用戶能夠自行選擇要進(jìn)行的操作 printf(=1:修改信息=n); printf(=2:刪除信息=n); printf(=3:添加信息=n); printf(=4:查詢信息=n); printf(=5:統(tǒng)計(jì)信息=n); printf(請選擇:);/在屏幕上輸出,指示用戶操作 scanf(%d,&flag); /輸入用戶的選項(xiàng)并存在flag中 while( flag != 0) switch(flag) default: printf(此選項(xiàng)不存在,請重新輸入:n);break; case 1: f2

7、(x,y,z); /進(jìn)入修改函數(shù) break; case 2: f3(x,y,z); /進(jìn)入刪除函數(shù) break; case 3: f4();/進(jìn)入添加函數(shù) break; case 4: f5(x,y,z);/進(jìn)入查詢函數(shù) break; case 5: f6(x,y,z,x1,y1,z1);/進(jìn)入統(tǒng)計(jì)函數(shù) break; c)修改功能:用戶假如覺得存儲的信息有問題,能夠在此進(jìn)行修改fp=fopen(f:pan.txt,w+);for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x=peoi.year&y=peoi.month&z=pe

8、oi.day) n=i; /查看是否有該天的信息存在 break;if(i=N)printf(沒有該天信息!n);printf(請重新選擇!n);f7();fread(&peoi,sizeof(struct people),1,fp);/先從文件中讀出printf(請輸入新的收入來源n); scanf(%s,peon.source); printf(請輸入新的收入金額n); scanf(%f,&peon.get); printf(請輸入新的支出目的n); scanf(%s,peon.motive); printf(請輸入新的支出金額n); scanf(%f,&peon.out);peon.le

9、ave=peon.get-peon.out;/輸入新的信息 for(i=0;iN;i+)if(fwrite(&peoi,sizeof(struct people),1,fp)!=1)printf(無法打開!n);exit(0);fclose(fp);/把新的信息存儲到文件當(dāng)中,并關(guān)閉文件 d) 刪除功能:用戶能夠在此刪除不需要的信息 fp=fopen(f:pan.txt,w+);/打開文件 for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x=peoi.year&y=peoi.month&z=peoi.day) n=i; /查看是

10、否有該天的信息存在 break;if(i=N)printf(沒有該天信息!n);printf(請重新選擇!n);for(i=n;iN;i+)fscanf(fp,%s,&peoi);/將文件中的信息存到數(shù)組結(jié)構(gòu)體里strcpy(peoi.source,peoi+1.source);peoi.year=peoi+1.year;peoi.month=peoi+1.month;peoi.day=peoi+1.day; peoi.get=peoi+1.get;peoi.out=peoi+1.out;strcpy(peoi.motive,peoi+1.motive); peoi.leave=peoi+1.

11、leave;/用后面的信息覆蓋前面的信息N=N-1;/刪除后信息減少一組,因此N要減1for(i=0;iN;i+)if(fwrite(&peoi,sizeof(struct people),1,fp)!=1)printf(無法打開!n);exit(0); fclose(fp);/將現(xiàn)有信息重新存回到文件中 e)添加功能:用戶能夠在此添加新的賬戶信息fp=fopen(f:pan.txt,rb);/先打開文件fread(&peoi,sizeof(struct people),1,fp);/將文件信息存到結(jié)構(gòu)體數(shù)組里n=N; /添加到結(jié)構(gòu)體數(shù)組的末尾printf(請輸入新的信息日期:n);scanf

12、(%d %d %d,&peon.year,&peon.month,&peon.day); printf(請輸入新的信息收入金額和收入來源:n); scanf(%f %s,&peon.get,peon.source); printf(請輸入新的信息支出金額和支出目的:n); scanf(%f %s,&peon.out,peon.motive); peon.leave=peon.get-peon.out; /輸入新的信息到結(jié)構(gòu)體中 N=N+1; /添加了新的數(shù)據(jù)因此N的值加1 fp=fopen(f:pan.txt,wb); for(i=0;iN;i+)fwite(&peoi,sizeof(stru

13、ct people),1,fp);fclose(fp);/將新的一組結(jié)構(gòu)體信息寫到文件里 f) 查詢功能:用戶能夠在此查詢往常存有的賬戶信息fopen(f:pan.txt,r); for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x=peoi.year&y=peoi.month&z=peoi.day) n=i; /查看是否有該天的信息存在 break;if(i=N)printf(沒有該天信息!n);printf(請重新選擇!n);f7();fread(&peon,sizeof(struct people),1,fp);/將數(shù)據(jù)存到

14、結(jié)構(gòu)體數(shù)組中printf(收入來源 收入金額 支出目的 支出金額 余額n);printf(%5s ,peon.source);printf(%3f ,peon.get);printf(%5s ,peon.motive);printf(%5f ,peon.out);printf(%3f ,peon.leave);/輸出您要查詢的該天信息 fclose(fp); /關(guān)閉文件防止信息丟失 g)統(tǒng)計(jì)功能:用戶能夠在此統(tǒng)計(jì)一段時(shí)刻內(nèi)的收入金額和支出金額 for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x=peoi.year&y=peoi.

15、month&z=peoi.day) n=i; /查看是否有該天的信息存在 break;if(i=N)printf(沒有該天信息!n);printf(請重新選擇!n); for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x1=peoi.year&y1=peoi.month&z1=peoi.day) m=i; /查看是否有該天的信息存在 break;if(i=N)printf(沒有該天信息!n);printf(請重新選擇!n); 假如存在該段時(shí)刻信息,那么統(tǒng)計(jì)收入金額:if(nm) for(i=n,sum=0;i=m;i+) sum+

16、=peoi.get; printf(%f,sum);fclose(fp); break;else for(i=m,sum=0;i=n;i+)sum+=peoi.get; printf(%f,sum);fclose(fp);break;假如統(tǒng)計(jì)支出金額,只需將peoi.get改為peoi.out就行。 3、各函數(shù)的調(diào)用關(guān)系圖 main函數(shù) f7()函數(shù) f2()函數(shù) f3()函數(shù) f4()函數(shù) f5()函數(shù) f6()函數(shù) f7()函數(shù) 調(diào)試分析開始時(shí)沒有將N定義為全局變量,導(dǎo)致在添加函數(shù)中N+1后,其他函數(shù)中的N卻沒有改變,導(dǎo)致最后查詢的信息不完整。開始時(shí)沒有將主菜單單獨(dú)存到一個函數(shù)里面,如此就

17、無法一次運(yùn)行多個功能,最后將主菜單單獨(dú)存到一個函數(shù)里以后,就能夠在運(yùn)行完一個功能之后,重新選擇,如此就能夠在一次調(diào)試中,運(yùn)行所有的功能模塊,減少了專門多苦惱。第一次調(diào)試運(yùn)行時(shí),文件中沒有存儲任何的信息,因此每次進(jìn)入都必須先要輸入一定量的數(shù)據(jù),然后才能進(jìn)行下面的操作,后來加以改善,先在文件中存儲幾天的賬戶信息,如此在運(yùn)行時(shí)就能夠直接進(jìn)行查詢,修改,刪除等操作了。第一次檢查時(shí),由于對文件的操作不是專門熟練,發(fā)覺了添加的數(shù)據(jù)并沒有存儲到文件之中,最后通過修正,加入了一個fwrite將信息寫到了文件里。五用戶手冊 1、本程序的運(yùn)行環(huán)境為DOS操作系統(tǒng),執(zhí)行文件為f1.dsw; 2、 進(jìn)入演示程序后,即

18、顯示對話形式的提示操作過程, 如:請輸入用戶名和密碼,輸入正確后便進(jìn)入菜單選擇 請輸入你的選項(xiàng), 輸入選項(xiàng)后,假如選項(xiàng)不存在,會提示你選項(xiàng)不存在,請重新選擇。 輸入正確選項(xiàng)后,便會提示你輸入日期。假如進(jìn)入的是修改函數(shù),就會接著提示你輸入新的信息;假如進(jìn)入的時(shí)添加函數(shù),會讓你輸入新的賬戶信息;假如進(jìn)入的是刪除函數(shù),再刪除完后會提示你刪除成功;假如進(jìn)入的時(shí)查詢函數(shù),會輸出你要查詢的當(dāng)天賬戶信息;假如進(jìn)入的統(tǒng)計(jì)函數(shù),會提示你選擇將要統(tǒng)計(jì)的信息。3、 假如用戶不小心進(jìn)錯了功能,能夠輸入0來返回主菜單,重新選擇。4、進(jìn)行完上面的操作之后,會提示用戶是否接著運(yùn)行該程序來進(jìn)行其他的功能操作 按n或N鍵 st

19、op或其它鍵接著六測試數(shù)據(jù) =請輸入用戶名和密碼:= 用戶名:10201306密碼:1恭喜輸入正確,登錄成功!1:修改信息 2:刪除信息3:添加信息 4:查詢信息 5:統(tǒng)計(jì)信息 a)請選擇:1 請輸入您要修改得日期:2010 1 1 0.返回主菜單 1.修改該天信息 請選擇 1 舊的信息為:2010 1 1 1000.000000 收入1 100.000000 支出1 請輸入新的信息:收入金額 1100 收入來源 aaa 支出金額 200 支出目的 bbb。修改成功!新的信息為 2010 1 1 1100.000000 aaa 200.0000000 bbb b)請選擇:2 請輸入您要刪除的日

20、期:2010 1 1 0.返回主菜單 1.刪除該天信息請選擇:1 舊的信息為: 2010 1 1 1000.000000 收入1 100.000000 支出1 2010 1 2 2000.000000 收入2 200.000000 支出2 2010 1 3 3000.000000 收入3 300.000000 支出3 刪除成功!新的信息為: 2010 1 2 2000.000000 收入2 200.000000 支出2 2010 1 3 3000.000000 收入3 300.000000 支出3 是否接著 y/n n press any key to continue c)請選擇:3 0.返

21、回主菜單 1.添加一天的賬戶信息請選擇:1舊的信息為: 2010 1 1 1000.000000 收入1 100.000000 支出1 2010 1 2 2000.000000 收入2 200.000000 支出2 2010 1 3 3000.000000 收入3 300.000000 支出3 請輸入新的信息:2010 1 4 4000 收入4 400 支出4添加成功!新的信息為:2010 1 1 1000.000000 收入1 100.000000 支出1 2010 1 2 2000.000000 收入2 200.000000 支出2 2010 1 3 3000.000000 收入3 300

22、.000000 支出3 2010 1 4 4000.000000 收入4 400.000000 支出4 是否接著 y/n n press any key to continued)請選擇:4 請輸入您要查詢得日期:2010 1 1 0.返回主菜單 1.查詢該天信息 請選擇 12010 1 1 1000.000000 收入1 100.000000 支出1 是否接著 y/n n press any key to continue e)請選擇: 5 請輸入你要統(tǒng)計(jì)的兩個日期:2010 1 1 2010 1 3 0.返回主菜單 1.統(tǒng)計(jì)該段時(shí)刻的收入金額統(tǒng)計(jì)該段時(shí)刻的支出金額統(tǒng)計(jì)該段時(shí)刻的余額 請選擇

23、 1. 6000.000000 2. 600.000000 3. 5400.000000是否接著 y/n n press any key to continue七附錄 1、源程序函數(shù)清單 主函數(shù):f1() 修改函數(shù):f2()刪除函數(shù):f3()添加函數(shù):f4()查詢函數(shù):f5()統(tǒng)計(jì)函數(shù):f6()主菜單函數(shù):f7() 2、源程序代碼 f1.cpp: #includestdio.h#includestdlib.h#includestring.h#includef2.h#includef3.h#includef4.h#includef5.h#includef6.h#includef7.hstruct

24、 people peoSIZE;int N=3;void main() int i,a,b; char d110=收入1,d210=收入2,d310=收入3,e110=支出1,e210=支出2,e310=支出3; FILE *fp; /*輸入三天的賬戶信息*/ peo0.year=2010;peo0.month=1;peo0.day=1; strcpy(peo0.source,d1);peo0.get=1000; strcpy(peo0.motive,e1);peo0.out=100; peo0.leave=peo0.get-peo0.out; peo1.year=2010;peo1.mont

25、h=1;peo1.day=2; strcpy(peo1.source,d2);peo1.get=2000;strcpy(peo1.motive,e2);peo1.out=200;peo1.leave=peo1.get-peo1.out; peo2.year=2010;peo2.month=1;peo2.day=3; strcpy(peo2.source,d3);peo2.get=3000; strcpy(peo2.motive,e3);peo2.out=300; peo2.leave=peo2.get-peo2.out;/*把數(shù)據(jù)寫入文件*/ fp=fopen(f:pan.txt,w);for

26、(i=0;iN;i+)if(fwrite(&peoi,sizeof(struct people),1,fp)!=1)printf(無法打開!n);exit(0); fclose(fp);/*菜單選擇功能*/ printf(=個人賬戶治理軟件=n); printf(=設(shè)計(jì)人:潘君宇=n); printf(n); printf(n); printf(請登錄:n); for(;) printf(=請輸入用戶名和密碼:=n);printf(用戶名:); scanf(%d,&a);printf(n);printf(密碼:);scanf(%d,&b);printf(n); if(a=10201306&b=

27、1) printf(=恭喜輸入正確,登錄成功!=n);printf(=該軟件中已存有2010年1月1號到3號的信息!=n); f7(); elseprintf(輸入錯誤,請重新輸入!n); f2.cpp:#includestdio.h#includestdlib.h#includestring.h#includef2.h#includef3.h#includef4.h#includef5.h#includef6.h#includef7.hextern struct people peoSIZE;extern N;void f2(int x,int y,int z)int b,i,n,flag=

28、1;char c;FILE *fp;/*檢查信息*/if(fp=fopen(f:pan.txt,r)=NULL)printf(無法找到該文件!n);exit(0);/*檢查是否有該信息*/for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp);if(x=peoi.year&y=peoi.month&z=peoi.day)n=i;break;if(i=N)printf(沒有該天信息!n);printf(請重新選擇!n);f7(); /*進(jìn)入修改程序*/ for(;)printf(=請選擇:=n);printf(=0.返回主菜單=n);print

29、f(=1.修改該天信息=n);printf(= n);scanf(%d,&b); switch(b) default:printf(無此選項(xiàng),請重新輸入:n); break;case 0:f7(); case 1:/修改收入來源fp=fopen(f:pan.txt,w+);fread(&peoi,sizeof(struct people),1,fp);printf(舊的信息為:n);printf(收入來源 收入金額 支出目的 支出金額 余額n);printf(%5s ,peon.source);printf(%3f ,peon.get);printf(%5s ,peon.motive);pri

30、ntf(%5f ,peon.out);printf(%3f n,peon.leave); fscanf(fp,%s,&peon);printf(請輸入新的收入來源n); scanf(%s,peon.source);printf(n); /修改收入金額printf(請輸入新的收入金額n); scanf(%f,&peon.get);printf(n);/修改支出目的printf(請輸入新的支出目的n); scanf(%s,peon.motive);printf(n);/修改支出金額printf(請輸入新的支出金額n); scanf(%f,&peon.out);printf(n);peon.leav

31、e=peon.get-peon.out;printf(新的的信息為:n);printf(收入來源 收入金額 支出目的 支出金額 余額n);printf(%5s ,peon.source);printf(%3f ,peon.get);printf(%5s ,peon.motive);printf(%5f ,peon.out);printf(%3f n,peon.leave);for(i=0;iN;i+)if(fwrite(&peoi,sizeof(struct people),1,fp)!=1)printf(無法打開!n);exit(0);fclose(fp); break; printf(是否

32、接著?y/nn); scanf(%s,&c); if(c=n|c=N) exit(0);F3.cpp:#includestdio.h#includestdlib.h#includestring.h#includef2.h#includef3.h#includef4.h#includef5.h#includef6.h#includef7.hextern struct people peoSIZE;void f3(int x,int y,int z)int b,i,n,flag=1;extern N;char c;FILE *fp;if(fp=fopen(f:pan.txt,r)=NULL)pri

33、ntf(無法找到該文件!n);exit(0);/*檢查是否有該信息*/for(i=0;iN;i+)if(x=peoi.year&y=peoi.month&z=peoi.day) n=i; break;if(i=N)printf(沒有該天信息!n);printf(請重新選擇!n);f7(); /*進(jìn)入刪除程序*/ for(;) printf(=請選擇:=n);printf(=0.返回主菜單=n); printf(=1.刪除該天信息=n);printf(=n); scanf(%d,&b);switch(b)default:printf(無此選項(xiàng),請重新輸入:n);break;case 0: f7(

34、); case 1:fp=fopen(f:pan.txt,w+);printf(舊的信息為:n); for(i=0;iN;i+) printf(日期 收入來源 收入金額 支出目的 支出金額 余額n); printf(%d %d %d ,peoi.year,peoi.month,peoi.day); printf(%5s ,peoi.source); printf(%3f ,peoi.get); printf(%5s ,peoi.motive); printf(%5f ,peoi.out); printf(%3f n,peoi.leave);for(i=n;iN;i+)fscanf(fp,%s,

35、&peoi); strcpy(peoi.source,peoi+1.source);peoi.year=peoi+1.year;peoi.month=peoi+1.month;peoi.day=peoi+1.day; peoi.get=peoi+1.get;peoi.out=peoi+1.out; strcpy(peoi.motive,peoi+1.motive);peoi.leave=peoi+1.leave; printf(刪除成功!n);N=N-1;for(i=0;iN;i+)printf(日期 收入來源 收入金額 支出目的 支出金額 余額nprintf(%2d %2d %2d ,peo

36、i.year,peoi.month,peoi.day);printf(%5s ,peoi.source);printf(%3f ,peoi.get);printf(%5s ,peoi.motive);printf(%5f ,peoi.out);printf(%3f n,peoi.leave);for(i=0;iN;i+)if(fwrite(&peoi,sizeof(struct people),1,fp)!=1)printf(無法打開!n);exit(0);fclose(fp);break; printf(是否接著?y/nn); scanf(%s,&c); if(c=n|c=N) exit(0

37、); f4.cpp:#includestdio.h#includestdlib.h#includestring.h#includef2.h#includef3.h#includef4.h#includef5.h#includef6.h#includef7.hextern struct people peoSIZE;extern N;void f4()int i,b,n;char c;FILE *fp;if(fp=fopen(f:pan.txt,a)=NULL)printf(無法找到該文件!n);exit(0);for(;)printf(=n);printf(=0.返回主菜單=n); print

38、f(=1.添加信息=n);printf(=n); scanf(%d,&b); switch(b) default:printf(無此選項(xiàng),請重新輸入:n);break;case 0:f7(); case 1: /*進(jìn)入添加程序*/fp=fopen(f:pan.txt,rb);printf(舊的信息為:n);for(i=0;iN;i+)fread(&peoi,sizeof(struct people),1,fp); printf(日期 收入來源 收入金額 支出目的 支出金額 余額n);printf(%2d %2d %2d ,peoi.year,peoi.month,peoi.day);print

39、f(%5s ,peoi.source);printf(%3f ,peoi.get); printf(%5s ,peoi.motive);printf(%5f ,peoi.out);printf(%3f n,peoi.leave);n=N; printf(請輸入新的信息日期:n); scanf(%d %d %d,&peon.year,&peon.month,&peon.day); printf(請輸入新的信息收入金額和收入來源:n); scanf(%f %s,&peon.get,peon.source); printf(請輸入新的信息支出金額和支出目的:n); scanf(%f %s,&peon

40、.out,peon.motive); peon.leave=peon.get-peon.out;N=N+1;printf(=現(xiàn)在的信息:=n);for(i=0;iN;i+)printf(日期 收入來源 收入金額 支出目的 支出金額 余額n);printf(%2d %2d %2d ,peoi.year,peoi.month,peoi.day);printf(%5s ,peoi.source);printf(%3f ,peoi.get);printf(%5s ,peoi.motive);printf(%5f ,peoi.out);printf(%3f n,peoi.leave); fp=fopen

41、(f:pan.txt,wb);for(i=0;iN;i+)fwrite(&peoi,sizeof(struct people),1,fp);fclose(fp);break; printf(是否接著?y/nn); scanf(%s,&c); if(c=n|c=N) exit(0);f5.cpp:#includestdlib.h#includestring.h#includef2.h#includef3.h#includef4.h#includef5.h#includef6.h#includef7.hextern struct people peoSIZE;extern N;void f5(in

42、t x,int y,int z)int b,i,n;char c;FILE *fp;if(fp=fopen(f:pan.txt,r)=NULL)printf(無法找到該文件!n);exit(0);/*檢查是否有該信息*/for(i=0;iN;i+)if(x=peoi.year&y=peoi.month&z=peoi.day) n=i; break;if(i=N)printf(沒有該天信息!n);printf(請重新選擇!n);f7();/*進(jìn)入查詢程序*/ for(;) printf(=請選擇=n);printf(=0.返回主菜單=n); printf(=1.查詢該天信息=n);printf(

43、=n); scanf(%d,&b); switch(b)fread(&peon,sizeof(struct people),1,fp); default:printf(無此選項(xiàng),請重新輸入:n); break;case 0:f7(); case 1:printf(收入來源 收入金額 支出目的 支出金額 余額n);printf(%5s ,peon.source);printf(%3f ,peon.get);printf(%5s ,peon.motive);printf(%5f ,peon.out);printf(%3f ,peon.leave); break; printf(是否接著?y/nn)

44、; scanf(%s,&c); if(c=n|c=N) exit(0); fclose(fp);F6.cpp:#includestdio.h#includestdlib.h#includestring.h#includef2.h#includef3.h#includef4.h#includef5.h#includef6.h#includef7.hextern struct people peoSIZE;extern N;void f6(int x,int y,int z,int x1,int y1,int z1)int b,i,n,m,flag=1;float sum;char c;FILE

45、*fp;if(fp=fopen(f:pan.txt,r)=NULL)printf(無法找到該文件!n);exit(0); /*檢查是否有該信息*/for(i=0;iN;i+)if(x=peoi.year&y=peoi.month&z=peoi.day) n=i; break;if(i=N)printf(沒有該段時(shí)刻信息!n);printf(請重新選擇!n);f7();for(i=0;iN;i+) if(x1=peoi.year&y1=peoi.month&z1=peoi.day) m=i; break;if(i=N)printf(沒有該段時(shí)刻信息!n);printf(請重新選擇!n);f7();/*進(jìn)入統(tǒng)計(jì)程序*/ fp=fopen(f:pan.txt,r); wh

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論