




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、個人財務管理軟軟件報告目錄一、需求分析2TOC o 1-3 h z u HYPERLINK l _Toc271612942 二、概要設計2 HYPERLINK l _Toc271612943 三、詳細設計3 HYPERLINK l _Toc271612944 四、調試分析8 HYPERLINK l _Toc271612945 五、用戶手冊8 HYPERLINK l _Toc271612946 六、測試數據9 HYPERLINK l _Toc271612947 七、附錄111需求分析 1.首先先個人的財務務信息里包括括收支日期,收收入金額、支支出金額還有有收入和支出出的目的,還還有賬戶余額額。因
2、為是包包括多個信息息所以考慮到到用結構體數數組來儲存這這些信息,然然后再把這些些信息一起儲儲存到文件中中。該軟件需要有六六個功能,首首先是登錄功功能,必須輸輸入正確的用用戶名和密碼碼才能使用軟軟件。第二是是收支記錄的的管理,該部部分包括添加加功能,刪除除功能和修改改功能。第三三是查詢某天天或某月的收收支情況。第第四是統計一一段時間的信信息。后面的收支功能能,查詢功能能和統計功能能都是從文件件中讀取,讀讀取后存到結結構體數組中中,然后再進進行操作,操操作完后關閉閉文件,以免免信息丟失。當用戶名和密碼碼輸入錯誤,會會提示你輸入入錯誤,請重重新輸入。如果是操作過程程中輸入錯誤誤,會回到最最菜單重新操
3、操作。運行時用戶可以以根據提示進進行操作,每每進行一步操操作,就會有有相應的提示示。概要分析 1.程序中中存儲個人每每天的財務信信息用的是結結構體數組,其其中結構體中中包括:日期期(年月日),收收入金額,支支出金額,收收入目的。 structt peoppleint yeear; /年份int moonth; /月份int daay; /日期float get; /收入金金額float out; /支支出金額char mmotivee100; /支出目目的char ssourcee100;/收入來來源float leavee;/余額 2.本程程序各函數的的結構main函數 將將三天的賬戶戶信息
4、存儲到到文件中; 提提示用戶輸入入用戶名和密密碼,輸入正正確; 進進入f7();/菜單選選擇函數 sswitchh() 11.修改信息息; /ff2()函數數添加信息;/f3()函數刪除信息;/f4()函數查詢信息;/f5()函數統計信息;/f6()函數 3.各模塊塊的調用關系系 第一一層:maiin 函數 第第二層:f77(); 第三層:ff2() , f3(), ff4(), f5(), f66();調用時這些函數數都可以通過過f7()函函數來互相調調用。比如運運行完f2()函函數后,可以以調用f7(),然然后再調用ff3()函數數。 4.主函數數:添加信息息到文件中和和執行登錄功功能。
5、其他調調用函數分別別執行其他五五大功能。詳細設計基本數據類型操操作存儲每天賬戶信信息的數組結結構體struct peoplleint yeear;int moonth;int daay;float get;float out;char mmotivee100;char ssourcee100;float leavee; b)控制結結構體數目的的exterrn N剛開始運行該程程序時,N的的初始值為33,后來如果果進行添加操操作,則N的的值就會加11,反之如果果進行刪除操操作,則N的的值就會減11。 start流程圖 start maiin函數:int i,a,bint i,a,b i=0 i=
6、0iNiNny將信息存到文件中將信息存到文件中 i+ i+輸入用戶名和密碼輸入用戶名和密碼輸入正確輸入正確nF7()函數進入添加函數f4()進入刪除函數f3()進入修改函數f2()菜單選擇函數f7()yF7()函數進入添加函數f4()進入刪除函數f3()進入修改函數f2()菜單選擇函數f7()進入查詢函數f5() end進入查詢函數f5() end進入統計函數f6()進入統計函數f6()3、基本操作的的算法描述 a)登錄錄功能:用戶戶只有在輸入入正確的用戶戶名和密碼后后才能進入系系統進行操作作。 foor(;) prrintf(=請輸輸入用戶名和和密碼:=n);printtf(用戶戶名:);
7、scannf(%dd,&a); /aa表示用戶名名printtf(nn);printtf(密碼碼:); /b表表示密碼scanff(%d,&b);printtf(nn); iff(a=1102013306&bb=1) /輸入和和條件一致的的情況下進入入if語句中中 pprintff(=恭喜輸入正正確,登錄成成功!=n);prinntf(該該軟件中已存存有20100年1月1號號到3號的信信息!n); else /輸入和條件件不一致就進進入elsee語句prinntf(輸輸入錯誤,請請重新輸入!n); b)主主菜單功能:用戶可以自自行選擇要進進行的操作 printtf(=1:修改信信息=n); p
8、rinttf(=2:刪除信信息=n); priintf(=3:添添加信息=n); priintf(=4:查查詢信息=n); priintf(=5:統統計信息=n); priintf(請選擇:);/在屏幕幕上輸出,指指示用戶操作作 scaanf(%d,&fflag); /輸入用戶戶的選項并存存在flagg中 whiile( fflag != 0) swittch(fllag) deffault: prinntf(此此選項不存在在,請重新輸輸入:n);breeak; casse 1: f22(x,y,z); /進進入修改函數數 breaak; casse 2: f33(x,y,z); /進入入刪除
9、函數 breaak; casse 3: ff4();/進入添添加函數 breeak; casse 4: ff5(x,yy,z);/進入查查詢函數 breaak; ccase 55: f66(x,y,z,x1,y1,z11);/進入統統計函數 breaak; c)修改改功能:用戶戶如果覺得存存儲的信息有有問題,可以以在此進行修修改fp=fopeen(f:pann.txt,w+);for(i=00;iN;i+)freadd(&peooi,ssizeoff(struuct peeople),1,fpp);if(x=peoi.yeear&yy=peooi.mmonth&z=ppeoi.day) n=i
10、; /查查看是否有該該天的信息存存在 brreak;if(i=N)printtf(沒有有該天信息!n);printtf(請重重新選擇!n);f7();fread(&peoii,sizzeof(sstructt peopple),11,fp);/先從文文件中讀出printf(請輸入新新的收入來源源n); scaanf(%s,peeon.sourcce); printtf(請輸輸入新的收入入金額n); sscanf(%f,&peon.geet); printtf(請輸輸入新的支出出目的n); sscanf(%s,peonn.mottive); printtf(請輸輸入新的支出出金額n); ssca
11、nf(%f,&peon.ouut);peonn.leaave=peeon.get-ppeon.out;/輸入新新的信息 for(ii=0;iN;i+)iff(fwriite(&ppeoi,sizeeof(sttruct peoplle),1,fp)!=1)printtf(無法法打開!nn);exit(0);fcloose(fpp);/把把新的信息存存儲到文件當當中,并關閉閉文件 d) 刪除功能:用戶可以在在此刪除不需需要的信息 fp=foopen(f:ppan.txxt,ww+);/打開文件件 for(i=0;iNN;i+)freadd(&peooi,ssizeoff(struuct peeo
12、ple),1,fpp);if(x=peoi.yeear&yy=peooi.mmonth&z=ppeoi.day) n=i; /查查看是否有該該天的信息存存在 brreak;if(i=N)printtf(沒有有該天信息!n);printtf(請重重新選擇!n);for(i=nn;iN;i+)fscanff(fp,%s,&peoii);/將文件中的的信息存到數數組結構體里里strcpy(peoii.souurce,ppeoi+1.soource);peoii.yeaar=peooi+1.yearr;peoi.moonth=ppeoi+1.moonth;peoi.daay=peooi+1.day;
13、ppeoi.get=peoii+1.gget;peoi.out=ppeoi+1.ouut;strcpy(peoii.mottive,ppeoi+1.mootive); peoi.leeave=ppeoi+1.leeave;/用后面的的信息覆蓋前前面的信息N=N-1;/刪除后信信息減少一組組,所以N要要減1for(i=00;iN;i+)if(fwriite(&ppeoi,sizeeof(sttruct peoplle),1,fp)!=1)priintf(無法打開!n);exiit(0); fclosse(fp);/將現現有信息重新新存回到文件件中 e)添加功能:用戶可以在在此添加新的的賬戶信息f
14、p=fopeen(f:pann.txt,rb);/先先打開文件fread(&peoii,sizzeof(sstructt peopple),11,fp);/將文件件信息存到結結構體數組里里n=N; /添加到到結構體數組組的末尾printf(請輸入新新的信息日期期:n);scanf(%d %dd %d,&peon.yeear,&ppeon.montth,&peeon.day); printff(請輸入入新的信息收收入金額和收收入來源:n); scanf(%f %s,&ppeon.get,peonn.souurce); printff(請輸入入新的信息支支出金額和支支出目的:n); scanf(%
15、f %s,&ppeon.out,peonn.mottive); peon.leavve=peoon.gget-peeon.out; /輸入入新的信息到到結構體中 N=NN+1; /添添加了新的數數據所以N的的值加1 fp=fopenn(f:pan.txt,wb); for(i=0;iiN;i+)fwitte(&peeoi,sizeoof(strruct ppeoplee),1,ffp);fclosse(fp);/將新新的一組結構構體信息寫到到文件里 ff) 查詢詢功能:用戶戶可以在此查查詢以前存有有的賬戶信息息fopen(f:ppan.txxt,rr); for(i=0;iNN;i+)frea
16、ad(&peeoi,sizeoof(strruct ppeoplee),1,ffp);if(xx=peooi.yyear&y=peeoi.monthh&z=peoii.dayy) n=i; /查看看是否有該天天的信息存在在 bbreak;if(i=N)prinntf(沒沒有該天信息息!n);prinntf(請請重新選擇!n);f7();fread(&peonn,sizzeof(sstructt peopple),11,fp);/將數據據存到結構體體數組中printf(收入來源源 收收入金額 支出目目的 支出金額 余額n);printf(%5s ,peoon.ssourcee);printf(%
17、3f ,peon.geet);printf(%5s ,peonn.mottive);printf(%5f ,peeon.out);printf(%3f ,peeon.leavee);/輸輸出您要查詢詢的該天信息息 fclosse(fp); /關閉文件件防止信息丟丟失 g)統計功功能:用戶可可以在此統計計一段時間內內的收入金額額和支出金額額 forr(i=0;iN;ii+)freadd(&peooi,ssizeoff(struuct peeople),1,fpp);if(x=peoi.yeear&yy=peooi.mmonth&z=ppeoi.day) n=i; /查查看是否有該該天的信息存存在
18、 brreak;if(i=N)printtf(沒有有該天信息!n);printtf(請重重新選擇!n); forr(i=0;iN;ii+)freadd(&peooi,ssizeoff(struuct peeople),1,fpp);if(x11=peooi.yyear&y1=ppeoi.montth&z11=peooi.dday) m=i; /查查看是否有該該天的信息存存在 brreak;if(i=N)printtf(沒有有該天信息!n);printtf(請重重新選擇!n); 如果存在該段時時間信息,那那么統計收入入金額:if(nm) forr(i=n,sum=00;i=mm;i+) sum+
19、=peoii.gett; pprintff(%f,sum);fcloose(fpp); brreak;else forr(i=m,sum=00;i=nn;i+)summ+=peooi.gget; prrintf(%f,sum);fcloose(fpp);breaak;如果統計支出金金額,只需將將peoii.gett改為peooi.oout就行。 3、各各函數的調用用關系圖 maiin函數 f7()函數 f2()函函數 f3()函函數 f44()函數 f5()函數 f6()函函數 f7()函函數 調試分析開始時沒有將NN定義為全局局變量,導致致在添加函數數中N+1后后,其他函數數中的N卻沒沒有改
20、變,導導致最后查詢詢的信息不完完整。開始時沒有將主主菜單單獨存存到一個函數數里面,這樣樣就無法一次次運行多個功功能,最后將將主菜單單獨獨存到一個函函數里以后,就就可以在運行行完一個功能能之后,重新新選擇,這樣樣就可以在一一次調試中,運運行所有的功功能模塊,減減少了很多麻麻煩。第一次調試運行行時,文件中中沒有存儲任任何的信息,所所以每次進入入都必須先要要輸入一定量量的數據,然然后才能進行行下面的操作作,后來加以以改善,先在在文件中存儲儲幾天的賬戶戶信息,這樣樣在運行時就就可以直接進進行查詢,修修改,刪除等等操作了。第一次檢查時,由由于對文件的的操作不是很很熟練,發現現了添加的數數據并沒有存存儲到
21、文件之之中,最后經經過修正,加加入了一個ffwritee將信息寫到到了文件里。五用戶手冊 1、本程序的的運行環境為為DOS操作作系統,執行行文件為f11.dsw; 2、 進入演演示程序后,即即顯示對話形形式的提示操操作過程, 如:請輸入用用戶名和密碼碼,輸入正確確后便進入菜菜單選擇 請輸輸入你的選項項, 輸入選項后后,如果選項項不存在,會會提示你選項項不存在,請請重新選擇。 輸入入正確選項后后,便會提示示你輸入日期期。如果進入入的是修改函函數,就會繼繼續提示你輸輸入新的信息息;如果進入入的時添加函函數,會讓你你輸入新的賬賬戶信息;如如果進入的是是刪除函數,再再刪除完后會會提示你刪除除成功;如果
22、果進入的時查查詢函數,會會輸出你要查查詢的當天賬賬戶信息;如如果進入的統統計函數,會會提示你選擇擇將要統計的的信息。3、 如果用戶戶不小心進錯錯了功能,可可以輸入0來來返回主菜單單,重新選擇擇。4、進行完上面面的操作之后后,會提示用用戶是否繼續續運行該程序序來進行其他他的功能操作作 按n或N鍵 stop或其其它鍵繼續六測試數據 =請輸輸入用戶名和和密碼:= 用用戶名:1002013006密碼:1恭喜輸入正確,登登錄成功!1:修改信息 2:刪除信信息3:添加加信息 4:查詢信息 5:統計信信息 a)請請選擇:1 請輸入入您要修改得得日期:20010 1 1 0.返返回主菜單 1.修修改該天信息息
23、 請選擇擇 1 舊舊的信息為:2010 1 1 11000.00000000 收入1 100.00000000 支出1 請輸入入新的信息:收入金額 1100 收入來源 aaa 支支出金額 2200 支出出目的 bbbb。修改成功!新的信息為 22010 11 1 11100.0000000 aaa 2200.000000000 bbb b)請請選擇:2 請輸入入您要刪除的的日期:20010 1 1 0.返返回主菜單 1.刪除該天天信息請選擇:1 舊舊的信息為: 20010 1 1 10000.0000000 收收入1 1000.0000000 支支出1 2010 1 2 22000.00000
24、000 收入2 200.00000000 支出2 22010 11 3 30000.0000000 收入3 3300.0000000 支出3 刪除成功!新的信息為: 20110 1 22 20000.0000000 收入入2 2000.0000000 支出出2 22010 11 3 30000.0000000 收入3 3300.0000000 支出3 是否繼續續 y/n nn ppress any kkey too conttinue cc)請選擇:3 0.返回主菜單單 1.添加一一天的賬戶信信息請選擇:1舊的信息為: 22010 11 1 10000.0000000 收入1 1100.000
25、0000 支出1 2010 1 2 22000.00000000 收入2 200.00000000 支出2 22010 11 3 30000.0000000 收入3 3300.0000000 支出3 請輸入新的信息息:20100 1 4 40000 收入4 400 支支出4添加成功!新的信息為:22010 11 1 10000.0000000 收入1 1100.0000000 支出1 2010 1 2 22000.00000000 收入2 200.00000000 支出2 22010 11 3 30000.0000000 收入3 3300.0000000 支出3 22010 11 4 4000
26、0.0000000 收入4 4400.0000000 支出4 是否繼繼續 y/nn nn ppress any kkey too conttinued)請選擇:44 請輸輸入您要查詢詢得日期:22010 11 1 0.返返回主菜單 1.查查詢該天信息息 請選擇擇 12010 1 1 10000.0000000 收收入1 1000.0000000 支支出1 是否繼續續 y/n nn ppress any kkey too conttinue e)請選選擇: 5 請輸入你要統計計的兩個日期期:20100 1 1 2010 1 3 0.返返回主菜單 1.統統計該段時間間的收入金額額統計該段時間的的支
27、出金額統計該段時間的的余額 請選擇擇 1. 60000.0000000 22. 6600.0000000 3. 55400.00000000是否繼續 y/n n prress aany keey to contiinue七附錄 1、源程序序函數清單 主函數:ff1() 修改函數:f2()刪除函數:f33()添加函數:f44()查詢函數:f55()統計函數:f66()主菜單函數:ff7() 2、源程序序代碼 f1.cpp: #inncludeestdiio.h#includdestddlib.hh#includdestrring.hh#includdef2.h#includdef3.h#incl
28、uddef4.h#includdef5.h#includdef6.h#includdef7.hstruct peoplle peooSIZEE;int N=33;void maain() int i,a,b; char d1100=收入入1,d2210=收入2,d3110=收收入3,ee110=支出1,e2210=支出2,e3110=支支出3; FILE *fp; /*輸入三三天的賬戶信信息*/ peo0.yeear=20010;peeo0.monthh=1;peeo0.day=11; strcppy(peoo0.ssourcee,d1);peo0.geet=10000; strcppy(pe
29、oo0.mmotivee,e1);peo00.outt=100; peo00.leaave=peeo0.get-ppeo0.out; peo11.yeaar=20110;peoo1.mmonth=1;peoo1.dday=2; strcppy(peoo1.ssourcee,d2);peo11.gett=20000;strcpy(peo11.mottive,ee2);peeo1.out=2200;peo1.leavee=peo1.geet-peoo1.oout; peo22.yeaar=20110;peoo2.mmonth=1;peoo2.dday=3; strcppy(peoo2.ssourc
30、ee,d3);peo22.gett=30000; strcppy(peoo2.mmotivee,e3);peo22.outt=300; peo22.leaave=peeo2.get-ppeo2.out;/*把數據寫入入文件*/ fp=fopenn(f:pan.txt,w);for(i=0;iNN;i+)if(ffwritee(&peooi,ssizeoff(struuct peeople),1,fpp)!=1)priintf(無法打開!n);exiit(0); fcloose(fpp);/*菜單選擇功功能*/ printtf(=個人人賬戶管理軟軟件=n); printtf(=設計計人:潘君宇宇
31、=nn); printtf(nn); printtf(nn); printtf(請登登錄:n); for(;) pprintff(=請請輸入用戶名名和密碼:=nn);prinntf(用用戶名:); scanff(%d,&a);prinntf(n);prinntf(密密碼:);scannf(%dd,&b);prinntf(n); iif(a=102011306&b=1) pprintff(=恭喜輸入正正確,登錄成成功!=n);prinntf(=該軟件中已已存有20110年1月11號到3號的的信息!=n); f7(); elseepriintf(輸入錯誤,請請重新輸入!n); f2.cppp:#i
32、ncluddestddio.h#includdestddlib.hh#includdestrring.hh#includdef2.h#includdef3.h#includdef4.h#includdef5.h#includdef6.h#includdef7.hextern strucct peoople ppeoSIIZE;extern N;void f22(int x,intt y,innt z)int b,i,n,fflag=11;char cc;FILE *fp;/*檢查信息*/if(fpp=fopeen(f:pann.txt,r)=NUULL)printtf(無法法找到該文件件!n)
33、;exit(0);/*檢查是否否有該信息*/for(i=0;iNN;i+)freadd(&peooi,ssizeoff(struuct peeople),1,fpp);if(x=peoi.yeear&yy=peooi.mmonth&z=ppeoi.day)n=i;breakk;if(i=N)printtf(沒有有該天信息!n);printtf(請重重新選擇!n);f7(); /*進入修改程程序*/ forr(;)printtf(=請請選擇:=n);printtf(=0.返返回主菜單=n);printtf(=1.修修改該天信息息=n);printtf(= n);scanff(%d,&b); ss
34、witchh(b) defaault:pprintff(無此選選項,請重新新輸入:nn); bbreak;case 0:f7(); caase 1:/修改改收入來源fp=ffopen(f:pan.ttxt,w+);freaad(&peeoi,sizeoof(strruct ppeoplee),1,ffp);prinntf(舊舊的信息為:n);prinntf(收收入來源 收入金金額 支出目的 支出出金額 余額n);prinntf(%5s ,peonn.souurce);prinntf(%3f ,ppeon.get);prinntf(%5s ,peeon.motivve);prinntf(%5f
35、,peon.ouut);prinntf(%3f n,peeon.leavee); ffscanff(fp,%s,&peonn);prinntf(請請輸入新的收收入來源nn); sccanf(%s,ppeon.sourrce);prinntf(n); /修改收入入金額prinntf(請請輸入新的收收入金額nn); sccanf(%f,&peonn.gett);prinntf(n);/修改改支出目的prinntf(請請輸入新的支支出目的nn); sccanf(%s,ppeon.motiive);prinntf(n);/修改改支出金額prinntf(請請輸入新的支支出金額nn); sccanf(%f
36、,&peonn.outt);prinntf(n);peon.leeave=ppeon.get-peonn.outt;prinntf(新新的的信息為為:n);prinntf(收收入來源 收入金金額 支出目的 支出出金額 余額n);prinntf(%5s ,ppeon.sourrce);prinntf(%3f ,ppeon.get);prinntf(%5s ,ppeon.motiive);prinntf(%5f ,ppeon.out);prinntf(%3f n,peonn.leaave);for(i=0;iiN;i+)iff(fwriite(&ppeoi,sizeeof(sttruct peop
37、lle),1,fp)!=1)printtf(無法法打開!nn);exit(0);fcloose(fpp); breeak; printtf(是否否繼續?y/nn); scanff(%s,&c); if(c=n|c=N) exit(0);F3.cpp:#includdestddio.h#includdestddlib.hh#includdestrring.hh#includdef2.h#includdef3.h#includdef4.h#includdef5.h#includdef6.h#includdef7.hextern strucct peoople ppeoSIIZE;void f33(
38、int x,intt y,innt z)int b,i,n,fflag=11;externn N;char cc;FILE *fp;if(fpp=fopeen(f:pann.txt,r)=NULLL)printtf(無法法找到該文件件!n);exit(0);/*檢查是否否有該信息*/for(i=0;iNN;i+)if(x=peoi.yeear&yy=peooi.mmonth&z=ppeoi.day) n=i; bbreak;if(i=N)printtf(沒有有該天信息!n);printtf(請重重新選擇!n);f7(); /*進進入刪除程序序*/ forr(;) printtf(=請請選擇:=
39、n);prinntf(=0.返返回主菜單=n); printtf(=1.刪除除該天信息=n);prinntf(=n); scanff(%d,&b);swittch(b)deffault:printtf(無此此選項,請重重新輸入:n);bbreak;casse 0: f7(); case 1:fpp=fopeen(f:pann.txt,w+);prrintf(舊的信息息為:n); foor(i=00;iN;i+) prinntf(日日期 收入來源 收入入金額 支出目的的 支支出金額 余額nn); printtf(%dd %d %d ,ppeoi.yearr,peoi.moonth,ppeoi.d
40、ay); printtf(%55s ,ppeoi.sourrce); prinntf(%3f ,ppeoi.get); prinntf(%5s ,peeoi.motivve); prinntf(%5f ,peoi.ouut); prinntf(%3f n,peeoi.leavee);foor(i=nn;iN;i+)ffscanff(fp,%s,&peoii); strcppy(peooi.ssourcee,peoi+1.sourcce);ppeoi.yearr=peoi+1.year;ppeoi.montth=peooi+1.montth;ppeoi.day=peoii+1.dday; pee
41、oi.get=ppeoi+1.geet;ppeoi.out=peoii+1.oout; strcppy(peooi.mmotivee,peoi+1.motivve);ppeoi.leavve=peooi+1.leavve; prinntf(刪刪除成功!n);N=N-1;for(i=0;iNN;i+)printtf(日期期 收入來源源 收入金額額 支出目的的 支出金額額 余額nprinttf(%22d %22d %2dd ,peeoi.year,peoii.monnth,peeoi.day);printtf(%55s ,peeoi.sourcce);printf(%3f ,peoi.geet);
42、printtf(%55s ,peeoi.motivve);printtf(%55f ,peeoi.out);printf(%3f nn,peooi.lleave);foor(i=00;iN;i+)iif(fwrrite(&peoii,sizzeof(sstructt peopple),11,fp)!=1)printtf(無法法打開!nn);exit(0);fcclose(fp);brreak; printtf(是否否繼續?y/nn); scanff(%s,&c); if(c=n|c=N) exit(0); f4.cpp:#includdestddio.h#includdestddlib.hh#
43、includdestrring.hh#includdef2.h#includdef3.h#includdef4.h#includdef5.h#includdef6.h#includdef7.hextern strucct peoople ppeoSIIZE;extern N;void f44()int i,b,n;char cc;FILE *fp;if(fpp=fopeen(f:pann.txt,a)=NULLL)printtf(無法法找到該文件件!n);exit(0);for(;)printtf(=nn);printtf(=0.返回主主菜單=nn); prrintf(=1.添加信息=n);p
44、rinttf(=nn); sccanf(%d,&b); swwitch(b) defauult:prrintf(無此選項項,請重新輸輸入:n);breakk;casee 0:f7(); case 1: /*進入入添加程序*/fp=fopenn(f:pan.txt,rb);priintf(舊的信息為為:n);forr(i=0;iN;ii+)freead(&ppeoi,sizeeof(sttruct peoplle),1,fp); pprintff(日期 收入來源 收入金額 支出目的 支出金額 余額n);printtf(%22d %22d %2dd ,peeoi.year,peoii.monnth
45、,peeoi.day);priintf(%5s ,peoii.souurce);priintf(%3f ,peoii.gett); printtf(%55s ,peeoi.motivve);priintf(%5f ,peoii.outt);priintf(%3f n,peoi.leeave);n=NN; pprintff(請輸入入新的信息日日期:n); sscanf(%d %d %d,&peoon.yyear,&peonn.monnth,&ppeon.day); pprintff(請輸入入新的信息收收入金額和收收入來源:n); sscanf(%f %s,&ppeon.get,peonn.sou
46、urce); pprintff(請輸入入新的信息支支出金額和支支出目的:n); scanff(%f %s,&peonn.outt,peon.mootive); peonn.leaave=peeon.get-ppeon.out;N=NN+1;priintf(=現在在的信息:=n);forr(i=0;iN;ii+)priintf(日期 收入入來源 收入入金額 支出出目的 支出出金額 余額額n);printtf(%22d %22d %2dd ,peeoi.year,peoii.monnth,peeoi.day);priintf(%5s ,peoii.souurce);prrintf(%3f ,peo
47、i.geet);printtf(%55s ,peeoi.motivve);priintf(%5f ,peoii.outt);priintf(%3f n,peoi.leeave); fp=fopenn(f:pan.txt,wb);forr(i=0;iN;ii+)fwwrite(&peoi,siizeof(strucct peoople),1,fp);fcllose(ffp);breeak; prrintf(是否繼續續?y/nn); sccanf(%s,&c); iff(c=n|cc=N) eexit(00);f5.cpp:#includdestddlib.hh#includdestrring.h
48、h#includdef2.h#includdef3.h#includdef4.h#includdef5.h#includdef6.h#includdef7.hextern strucct peoople ppeoSIIZE;extern N;void f55(int x,intt y,innt z)int b,i,n;char cc;FILE *fp;if(fpp=fopeen(f:pann.txt,r)=NULLL)printtf(無法法找到該文件件!n);exit(0);/*檢查是否否有該信息*/for(i=0;iNN;i+)if(x=peoi.yeear&yy=peooi.mmonth&
49、z=ppeoi.day) n=i; bbreak;if(i=N)printtf(沒有有該天信息!n);printtf(請重重新選擇!n);f7();/*進入查詢詢程序*/ forr(;) pprintff(=請選擇=n);prinntf(=00.返回主菜菜單=n); pprintff(=1.查查詢該天信息息=nn);prinntf(=n); sscanf(%d,&b); sswitchh(b)freead(&ppeon,sizeeof(sttruct peoplle),1,fp); defauult:prrintf(無此選項項,請重新輸輸入:n); breakk;casse 0:f77();
50、case 1:prrintf(收入來源源 收入金額額 支出目的的 支出金額額 余額nn);prrintf(%5s ,peoon.ssourcee);prrintf(%3f ,peon.geet);prrintf(%5s ,peonn.mottive);prrintf(%5f ,peeon.out);prrintf(%3f ,peeon.leavee); breakk; pprintff(是否繼繼續?y/nnn); sscanf(%s,&c); iif(c=n|c=NN) exit(0); fcclose(fp);F6.cpp:#includdestddio.h#includdestddlib.
51、hh#includdestrring.hh#includdef2.h#includdef3.h#includdef4.h#includdef5.h#includdef6.h#includdef7.hextern strucct peoople ppeoSIIZE;extern N;void f66(int x,intt y,innt z,iint x11,int y1,innt z1)int b,i,n,mm,flagg=1;float sum;char cc;FILE *fp;if(fpp=fopeen(f:pann.txt,r)=NULLL)printtf(無法法找到該文件件!n);exit(0); /*檢查查是否有該信信息*/for(i=0;iNN;i+)if(x=peoi.yeear&yy=peooi.mmonth&z=ppeoi.day) nn=i; breakk;if(i=N)printtf(沒有有該段時間信信息!n);printtf(請重重新選擇!n);f7();for(i=0;iNN;i+) iif(x1=peoi.yeear&yy1=peeoi.monthh&z1=peoi.daay) m=i; breaak;if(i=N)printtf(沒有有該段時間信信息!n);printtf(請重重新選擇!n);f7();/*進入統計計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級知識競賽的組織方式計劃
- 保健加盟合同樣本
- 2025實木家具定制合同范本
- 債務重組協議合同標準文本
- 兼職做飯合同標準文本
- 2025年工程建設項目招標代理合同協議書范本
- 倉庫安全合同樣本
- 個人拆遷合同樣本
- 年度目標與工作計劃的對接
- 與燈飾合作合同樣本
- 酒店服務流程規范化手冊
- 中國慢性阻塞性肺疾病基層診療指南(2024年)解讀
- 《中華人民共和國學前教育法》專題培訓
- 2024年微生物在化妝品中的作用及其重要性
- 2024年視角下的地球形狀教案創新探討
- 地方導游基礎知識電子教案 專題六 學習情境一 重慶市課時教案
- 高中語文課件:成語
- 學校職稱評審工作自查報告
- 中醫適宜技術-中藥熱奄包
- 部編版 高中語文 選擇性必修下 第四單元 自然選擇的證明課件
- 陽光體育與我同行
評論
0/150
提交評論