個(gè)人財(cái)務(wù)管理軟件報(bào)告_第1頁
個(gè)人財(cái)務(wù)管理軟件報(bào)告_第2頁
個(gè)人財(cái)務(wù)管理軟件報(bào)告_第3頁
個(gè)人財(cái)務(wù)管理軟件報(bào)告_第4頁
個(gè)人財(cái)務(wù)管理軟件報(bào)告_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、個(gè)人財(cái)務(wù)管理軟件報(bào)告22388911個(gè)人財(cái)務(wù)管理軟件報(bào)告目錄一、需求分析 二、概要設(shè)計(jì)三、詳細(xì)設(shè)計(jì)四、調(diào)試分析五、用戶手冊六、測試數(shù)據(jù)七、附錄一、需求分析1 .首先個(gè)人的財(cái)務(wù)信息里包括收支日期, 收入金額、支出金額還有收入和支 出的目的,還有賬戶余額。因?yàn)槭前ǘ鄠€(gè)信息所以考慮到用結(jié)構(gòu)體數(shù)組來儲(chǔ) 存這些信息,然后再把這些信息一起儲(chǔ)存到文件中。2 .該軟件需要有六個(gè)功能,首先是登錄功能,必須輸入正確的用戶名和密碼 才能使用軟件。第二是收支記錄的管理,該部分包括添加功能,刪除功能和修 改功能。第三是查詢某天或某月的收支情況。第四是統(tǒng)計(jì)一段時(shí)間的信息。3 .后面的收支功能,查詢功能和統(tǒng)計(jì)功能都是從文

2、件中讀取,讀取后存到結(jié) 構(gòu)體數(shù)組中,然后再進(jìn)行操作,操作完后關(guān)閉文件,以免信息丟失。4 .當(dāng)用戶名和密碼輸入錯(cuò)誤,會(huì)提示你輸入錯(cuò)誤,請重新輸入。5 .如果是操作過程中輸入錯(cuò)誤,會(huì)回到最菜單重新操作。6 .運(yùn)行時(shí)用戶可以根據(jù)提示進(jìn)行操作,每進(jìn)行一步操作,就會(huì)有相應(yīng)的提示。二.概要分析1 .程序中存儲(chǔ)個(gè)人每天的財(cái)務(wù)信息用的是結(jié)構(gòu)體數(shù)組,其中結(jié)構(gòu)體中包括: 日期(年月日),收入金額,支出金額,收入目的。struct peopleint year;/年份int month;/月份int day;/日期float get;/收入金額float out;/支出金額char motive100;/支出目的c

3、har source100;/收入來源float leave;/余額2 .本程序各函數(shù)的結(jié)構(gòu)main函數(shù)將三天的賬戶信息存儲(chǔ)到文件中;提示用戶輸入用戶名和密碼,輸入正確;進(jìn)入f7 (); 菜單選擇函數(shù)switch () 1 .修改信息;/f2() 函數(shù)2 .添加信息;/f3()函數(shù)3 .刪除信息;/f4()函數(shù)4 .查詢信息;/f5()函數(shù)5 .統(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 (

4、),然后再調(diào)用f3 ()函數(shù)。4 .主函數(shù):添加信息到文件中和執(zhí)行登錄功能。其他調(diào)用函數(shù)分別執(zhí)行其他五大功能。三.詳細(xì)設(shè)計(jì)1、基本數(shù)據(jù)類型操作a)存儲(chǔ)每天賬戶信息的數(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的值就會(huì)加1,反之如果進(jìn)行刪除操作,則 N的值就會(huì)減1。3、基本操作的算法描述a)登錄功能:用戶只有在輸入正確的用戶名和

5、密碼后才能進(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"

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

7、quot; 請選擇:");/在屏幕上輸出,指示用戶操作scanf("%d",&flag);/輸入用戶的選項(xiàng)并存在flag中while( flag != 0)switch(flag)default: printf("此選項(xiàng)不存在,請重新輸入:n");break;case 1:f2(x,y,z);/進(jìn)入修改函數(shù)break;/進(jìn)入刪除case 2:f3(x,y,z);函數(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);

8、進(jìn)入統(tǒng)計(jì)函數(shù)break;c)修改功能:用戶如果覺得存儲(chǔ)的信息有問題,可以在此進(jìn)行修改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(" 沒有該天信息!n");printf("請重新選擇!n");

9、f7();fread(&peoi,sizeof(structpeople),1,fp);/先從文件中讀出printf("請輸入新的收入來源n");scanf("%s",peon.source);printf(" 請輸入新的收入金額 n") scanf("%f”,&peon.get);printf(" 請輸入新的支出目的n");scanf("%s",peon.motive);printf(" 請輸入新的支出金額n");scanf("%f”,&

10、amp;peon.out);peon.leave=peon.get-peon.out;輸入新的信息for(i=0;i<N;i+) if(fwrite(&peoi,sizeof(structpeople),1,fp)!=1) printf("無法打開!n"); exit(0); fclose(fp);/把新的信息存儲(chǔ)到文件當(dāng)中,并關(guān)閉文件d) 刪除功能:用戶可以在此刪除不需要的信息fp=fopen("f:pan.txt","w+");打開文for(i=0;i<N;i+)fread(&peoi,sizeof(s

11、truct 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",&peoi);/ 將 文件中 的信息存到數(shù)組結(jié)構(gòu)體里strcpy(peoi.source,peoi+1.source);peoi.year=peoi+1.year;peoi

12、.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要減1for(i=0;i<N;i+)if(fwrite(&peoi,sizeof(structpeople),1,fp)!=1)printf("無法打開!n");exit(0);fclose(fp);/將現(xiàn)有信息重新存

13、回到文件e)添加功能:用戶可以在此添加新的賬戶信息fp=fopen("f:pan.txt","rb");/先打開文件fread(&peoi,sizeof(structpeople),1,fp);/將文件信息存到結(jié)構(gòu)體數(shù)組里n=N;/添加到結(jié)構(gòu)體數(shù)組的末尾printf("請輸入新的信息日期:n");scanf("%d %d %d",&peon.year,&peon.month,&peon.day);printf(" 請輸入新的信息收入金額和收入 來源:n");sca

14、nf("%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的值加1fp=fopen("f:pan.txt","wb");for(i=0;i<N;i+)fwite(&peoi,sizeof(structpeopl

15、e),1,fp);fclose(fp);/將新的一組結(jié)構(gòu)體信息寫到文件里f) 查詢功能:用戶可以在此查詢以前存有的賬戶信息fopen("f:pan.txt","r");for(i=0;i<N;i+)fread(&peoi,sizeof(structpeople),1,fp);if(x=peoi.year&&y=peoi.month&&z=peoi.day)n=i;/查看是否有該天的信息存在break;if(i=N)printf(" 沒有該天信息!n");printf("請重新選擇

16、!n");f7();fread(&peon,sizeof(structpeople),1,fp);/將數(shù)據(jù)存到結(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

17、);/關(guān)閉文件防止信息丟失g) 統(tǒng)計(jì)功能:用戶可以在此統(tǒng)計(jì)一段時(shí)間內(nèi)的收入金額和支出金額for(i=0;i<N;i+)fread(&peoi,sizeof(structpeople),1,fp);if(x=peoi.year&&y=peoi.month&&z=peoi.day)n=i;/查看是否有該天的信息存在break;if(i=N)printf("沒有該天信息!n");printf("請重新選擇!n");for(i=0;i<N;i+)fread(&peoi,sizeof(structpeop

18、le),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(n<m)for(i=n,sum=0;i<=m;i+)sum+=peoi.get;printf("%f",sum);fclose(fp);break;elsefor(i=m,sum=0;i<=n;i+)s

19、um+=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)試分析1 .開始時(shí)沒有將N定義為全局變量,導(dǎo)致在添加函數(shù)中 N+1后,其他函數(shù) 中的N卻沒有改變,導(dǎo)致最后查詢的信息不完整。2 .開始時(shí)沒有將主菜單單獨(dú)存到一個(gè)函數(shù)里面,這樣就無法一次運(yùn)行多個(gè)功 能,最后將主菜單單獨(dú)存到一個(gè)函數(shù)里以后,就可以在運(yùn)行完一個(gè)功能之

20、后, 重新選擇,這樣就可以在一次調(diào)試中,運(yùn)行所有的功能模塊,減少了很多麻煩。3 .第一次調(diào)試運(yùn)行時(shí),文件中沒有存儲(chǔ)任何的信息,所以每次進(jìn)入都必須先 要輸入一定量的數(shù)據(jù),然后才能進(jìn)行下面的操作,后來加以改善,先在文件中 存儲(chǔ)幾天的賬戶信息,這樣在運(yùn)行時(shí)就可以直接進(jìn)行查詢,修改,刪除等操作 了。4 .第一次檢查時(shí),由于對文件的操作不是很熟練,發(fā)現(xiàn)了添加的數(shù)據(jù)并沒有 存儲(chǔ)到文件之中,最后經(jīng)過修正,加入了一個(gè) fwrite將信息寫到了文件里。五.用戶手冊1、本程序的運(yùn)行環(huán)境為DOS操作系統(tǒng),執(zhí)行文件為fl.dsw;2、進(jìn)入演示程序后,即顯示對話形式的提示操作過程,如:請輸入用戶名和密碼,輸入正確后便進(jìn)

21、入菜單選擇請輸入你的選項(xiàng),輸入選項(xiàng)后,如果選項(xiàng)不存在,會(huì)提示你選項(xiàng)不存在,請重新選擇。輸入正確選項(xiàng)后,便會(huì)提示你輸入日期。如果進(jìn)入的是修改函數(shù),就會(huì)繼 續(xù)提示你輸入新的信息;如果進(jìn)入的時(shí)添加函數(shù),會(huì)讓你輸入新的賬戶信息; 如果進(jìn)入的是刪除函數(shù),再刪除完后會(huì)提示你刪除成功;如果進(jìn)入的時(shí)查詢函 數(shù),會(huì)輸出你要查詢的當(dāng)天賬戶信息;如果進(jìn)入的統(tǒng)計(jì)函數(shù),會(huì)提示你選擇將 要統(tǒng)計(jì)的信息。3、如果用戶不小心進(jìn)錯(cuò)了功能,可以輸入 0來返回主菜單,重新選擇。4、進(jìn)行完上面的操作之后,會(huì)提示用戶是否繼續(xù)運(yùn)行該程序來進(jìn)行其他的功能操作 按n或n '鍵stop或其它鍵繼續(xù)六.測試數(shù)據(jù)=請輸入用戶名和密碼:= 用

22、戶名:10201306密碼:i 恭喜輸入正確,登錄成功!1:修改信息2:刪除信息3:添加信息4:查詢信息5:統(tǒng)計(jì)信息a)請選擇:1請輸入您要修改得日期:2010 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請輸入您要?jiǎng)h除的日期:2010 1 10.返回主菜單1.刪除該天信息請選擇:1舊的信息為:2010 1

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

24、2 2000.000000收入2 200.000000支出2010 1 3 3000.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/npress any key to continued)請選擇:4請輸入您要查詢得日期

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

26、:f3()添加函數(shù):f4()查詢函數(shù):f5()統(tǒng)計(jì)函數(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 peo

27、SIZE;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);

28、peo0.out=100peo0.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=300 0;strcpy(peo2.motive,e3);peo2.out=300peo2.

29、leave=peo2.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("=個(gè)人賬戶管理軟 件=n");printf("=設(shè)計(jì)人:潘君宇 =n");printf("n");printf(

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

31、;);printf("= 該軟件中已存有20104三1月1號至IJ 3號的信息!=n");f7(); else(printf(" 輸入錯(cuò)誤,請重新輸 入!n");f2.cpp:#include"stdio.h"#include"stdlib.h"#include"string.h"#include"f2.h"#include"f3.h"#include"f4.h"#include"f5.h"#include"

32、;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,sizeof(structpeople),1

33、,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");printf("=1.修改該天信 息=n");printf("= = n");scanf("%d",

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

35、”,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");/修改收入金額printf("請輸入新的收入金額n");scanf("%f",&am

36、p;peon.get);printf("n");/修改支出目的printf("請輸入新的支出目的n");scanf("%s",peon.motive);printf("n");修改支出金額printf("請輸入新的支出金額n");scanf("%f",&peon.out);printf("n");peon.leave=peon.get-peon.out;printf(" 新的的信息為:n");printf(" 收入來源

37、 收入金額支出目的 支出金額余額n");printf("%5s”,peon.source);printf("%3f ”,peon.get);printf("%5s”,peon.motive);printf("%5f ”,peon.out);printf("%3fn",peon.leave);for(i=0;i<N;i+)if(fwrite(&peoi,sizeof(structpeople),1,fp)!=1)printf("無法打開!n"); exit(0);fclose(fp);brea

38、k;printf("是否繼續(xù) y y/nn");scanf("%s",&c);if(c='n'|c='N')exit(0);F3.cpp:#include"stdio.h"#include"stdlib.h"#include"string.h"#include"f2.h"#include"f3.h"#include"f4.h"#include"f5.h"#include&quo

39、t;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("無法找到該文件!n");exit(0);/*檢查是否有該信息*/for(i=0;i<N;i+)if(x=peoi.year&&y=peoi.month&&am

40、p;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))請重新輸入:

41、n");break;case 0:f7();case 1:fp=fopen("f:pan.txt","w+");printf("舊的信息為:n");for(i=0;i<N;i+)(printf(" 日期收入來源收入金額支出目的支出金額 余額n");printf("%d%d%d”,peoi.year,peoi.month,peoi.day);printf("%5s ",peoi.source);printf("%3f”,peoi.get);printf(&quo

42、t;%5s ",peoi.motive);printf("%5f ”,peoi.out);printf("%3f n",peoi.leave);for(i=n;i<N;i+)fscanf(fp,"%s",&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.mo

43、tive,peoi+1.motive);peoi.leave=peoi+1.leave;printf("刪除成功!n");N=N-1;for(i=0;i<N;i+)支出%2dprintf("日期收入來源收入金額目的支出金額 余額n"printf("%2d%2d”,peoi.year,peoi.month,peoi.day);printf("%5s",peoi.source);printf("%3f”,peoi.get);printf("%5s ",peoi.motive);printf(&

44、quot;%5f ”,peoi.out);printf("%3f n",peoi.leave);for(i=0;i<N;i+)if(fwrite(&peoi,sizeof(structpeople),1,fp)!=1)printf("無法打開!n");exit(0);fclose(fp);break;printf("是否繼續(xù) y y/n'n"); scanf("%s",&c);if(c='n'|c='N')exit(0);f4.cpp:#include&

45、quot;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"extern struct people peoSIZE;extern N;void f4()(int i,b,n;char c;FILE *fp;if(fp=fo

46、pen("f:pan.txt","a")=NULL)(printf(" 無法找到該文件!n");exit(0);for(;)(printf("= =n");printf("=0. 返回主 菜單=n");1.添加信printf("=n");printf(" =n");scanf("%d",&b);switch(b)無此選項(xiàng))請default:printf("重新輸入:n"); break;case 0:f7()

47、;case 1:/*進(jìn)入添加程序*/fp=fopen("f:pan.txt","rb");printf("舊的信息為:n");for(i=0;i<N;i+)printf("fread(&peoi,sizeof(structpeople),1,fp);日期 收入來源 收入金額 支出目的 支出金額余額n");printf("%2d%2d %2",peoi.year,peoi.month,peoi.day); printf("%5s”,peoi.source);printf(&

48、quot;%3f”,peoi.get);printf("%5s ”,peoi.motive);printf("%5f ”,peoi.out);printf("%3fn",peoi.leave);n=N;printf("請輸入新的信息日期:n");scanf("%d %d %d",&peon.year,&peon.mon th,&peon.day);printf("請輸入新的信息收入金額和收入來源:n");scanf("%f %s",&peon.

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

50、;%5s ”,peoi.source);”,peoi.get);printf("%5s”,peoi.out);printf("%3f”,peoi.motive);printf("%5fprintf("%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")

51、; scanf("%s",&c);i f(c='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,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;i<N;i+)if(x=peoi.year&&y=peoi.month&&z= peoi.day)(n=i;break;)if(i=N)(printf("

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論