個人財務(wù)管最新理軟件用戶手冊_第1頁
個人財務(wù)管最新理軟件用戶手冊_第2頁
個人財務(wù)管最新理軟件用戶手冊_第3頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、個人財務(wù)管理軟件報告目錄一、需求分析 一、需求分析1. 首先個人的財務(wù)信息里包括收支日期,收入金額、支出金額還有收入和支 出的目的,還有賬戶余額。 因為是包括多個信息所以考慮到用結(jié)構(gòu)體數(shù)組來儲存 這些信息,然后再把這些信息一起儲存到文件中。2. 該軟件需要有六個功能,首先是登錄功能,必須輸入正確的用戶名和密碼 才能使用軟件。 第二是收支記錄的管理, 該部分包括添加功能, 刪除功能和修改 功能。第三是查詢某天或某月的收支情況。第四是統(tǒng)計一段時間的信息。3. 后面的收支功能,查詢功能和統(tǒng)計功能都是從文件中讀取,讀取后存到結(jié) 構(gòu)體數(shù)組中,然后再進行操作,操作完后關(guān)閉文件,以免信息丟失。4. 當用戶名

2、和密碼輸入錯誤,會提示你輸入錯誤,請重新輸入。5. 如果是操作過程中輸入錯誤,會回到最菜單重新操作。6. 運行時用戶可以根據(jù)提示進行操作, 每進行一步操作, 就會有相應(yīng)的提示。二概要分析1. 程序中存儲個人每天的財務(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é)構(gòu) m

3、ain 函數(shù) 將三天的賬戶信息存儲到文件中;提示用戶輸入用戶名和密碼,輸入正確;進入 f7 ();/ 菜單選擇函數(shù)switch () 1. 修改信息;/f2() 函數(shù)2. 添加信息;/f3() 函數(shù)3. 刪除信息;/f4() 函數(shù)4. 查詢信息;/f5() 函數(shù)5. 統(tǒng)計信息;/f6() 函數(shù)3. 各模塊的調(diào)用關(guān)系第一層: main 函數(shù)第二層: f7 ();第三層: f2() , f3(), f4(), f5(), f6();調(diào)用時這些函數(shù)都可以通過 f7 ()函數(shù)來互相調(diào)用。比如運行完 f2 ()函數(shù)后,可以 調(diào)用 f7 (),然后再調(diào)用 f3()函數(shù)。4. 主函數(shù):添加信息到文件中和執(zhí)行

4、登錄功能。 其他調(diào)用函數(shù)分別執(zhí)行其他五大功能。三詳細設(shè)計1、基本數(shù)據(jù)類型操作a) 存儲每天賬戶信息的數(shù)組結(jié)構(gòu)體 struct people int year; int month; int day; float get; float out; char motive100; char source100; float leave;b )控制結(jié)構(gòu)體數(shù)目的 extern N 剛開始運行該程序時, N 的初始值為 3,后來如果進行添加操作,則N的值就會加 1,反之如果進行刪除操作,則 N 的值就會減 1。輸入正y進入修改函數(shù) f2()3、基本操作的算法描述a) 登錄功能:用戶只有在輸入正確的用戶名和

5、密碼后才能進入系統(tǒng)進行 操作。for(;)printf("= printf(" 用戶名 :");scanf("%d",&a); /a請輸入用戶名和密碼:表示用戶名n");printf("n");printf(" 密碼 :"); /b表示密碼scanf("%d",&b);printf("n");if(a=10201306&&b=1) / 輸入和條件一致的情況下進入 if 語句中printf("= 恭喜輸入正確,登錄成

6、功 !=n");printf(" 該軟件中已存有 2010 年 1 月 1 號到 3 號的信息 !n"); else / 輸入和條件不一致就進入 else 語句 printf(" 輸入錯誤,請重新輸入 !n");b) 主菜單功能:用戶可以自行選擇要進行的操作printf("=1:printf("=2:printf("=3:printf("=4:printf("=5: printf(" 請選擇 :");修改信息 =n"); 刪除信息 =n"); 添加信息 =

7、n"); 查詢信息 =n"); 統(tǒng)計信息 =n"); / 在屏幕上輸出,指示用戶操作scanf("%d",&flag);while( flag != 0)switch(flag)default: printf("/輸入用戶的選項并存在 flag 中此選項不存在,請重新輸入 :n");break;case 1:f2(x,y,z); / break;case 2: f3(x,y,z); break;case 3:f4();break;case 4:f5(x,y,z);break;case 5: f6(x,y,z,x1,y

8、1,z1);進入修改函數(shù)/ 進入刪除函數(shù)/ 進入添加函數(shù)/ 進入查詢函數(shù)/ 進入統(tǒng)計函數(shù)break;c) 修改功能:用戶如果覺得存儲的信息有問題,可以在此進行修改fp=fopen("f:pan.txt","w+");for(i=0;i<N;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(" 沒有該

9、天信息 !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"

10、;,peon.motive);printf(" 請輸入新的支出金額 n"); scanf("%f",&peon.out); peon.leave=peon.get-peon.out;/ 輸入新的信息 for(i=0;i<N;i+) if(fwrite(&peoi,sizeof(struct people),1,fp)!=1) printf(" 無法打開 !n"); exit(0); fclose(fp);/ 把新的信息存儲到文件當中,并關(guān)閉文件d) 刪除功能:用戶可以在此刪除不需要的信息 fp=fopen(&qu

11、ot;f:pan.txt","w+");/ 打開文件 for(i=0;i<N;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"); for(i=n;i<N;i+ )fscanf(fp,"%s&qu

12、ot;,&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.leave; / 用后面的信息覆蓋前面的信息N=N-1;/ 刪除后信息減少一組,所以 N要減 1 for(i=0;i<N;i+) i

13、f(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&quo

14、t;);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.out,peon.motive); peon.leave=peon.get-peon.out ; / 輸入新的信息到

15、結(jié)構(gòu)體中N=N+1; / 添加了新的數(shù)據(jù)所以 N 的值加 1 fp=fopen("f:pan.txt","wb");for(i=0;i<N;i+)fwite(&peoi,sizeof(struct people),1,fp);fclose(fp);/ 將新的一組結(jié)構(gòu)體信息寫到文件里f) 查詢功能:用戶可以在此查詢以前存有的賬戶信息 fopen("f:pan.txt","r");for(i=0;i<N;i+)fread(&peoi,sizeof(struct people),1,fp);

16、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ù)存到結(jié)構(gòu)體數(shù)組中printf(" 收入來源 收入金額 支出目的支出金額 余額 n");printf("%5s ",peon.source);printf

17、("%3f ",peon.get);printf("%5s ",peon.motive); printf("%5f ",peon.out); printf("%3f ",peon.leave);/ 輸出您要查詢的該天信息 fclose(fp); / 關(guān)閉文件防止信息丟失g) 統(tǒng)計功能:用戶可以在此統(tǒng)計一段時間內(nèi)的收入金額和支出金額 for(i=0;i<N;i+) fread(&peoi,sizeof(struct people),1,fp); if(x=peoi.year&&y=peo

18、i.month&&z=peoi.day)n=i; / 查看是否有該天的信息存在 break;if(i=N)printf(" 沒有該天信息 !n"); printf(" 請重新選擇 !n"); for(i=0;i<N;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(" 沒有該天信

19、息 !n"); printf(" 請重新選擇 !n"); 如果存在該段時間信息,那么統(tǒng)計收入金額: if(n<m) for(i=n,sum=0;i<=m;i+) sum+=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)計支出金額,只需將 peoi.get 改為 peoi.out 就行。3 、各函數(shù)的調(diào)

20、用關(guān)系圖main函數(shù)f7()函數(shù)f2()函數(shù)f3()函數(shù)f4()函數(shù)f5()函數(shù)f6()函數(shù)f7()函數(shù)四調(diào)試分析1. 開始時沒有將 N 定義為全局變量, 導(dǎo)致在添加函數(shù)中 N+1 后,其他函數(shù)中 的 N 卻沒有改變,導(dǎo)致最后查詢的信息不完整。2. 開始時沒有將主菜單單獨存到一個函數(shù)里面,這樣就無法一次運行多個功 能,最后將主菜單單獨存到一個函數(shù)里以后, 就可以在運行完一個功能之后, 重 新選擇,這樣就可以在一次調(diào)試中,運行所有的功能模塊,減少了很多麻煩。3. 第一次調(diào)試運行時,文件中沒有存儲任何的信息,所以每次進入都必須先 要輸入一定量的數(shù)據(jù), 然后才能進行下面的操作, 后來加以改善, 先在

21、文件中存 儲幾天的賬戶信息,這樣在運行時就可以直接進行查詢,修改,刪除等操作了。4. 第一次檢查時,由于對文件的操作不是很熟練,發(fā)現(xiàn)了添加的數(shù)據(jù)并沒有 存儲到文件之中,最后經(jīng)過修正,加入了一個 fwrite 將信息寫到了文件里。 五用戶手冊1 、本程序的運行環(huán)境為 DOS 操作系統(tǒng),執(zhí)行文件為 f1.dsw ;2、進入演示程序后,即顯示對話形式的提示操作過程, 如:請輸入用戶名和密碼,輸入正確后便進入菜單選擇請輸入你的選項,輸入選項后,如果選項不存在,會提示你選項不存在,請重新選擇。輸入正確選項后,便會提示你輸入日期。如果進入的是修改函數(shù),就會繼續(xù)提示你輸入新的信息; 如果進入的時添加函數(shù),

22、會讓你輸入新的賬戶信息; 如果進入的是刪除函數(shù),再刪除完后會提示你刪除成功;如果進入的時查詢函數(shù), 會輸出你要查詢的當天賬戶信息; 如果進入的統(tǒng)計函數(shù), 會提示你選擇將要統(tǒng)計 的信息。3、如果用戶不小心進錯了功能,可以輸入 0 來返回主菜單,重新選擇。 4、進行完上面的操作之后,會提示用戶是否繼續(xù)運行該程序來進行其他的功能 操作按n 或 N'鍵 stop 或其它鍵繼續(xù)六測試數(shù)據(jù)= 請輸入用戶名和密碼: =用戶名: 10201306密碼:1恭喜輸入正確,登錄成功!1: 修改信息 2: 刪除信息 3: 添加信息 4: 查詢信息 5: 統(tǒng)計信息a) 請選擇: 1 請輸入您要修改得日期: 20

23、10 1 10. 返回主菜單1. 修改該天信息 請選擇 1 舊的信息為: 2010 1 1 1000.000000 收入 1 100.000000 支出 1 請輸入新的信息:收入金額 1100 收入來源 aaa 支出金額 200 支 出目的 bbb 。修改成功!新的信息為 2010 1 1 1100.000000 aaa 200.0000000 bbbb) 請選擇: 2 請輸入您要刪除的日期: 2010 1 10. 返回主菜單1. 刪除該天信息 請選擇: 1 舊的信息為: 2010 1 1 1000.000000 收入 1 100.000000 支出 1 2010 1 2 2000.00000

24、0 收入 2 200.000000 支出 22010 1 3 3000.000000收入3 300.000000支出c)請選擇:刪除成功!新的信息為: 2010 1 2 2000.0000002010 1 3 3000.000000是否繼續(xù) y/npress any key to continue請選擇: 30. 返回主菜單1. 添加一天的賬戶信息收入收入2 200.0000003 300.000000支出支出舊的信息為 :2010 1 1 1000.000000收入1 100.000000支出2010 1 2 2000.000000收入2 200.000000支出2010 1 3 3000.

25、000000收入3 300.000000支出請輸入新的信息: 2010 1 4 4000收入 4 400 支出 4添加成功!新的信息為: 2010 1 1 1000.000000收入1 100.000000支出2010 1 2 2000.000000收入2 200.000000支出2010 1 3 3000.000000收入3 300.000000支出2010 1 4 4000.000000收入 4 400.000000支出是否繼續(xù) y/nn press any key to continued)請選擇: 4請輸入您要查詢得日期: 2010 1 10. 返回主菜單1. 查詢該天信息請選擇 12

26、010 1 1 1000.000000 收入 1 100.000000 支出 1是否繼續(xù) y/nn press any key to continuee) 請選擇 : 5請輸入你要統(tǒng)計的兩個日期: 2010 1 1 2010 1 30. 返回主菜單1. 統(tǒng)計該段時間的收入金額2. 統(tǒng)計該段時間的支出金額3. 統(tǒng)計該段時間的余額請選擇 1. 6000.0000002. 600.0000003. 5400.000000是否繼續(xù) y/nn press any key to continue七附錄1、源程序函數(shù)清單主函數(shù):f1()修改函數(shù): f2()刪除函數(shù): f3()添加函數(shù): f4()查詢函數(shù):

27、f5()統(tǒng)計函數(shù): f6()主菜單函數(shù): f7()2、源程序代碼f1.cpp:#include"stdio.h"#include"stdlib.h"#include"string.h"#include"f2.h"#include"f3.h"#include"f4.h"#include"f5.h"#include"f6.h"#include"f7.h"struct people peoSIZE;int N=3;void

28、 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;pe

29、o0.leave=peo0.get-peo0.out; peo1.year=2010;peo1.month=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=peo

30、2.get-peo2.out;/* 把數(shù)據(jù)寫入文件 */fp=fopen("f:pan.txt","w");for(i=0;i<N;i+) if(fwrite(&peoi,sizeof(struct people),1,fp)!=1) printf(" 無法打開 !n");exit(0);fclose(fp);/* 菜單選擇功能 */printf("= 個人賬戶管理軟件 =n"); printf("= 設(shè)計人:潘君宇 =n"); printf("n");prin

31、tf("n");printf(" 請登錄: n");for(;) printf("= 請輸入用戶名和密碼: =n"); printf(" 用戶名 :");scanf("%d",&a); printf("n"); printf(" 密碼 :");scanf("%d",&b); printf("n"); if(a=10201306&&b=1) printf("= 恭喜輸入正確,登

32、錄成功 !=n");printf("= 該軟件中已存有 2010年1月1號到3號的信息 !=n");f7(); elseprintf(" 輸入錯誤,請重新輸入 !n");f2.cpp:#include"stdio.h"#include"stdlib.h"#include"string.h"#include"f2.h"#include"f3.h"#include"f4.h"#include"f5.h"#inc

33、lude"f6.h"#include"f7.h"extern struct people peoSIZE;extern N;void f2(int x,int y,int z)int b,i,n,flag=1;char c;FILE *fp;/* 檢查信息 */ if(fp=fopen("f:pan.txt","r")=NULL)printf(" 無法找到該文件 !n");exit(0);/* 檢查是否有該信息 */ for(i=0;i<N;i+)fread(&peoi,sizeo

34、f(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();/* 進入修改程序 */for(;) printf("= 請選擇: =n"); printf("=0. 返回主菜單 =n"); printf("=1. 修改該天信息 =n"); printf("=

35、n"); scanf("%d",&b);switch(b)default:printf(" 無此選項,請重新輸入: 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(&

36、quot;%5s ",peon.source); printf("%3f ",peon.get);printf("%5s ",peon.motive); printf("%5f ",peon.out);printf("%3f n",peon.leave); fscanf(fp,"%s",&peon);printf(" 請輸入新的收入來源 n"); scanf("%s",peon.source);printf("n");

37、/ 修改收入金額 printf(" 請輸入新的收入金額 n");scanf("%f",&peon.get); printf("n");/ 修改支出目的 printf(" 請輸入新的支出目的 n");scanf("%s",peon.motive); printf("n");/ 修改支出金額printf(" 請輸入新的支出金額 n"); scanf("%f",&peon.out);printf("n");

38、peon.leave=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;i<N;i+

39、) if(fwrite(&peoi,sizeof(struct people),1,fp)!=1) printf(" 無法打開 !n");exit(0);fclose(fp);break;printf(" 是否繼續(xù)? y/nn");scanf("%s",&c);if(c='n'|c='N')exit(0);F3.cpp:#include"stdio.h"#include"stdlib.h"#include"string.h"#i

40、nclude"f2.h"#include"f3.h"#include"f4.h"#include"f5.h"#include"f6.h"#include"f7.h"extern 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)printf(

41、" 無法找到該文件 !n");exit(0);/* 檢查是否有該信息 */for(i=0;i<N;i+)if(x=peoi.year&&y=peoi.month&&z=peoi.day)n=i;break;if(i=N)printf(" 沒有該天信息 !n");printf(" 請重新選擇 !n");f7();/* 進入刪除程序 */for(;)printf("= 請選擇: =n");printf("=0. 返回主菜單 =n"); printf("

42、=1. 刪除該天信息 =n");printf("=n"); scanf("%d",&b);switch(b)default:printf(" 無此選項,請重新輸入: n");break;case 0:f7();case 1:fp=fopen("f:pan.txt","w+");printf(" 舊的信息為: n");for(i=0;i<N;i+)printf(" 日期 收入來源 收入金額 支出目的 支出金額余額 n");printf

43、("%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;i<N;i+)fscanf(fp,"%s",&peoi); strcpy(peoi.

44、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;i<N;i+)余額n"printf(" 日期 收入來源 收入金額 支出目的 支出金額 printf(&q

45、uot;%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);for(i=0;i<N;i+) if(fwrite(&peoi,sizeof(struct people),1,fp)

46、!=1) printf(" 無法打開 !n");exit(0);fclose(fp);break;printf(" 是否繼續(xù)? y/nn");scanf("%s",&c);if(c='n'|c='N')exit(0);f4.cpp:#include"stdio.h" #include"stdlib.h" #include"string.h"#include"f2.h"#include"f3.h"#

47、include"f4.h"#include"f5.h"#include"f6.h"#include"f7.h"extern 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

48、("=0. 返回主菜單 =n"); printf("=1. 添加信息 =n"); printf("=n"); scanf("%d",&b);switch(b) default:printf(" 無此選項,請重新輸入: n"); break;case 0: f7();case 1:/* 進入添加程序 */ fp=fopen("f:pan.txt","rb"); printf(" 舊的信息為: n"); for(i=0;i<N

49、;i+) fread(&peoi,sizeof(struct people),1,fp);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);

50、printf("%3f n=N;n",peoi.leave);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"

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

52、ntf("%5s ",peoi.motive);printf("%5f ",peoi.out);printf("%3f n",peoi.leave);fp=fopen("f:pan.txt","wb");for(i=0;i<N;i+) fwrite(&peoi,sizeof(struct people),1,fp);fclose(fp);break;printf(" 是否繼續(xù) ?y/nn");scanf("%s",&c);if(c=&

53、#39;n'|c='N')exit(0);f5.cpp:#include"stdlib.h"#include"string.h"#include"f2.h"#include"f3.h"#include"f4.h"#include"f5.h"#include"f6.h"#include"f7.h"extern struct people peoSIZE;extern N;void f5(int x,int y,in

54、t z)int b,i,n;char c;FILE *fp;if(fp=fopen("f:pan.txt","r")=NULL)printf(" 無法找到該文件 !n");exit(0);/* 檢查是否有該信息 */for(i=0;i<N;i+)if(x=peoi.year&&y=peoi.month&&z=peoi.day)n=i;break;if(i=N)printf(" 沒有該天信息 !n");printf(" 請重新選擇 !n");f7();/* 進

55、入查詢程序 */for(;)printf("printf("=0.printf("=1.請選擇 =n"); 返回主菜單 =n"); 查詢該天信息 =n");printf("n");F-uw/As)七x (-N-uuo=-u-uuo=- iy03-=s%=ueos 、翅黑Kn<=)tu_d>B2E0d-anoEo d- >10luE0 d-=-(O6C一0&= onosEo&=M=u一蠢<蠢輜耳枳星皿耳枳蠢輜<晏sg%42%sg%活aiq -)tu_d -)tu_d -)

56、tu_d ku匸d Mu_d Mu_d-L Seo ocO SB。空eqM=s=c_dmn45 pXd4- L-o-doed 10nls=0NS-U 一 o d03)pea!4§11。七 MSs03-=p%=ueos(nnN"c=-=PQ.Uedutu doTE)七a*山i匚QElp-Ensroo匸-LH6Eq=-lu-u._-q -u 一(N1ula lurx1U_N1UA -urx lu_)94 po>-N U9X QTz-saed -doed lonbs U9X iz.c-opnQu 算 =lr9*-opn_ou 算 izQTDpnQu 算 =lr 寸4-opn

57、Qu 算 izcopnQu 算 izaopnQu 算 =LT6UES7DpnQu 算 =lrq=2s7DpnQu 算 izopls-opnQu 算d.do.9 丄宀Jd4oso_o4printf(" 無法找到該文件 !n");exit(0);/* 檢查是否有該信息 */for(i=0;i<N;i+) if(x=peoi.year&&y=peoi.month&&z=peoi.day) n=i;break;if(i=N)printf(" 沒有該段時間信息 !n");printf(" 請重新選擇 !n");f7();for(i=0;i<N;i+) if(x1=peoi.year&&y1=peoi.month&&z1=peoi.day) m=i;break;if(i=N)printf(" 沒有該段時間信息 !n");printf(" 請重新選擇 !n");f7();/* 進入統(tǒng)計程序 */fp=fopen(&q

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論