版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Evaluation Warning: The document was created with Spire.Doc for .NET.個(gè)人財(cái)務(wù)管管理軟件件報(bào)告目錄一、需求分分析2TOC o 1-3 h z u2388911需求分析 1.首先個(gè)個(gè)人的財(cái)財(cái)務(wù)信息息里包括括收支日日期,收收入金額額、支出出金額還還有收入入和支出出的目的的,還有有賬戶余余額。因因?yàn)槭前ǘ鄠€(gè)個(gè)信息所所以考慮慮到用結(jié)結(jié)構(gòu)體數(shù)數(shù)組來儲(chǔ)儲(chǔ)存這些些信息,然然后再把把這些信信息一起起儲(chǔ)存到到文件中中。該軟件需要要有六個(gè)個(gè)功能,首首先是登登錄功能能,必須須輸入正正確的用用戶名和和密碼才才能使用用軟件。第第二是收收支記錄錄的管
2、理理,該部部分包括括添加功功能,刪刪除功能能和修改改功能。第第三是查查詢某天天或某月月的收支支情況。第第四是統(tǒng)統(tǒng)計(jì)一段段時(shí)間的的信息。后面的收支支功能,查查詢功能能和統(tǒng)計(jì)計(jì)功能都都是從文文件中讀讀取,讀讀取后存存到結(jié)構(gòu)構(gòu)體數(shù)組組中,然然后再進(jìn)進(jìn)行操作作,操作作完后關(guān)關(guān)閉文件件,以免免信息丟丟失。當(dāng)用戶名和和密碼輸輸入錯(cuò)誤誤,會(huì)提提示你輸輸入錯(cuò)誤誤,請(qǐng)重重新輸入入。如果是操作作過程中中輸入錯(cuò)錯(cuò)誤,會(huì)會(huì)回到最最菜單重重新操作作。運(yùn)行時(shí)用戶戶可以根根據(jù)提示示進(jìn)行操操作,每每進(jìn)行一一步操作作,就會(huì)會(huì)有相應(yīng)應(yīng)的提示示。概要分析 1.程程序中存存儲(chǔ)個(gè)人人每天的的財(cái)務(wù)信信息用的的是結(jié)構(gòu)構(gòu)體數(shù)組組,其中中結(jié)構(gòu)
3、體體中包括括:日期期(年月月日),收收入金額額,支出出金額,收收入目的的。 struuct peoopleeint yeaar; /年年份int monnth; /月月份int dayy; /日期floaat gget; /收收入金額額floaat oout; /支出金金額charr mootivve1100; /支支出目的的charr soourcce1100;/收收入來源源floaat lleavve;/余余額 2.本程序序各函數(shù)數(shù)的結(jié)構(gòu)構(gòu)main函函數(shù) 將三三天的賬賬戶信息息存儲(chǔ)到到文件中中; 提示示用戶輸輸入用戶戶名和密密碼,輸輸入正確確; 進(jìn)入入f7();/菜菜單選擇擇函數(shù) swwi
4、tcch() 1.修修改信息息; /f2()函數(shù)數(shù)添加信息;/ff3()函數(shù)刪除信息;/ff4()函數(shù)查詢信息;/ff5()函數(shù)統(tǒng)計(jì)信息;/ff6()函數(shù) 3.各各模塊的的調(diào)用關(guān)關(guān)系 第一層層:maain 函數(shù) 第二二層:ff7(); 第三層層:f22() , f3(), f44(), ff5(), f6();調(diào)用時(shí)這些些函數(shù)都都可以通通過f77()函函數(shù)來互互相調(diào)用用。比如如運(yùn)行完完f2()函函數(shù)后,可可以調(diào)用用f7(),然然后再調(diào)調(diào)用f33()函函數(shù)。 4.主主函數(shù):添加信信息到文文件中和和執(zhí)行登登錄功能能。 其其他調(diào)用用函數(shù)分分別執(zhí)行行其他五五大功能能。詳細(xì)設(shè)計(jì)基本數(shù)據(jù)類類型操作作存儲(chǔ)每
5、天賬賬戶信息息的數(shù)組組結(jié)構(gòu)體體strucct ppeoppleint yeaar;int monnth;int dayy;floaat gget;floaat oout;charr mootivve1100;charr soourcce1100;floaat lleavve; bb)控制制結(jié)構(gòu)體體數(shù)目的的extternn N剛開始運(yùn)行行該程序序時(shí),NN的初始始值為33,后來來如果進(jìn)進(jìn)行添加加操作,則則N的值值就會(huì)加加1,反反之如果果進(jìn)行刪刪除操作作,則NN的值就就會(huì)減11。 start start mmainn函數(shù):int i,a,bint i,a,b i=0 i=0iNiNny將信息存到文件
6、中將信息存到文件中 i+ i+輸入用戶名和密碼輸入用戶名和密碼輸入正確輸入正確nF7()函數(shù)進(jìn)入添加函數(shù)f4()進(jìn)入刪除函數(shù)f3()進(jìn)入修改函數(shù)f2()菜單選擇函數(shù)f7()yF7()函數(shù)進(jìn)入添加函數(shù)f4()進(jìn)入刪除函數(shù)f3()進(jìn)入修改函數(shù)f2()菜單選擇函數(shù)f7()進(jìn)入查詢函數(shù)f5() end進(jìn)入查詢函數(shù)f5() end進(jìn)入統(tǒng)計(jì)函數(shù)f6()進(jìn)入統(tǒng)計(jì)函數(shù)f6()3、基本操操作的算算法描述述 a)登錄功功能:用用戶只有有在輸入入正確的的用戶名名和密碼碼后才能能進(jìn)入系系統(tǒng)進(jìn)行行操作。 forr(;) priintff(=請(qǐng)請(qǐng)輸入用用戶名和和密碼:=n);priintff(用用戶名:); scaanf
7、(%dd,&a); /a表表示用戶戶名priintff(n);priintff(密密碼:); /b表示示密碼scaanf(%dd,&b);priintff(n); if(a=1022013306&b=1) /輸入和和條件一一致的情情況下進(jìn)進(jìn)入iff語句中中 prrinttf(=恭喜喜輸入正正確,登登錄成功功!=n);prrinttf(該軟件件中已存存有20010年年1月11號(hào)到33號(hào)的信信息!n); elsse /輸入入和條件件不一致致就進(jìn)入入elsse語句句prrinttf(輸入錯(cuò)錯(cuò)誤,請(qǐng)請(qǐng)重新輸輸入!n); bb)主菜菜單功能能:用戶戶可以自自行選擇擇要進(jìn)行行的操作作 prrinttf(=
8、1:修改信信息=nn); prrinttf(=2:刪除信信息=nn); prrinttf(=3:添加信信息=nn); prrinttf(=4:查詢信信息=nn); prrinttf(=5:統(tǒng)計(jì)信信息=nn); prrinttf(請(qǐng)選擇擇:);/在在屏幕上上輸出,指指示用戶戶操作 sccanff(%d,&fllag); /輸輸入用戶戶的選項(xiàng)項(xiàng)并存在在flaag中 whhilee( fflagg != 0) swiitchh(fllag) deefauult: prrinttf(此選項(xiàng)項(xiàng)不存在在,請(qǐng)重重新輸入入:nn);breeak; caase 1: f2(x,yy,z); /進(jìn)進(jìn)入修改改函數(shù)
9、breeak; caase 2: f3(x,yy,z); /進(jìn)入刪刪除函數(shù)數(shù) breeak; caase 3: f4();/進(jìn)進(jìn)入添加加函數(shù) brreakk; caase 4: f5(x,yy,z);/進(jìn)進(jìn)入查詢?cè)兒瘮?shù) breeak; caase 5: f6(x,yy,z,x1,y1,z1);/進(jìn)進(jìn)入統(tǒng)計(jì)計(jì)函數(shù) breeak; c)修改功功能:用用戶如果果覺得存存儲(chǔ)的信信息有問問題,可可以在此此進(jìn)行修修改fp=foopenn(ff:pann.txxt,w+);for(ii=0;iNN;i+)freead(&peeoii,ssizeeof(strructt peeoplle),1,ffp);if
10、(x=peooi.yeear&y=peeoii.mmontth&z=peooi.daay) nn=i; /查看是是否有該該天的信信息存在在 breeak;if(ii=NN)priintff(沒沒有該天天信息!n);priintff(請(qǐng)請(qǐng)重新選選擇!n);f7();freadd(&ppeoi,sizzeoff(sttrucct ppeopple),1,fp);/先從文文件中讀讀出printtf(請(qǐng)輸入入新的收收入來源源n); sccanff(%s,peoon.soourcce); pprinntf(請(qǐng)輸輸入新的的收入金金額nn); sscannf(%f,&ppeon.gett); pprinnt
11、f(請(qǐng)輸輸入新的的支出目目的nn); sscannf(%s,peeonn.mmotiive); priintff(請(qǐng)請(qǐng)輸入新新的支出出金額n); scaanf(%ff,&peoon.ouut);peoon.leeavee=peeonn.gget-peoon.ouut;/輸入入新的信信息 ffor(i=00;iN;ii+)if(fwrritee(&ppeoi,sizzeoff(sttrucct ppeopple),1,fp)!=11)priintff(無無法打開開!nn);exiit(00);fcclosse(ffp);/把把新的信信息存儲(chǔ)儲(chǔ)到文件件當(dāng)中,并并關(guān)閉文文件 dd) 刪刪除功能能:用
12、戶戶可以在在此刪除除不需要要的信息息 ffp=ffopeen(f:paan.ttxt,ww+);/打開文文件 for(i=00;iN;ii+)freead(&peeoii,ssizeeof(strructt peeoplle),1,ffp);if(x=peooi.yeear&y=peeoii.mmontth&z=peooi.daay) nn=i; /查看是是否有該該天的信信息存在在 breeak;if(ii=NN)priintff(沒沒有該天天信息!n);priintff(請(qǐng)請(qǐng)重新選選擇!n);for(ii=n;iNN;i+)fscaanf(fp,%ss,&peooi);/將文文件中的的信息存
13、存到數(shù)組組結(jié)構(gòu)體體里strcppy(ppeoi.souurcee,peeoii+1.soourcce);peooi.yeear=peooi+1.yeaar;peeoii.mmontth=ppeoi+11.mmontth;peeoii.dday=peooi+1.dayy; peooi.geet=ppeoi+11.gget;peoii.oout=peooi+1.outt;strcppy(ppeoi.mottivee,peeoii+1.mootivve); peeoii.lleavve=ppeoi+11.lleavve;/用后后面的信信息覆蓋蓋前面的的信息N=N-11;/刪除后后信息減減少一組組,所
14、以以N要減減1for(ii=0;iNN;i+)if(fwwritte(&peooi,siizeoof(sstruuct peooplee),11,fpp)!=1)pprinntf(無法法打開!n);eexitt(0); fcllosee(fpp);/將現(xiàn)現(xiàn)有信息息重新存存回到文文件中 e)添添加功能能:用戶戶可以在在此添加加新的賬賬戶信息息fp=foopenn(ff:pann.txxt,rbb);/先先打開文文件freadd(&ppeoi,sizzeoff(sttrucct ppeopple),1,fp);/將文件件信息存存到結(jié)構(gòu)構(gòu)體數(shù)組組里n=N; /添加到到結(jié)構(gòu)體體數(shù)組的的末尾printt
15、f(請(qǐng)輸入入新的信信息日期期:nn);scanff(%d %d %d,&peeonn.yyearr,&ppeon.monnth,&peeonn.dday); prinntf(請(qǐng)輸輸入新的的信息收收入金額額和收入入來源:n); scannf(%f %s,&ppeon.gett,peeonn.ssourrce); prinntf(請(qǐng)輸輸入新的的信息支支出金額額和支出出目的:n); scannf(%f %s,&ppeon.outt,peeonn.mmotiive); peon.leaave=peoon.geet-ppeon.outt; /輸輸入新的的信息到到結(jié)構(gòu)體體中 N=N+11; /添添加了新新
16、的數(shù)據(jù)據(jù)所以NN的值加加1 fpp=foopenn(ff:pann.txxt,wbb); foor(ii=0;iNN;i+)fwwitee(&ppeoi,sizzeoff(sttrucct ppeopple),1,fp);fcllosee(fpp);/將新新的一組組結(jié)構(gòu)體體信息寫寫到文件件里 f) 查查詢功能能:用戶戶可以在在此查詢?cè)円郧按娲嬗械馁~賬戶信息息fopenn(ff:pann.txxt,r); for(i=00;iN;ii+)frreadd(&ppeoi,sizzeoff(sttrucct ppeopple),1,fp);iff(x=peeoii.yyearr&yy=ppeoi.mo
17、nnth&z=peeoii.dday) n=ii; /查看看是否有有該天的的信息存存在 brreakk;if(i=N)prrinttf(沒有該該天信息息!nn);prrinttf(請(qǐng)重新新選擇!n);f77();freadd(&ppeon,sizzeoff(sttrucct ppeopple),1,fp);/將數(shù)據(jù)據(jù)存到結(jié)結(jié)構(gòu)體數(shù)數(shù)組中printtf(收入來來源 收收入金額額 支出出目的 支出金金額 余額額n);printtf(%5ss ,ppeon.souurcee);printtf(%3ff ,peeonn.gget);printtf(%5ss ,peoon.mootivve);print
18、tf(%5ff ,peeonn.oout);printtf(%3ff ,peeonn.lleavve);/輸輸出您要要查詢的的該天信信息 fcclosse(ffp); /關(guān)關(guān)閉文件件防止信信息丟失失 gg)統(tǒng)計(jì)計(jì)功能:用戶可可以在此此統(tǒng)計(jì)一一段時(shí)間間內(nèi)的收收入金額額和支出出金額 foor(ii=0;iNN;i+)freead(&peeoii,ssizeeof(strructt peeoplle),1,ffp);if(x=peooi.yeear&y=peeoii.mmontth&z=peooi.daay) nn=i; /查看是是否有該該天的信信息存在在 breeak;if(ii=NN)priin
19、tff(沒沒有該天天信息!n);priintff(請(qǐng)請(qǐng)重新選選擇!n); ffor(i=00;iN;ii+)freead(&peeoii,ssizeeof(strructt peeoplle),1,ffp);if(x1=peeoii.yyearr&yy1=peooi.moonthh&zz1=peooi.daay) mm=i; /查看是是否有該該天的信信息存在在 breeak;if(ii=NN)priintff(沒沒有該天天信息!n);priintff(請(qǐng)請(qǐng)重新選選擇!n); 如果存在該該段時(shí)間間信息,那那么統(tǒng)計(jì)計(jì)收入金金額:if(nm) ffor(i=nn,suum=00;i=m;i+) su
20、mm+=ppeoi.gett; priintff(%f,summ);fcclosse(ffp); breeak;elsee ffor(i=mm,suum=00;i=n;i+)ssum+=peeoii.gget; priintff(%f,summ);fcclosse(ffp);brreakk;如果統(tǒng)計(jì)支支出金額額,只需需將peeoii.gget改改為peeoii.oout就就行。 33、各函函數(shù)的調(diào)調(diào)用關(guān)系系圖 maiin函數(shù)數(shù) f7()函函數(shù) f22()函函數(shù) ff3()函數(shù) f44()函函數(shù) f5()函數(shù)數(shù) f6()函數(shù)數(shù) f7()函函數(shù) 調(diào)試分析開始時(shí)沒有有將N定定義為全全局變量量,導(dǎo)致致
21、在添加加函數(shù)中中N+11后,其其他函數(shù)數(shù)中的NN卻沒有有改變,導(dǎo)導(dǎo)致最后后查詢的的信息不不完整。開始時(shí)沒有有將主菜菜單單獨(dú)獨(dú)存到一一個(gè)函數(shù)數(shù)里面,這這樣就無無法一次次運(yùn)行多多個(gè)功能能,最后后將主菜菜單單獨(dú)獨(dú)存到一一個(gè)函數(shù)數(shù)里以后后,就可可以在運(yùn)運(yùn)行完一一個(gè)功能能之后,重重新選擇擇,這樣樣就可以以在一次次調(diào)試中中,運(yùn)行行所有的的功能模模塊,減減少了很很多麻煩煩。第一次調(diào)試試運(yùn)行時(shí)時(shí),文件件中沒有有存儲(chǔ)任任何的信信息,所所以每次次進(jìn)入都都必須先先要輸入入一定量量的數(shù)據(jù)據(jù),然后后才能進(jìn)進(jìn)行下面面的操作作,后來來加以改改善,先先在文件件中存儲(chǔ)儲(chǔ)幾天的的賬戶信信息,這這樣在運(yùn)運(yùn)行時(shí)就就可以直直接進(jìn)行行查
22、詢,修修改,刪刪除等操操作了。第一次檢查查時(shí),由由于對(duì)文文件的操操作不是是很熟練練,發(fā)現(xiàn)現(xiàn)了添加加的數(shù)據(jù)據(jù)并沒有有存儲(chǔ)到到文件之之中,最最后經(jīng)過過修正,加加入了一一個(gè)fwwritte將信信息寫到到了文件件里。五用戶手手冊(cè) 1、本程程序的運(yùn)運(yùn)行環(huán)境境為DOOS操作作系統(tǒng),執(zhí)執(zhí)行文件件為f11.dssw; 2、 進(jìn)進(jìn)入演示示程序后后,即顯顯示對(duì)話話形式的的提示操操作過程程, 如:請(qǐng)輸輸入用戶戶名和密密碼,輸輸入正確確后便進(jìn)進(jìn)入菜單單選擇 請(qǐng)輸入入你的選選項(xiàng), 輸入選選項(xiàng)后,如如果選項(xiàng)項(xiàng)不存在在,會(huì)提提示你選選項(xiàng)不存存在,請(qǐng)請(qǐng)重新選選擇。 輸入正正確選項(xiàng)項(xiàng)后,便便會(huì)提示示你輸入入日期。如如果進(jìn)入入的
23、是修修改函數(shù)數(shù),就會(huì)會(huì)繼續(xù)提提示你輸輸入新的的信息;如果進(jìn)進(jìn)入的時(shí)時(shí)添加函函數(shù),會(huì)會(huì)讓你輸輸入新的的賬戶信信息;如如果進(jìn)入入的是刪刪除函數(shù)數(shù),再刪刪除完后后會(huì)提示示你刪除除成功;如果進(jìn)進(jìn)入的時(shí)時(shí)查詢函函數(shù),會(huì)會(huì)輸出你你要查詢?cè)兊漠?dāng)天天賬戶信信息;如如果進(jìn)入入的統(tǒng)計(jì)計(jì)函數(shù),會(huì)會(huì)提示你你選擇將將要統(tǒng)計(jì)計(jì)的信息息。3、 如果果用戶不不小心進(jìn)進(jìn)錯(cuò)了功功能,可可以輸入入0來返返回主菜菜單,重重新選擇擇。4、進(jìn)行完完上面的的操作之之后,會(huì)會(huì)提示用用戶是否否繼續(xù)運(yùn)運(yùn)行該程程序來進(jìn)進(jìn)行其他他的功能能操作 按n或或N鍵鍵 sttop或或其它鍵鍵繼續(xù)六測試數(shù)數(shù)據(jù) =請(qǐng)請(qǐng)輸入用用戶名和和密碼:= 用戶戶名:1102
24、0013006密碼:1恭喜輸入正正確,登登錄成功功!1:修改信信息 22:刪除除信息33:添加加信息 4:查查詢信息息 5:統(tǒng)計(jì)信信息 aa)請(qǐng)選選擇:11 請(qǐng)請(qǐng)輸入您您要修改改得日期期:20010 1 11 00.返回回主菜單單 11.修改改該天信信息 請(qǐng)請(qǐng)選擇 1 舊的信信息為:20110 11 1 10000.00000000 收入11 1000.00000000 支出11 請(qǐng)請(qǐng)輸入新新的信息息:收入入金額 11000 收收入來源源 aaaa 支支出金額額 2000 支支出目的的 bbbb。修改成功!新的信息為為 20010 1 11 11100.00000000 aaaa 2200.0
25、00000000 bbbb bb)請(qǐng)選選擇:22 請(qǐng)請(qǐng)輸入您您要?jiǎng)h除除的日期期:20010 1 11 00.返回回主菜單單 1.刪除除該天信信息請(qǐng)選擇:11 舊的信信息為: 20110 11 1 10000.00000000 收入11 1000.00000000 支出11 220100 1 2 220000.00000000 收收入2 2000.00000000 支支出2 20110 11 3 30000.00000000 收入33 3000.00000000 支出33 刪除成功!新的信息為為: 20010 1 22 20000.00000000 收入入2 2200.00000000 支出出2
26、 20110 11 3 30000.00000000 收入33 3000.00000000 支出33 是否否繼續(xù) y/nn n ppresss aany keyy too coontiinuee c)請(qǐng)請(qǐng)選擇:3 0.返返回主菜菜單 1.添添加一天天的賬戶戶信息請(qǐng)選擇:11舊的信息為為: 20010 1 11 10000.00000000 收入入1 1100.00000000 支出出1 220100 1 2 220000.00000000 收收入2 2000.00000000 支支出2 20110 11 3 30000.00000000 收入33 3000.00000000 支出33 請(qǐng)輸入新
27、的的信息:20110 11 4 40000 收入44 4000 支支出4添加成功!新的信息為為:20010 1 11 10000.00000000 收入入1 1100.00000000 支出出1 220100 1 2 220000.00000000 收收入2 2000.00000000 支支出2 20110 11 3 30000.00000000 收入33 3000.00000000 支出33 20110 11 4 40000.00000000 收入44 4000.00000000 支出44 是是否繼續(xù)續(xù) y/n n ppresss aany keyy too coontiinueed)請(qǐng)選擇
28、擇:4 請(qǐng)輸入入您要查查詢得日日期:220100 1 1 00.返回回主菜單單 11.查詢?cè)冊(cè)撎煨判畔?請(qǐng)請(qǐng)選擇 12010 1 11 10000.00000000 收入入1 1100.00000000 支出出1 是否否繼續(xù) y/nn n ppresss aany keyy too coontiinuee e)請(qǐng)選擇擇: 55 請(qǐng)輸入你要要統(tǒng)計(jì)的的兩個(gè)日日期:220100 1 1 220100 1 3 00.返回回主菜單單 11.統(tǒng)計(jì)計(jì)該段時(shí)時(shí)間的收收入金額額統(tǒng)計(jì)該段時(shí)時(shí)間的支支出金額額統(tǒng)計(jì)該段時(shí)時(shí)間的余余額 請(qǐng)請(qǐng)選擇 1. 660000.00000000 2. 6600.00000000 3
29、. 54400.00000000是否繼續(xù) y/nn nn prresss anny kkey to conntinnue七附錄 1、源源程序函函數(shù)清單單 主函數(shù)數(shù):f11() 修改函函數(shù):ff2()刪除函數(shù):f3()添加函數(shù):f4()查詢函數(shù):f5()統(tǒng)計(jì)函數(shù):f6()主菜單函數(shù)數(shù):f77() 2、源源程序代代碼 ff1.ccpp: #inccluddesstdiio.hh#inclludeesttdliib.hh#inclludeesttrinng.hh#inclludeef22.h#inclludeef33.h#inclludeef44.h#inclludeef55.h#inclludee
30、f66.h#inclludeef77.hstrucct ppeopple peooSIIZE;int NN=3;void maiin() int i,aa,b; chaar dd1110=收入入1,d210=收收入2,d33100=收入33,ee1110=支出出1,e210=支支出2,e33100=支出33; FILLE *fp; /*輸輸入三天天的賬戶戶信息*/ peeo00.yyearr=20010;peoo0.moonthh=1;peoo0.daay=11; strrcpyy(peeo00.ssourrce,d1);ppeo0.gett=10000; strrcpyy(peeo00.mm
31、otiive,e1);peeo00.oout=1000; peoo0.leeavee=peeo00.gget-peoo0.ouut; peoo1.yeear=20110;ppeo1.monnth=1;ppeo1.dayy=2; strrcpyy(peeo11.ssourrce,d2);peeo11.gget=20000;strcppy(ppeo1.mottivee,e22);ppeo1.outt=2000;peo11.lleavve=ppeo1.gett-peeo11.oout; peoo2.yeear=20110;ppeo2.monnth=1;ppeo2.dayy=3; strrcpyy(p
32、eeo22.ssourrce,d3);peeo22.gget=30000; strrcpyy(peeo22.mmotiive,e3);peeo22.oout=3000; peoo2.leeavee=peeo22.gget-peoo2.ouut;/*把數(shù)據(jù)據(jù)寫入文文件*/ ffp=ffopeen(f:paan.ttxt,ww);for(i=00;iN;ii+)iff(fwwritte(&peooi,siizeoof(sstruuct peooplee),11,fpp)!=1)pprinntf(無法法打開!n);eexitt(0); fcclosse(ffp);/*菜單選選擇功能能*/ priin
33、tff(=個(gè)個(gè)人賬戶戶管理軟軟件=n); priintff(=設(shè)設(shè)計(jì)人:潘君宇宇=n); priintff(n); priintff(n); priintff(請(qǐng)請(qǐng)登錄:n); foor(;) priintff(=請(qǐng)請(qǐng)輸入用用戶名和和密碼:=n);prrinttf(用戶名名:); scaanf(%dd,&a);prrinttf(n);prrinttf(密碼:);sccanff(%d,&b);prrinttf(n); if(a=1022013306&b=1) prrinttf(=恭喜喜輸入正正確,登登錄成功功!=nn);prrinttf(=該軟件件中已存存有20010年年1月11號(hào)到33號(hào)的信信
34、息!=nn); f77(); ellsepprinntf(輸入入錯(cuò)誤,請(qǐng)請(qǐng)重新輸輸入!n); f2.cppp:#inclludeesttdioo.h#inclludeesttdliib.hh#inclludeesttrinng.hh#inclludeef22.h#inclludeef33.h#inclludeef44.h#inclludeef55.h#inclludeef66.h#inclludeef77.hexterrn sstruuct peooplee peeoSSIZEE;exterrn NN;void f2(intt x,intt y,intt z)int b,ii,n,flaag=
35、11;charr c;FILEE *ffp;/*檢查信信息*/if(fp=foppen(f:ppan.txtt,r)=NULLL)priintff(無無法找到到該文件件!nn);exiit(00);/*檢查查是否有有該信息息*/for(i=00;iN;ii+)freead(&peeoii,ssizeeof(strructt peeoplle),1,ffp);if(x=peooi.yeear&y=peeoii.mmontth&z=peooi.daay)n=i;bbreaak;if(ii=NN)priintff(沒沒有該天天信息!n);priintff(請(qǐng)請(qǐng)重新選選擇!n);f7(); /*進(jìn)進(jìn)入
36、修改改程序*/ ffor(;)priintff(=請(qǐng)請(qǐng)選擇:=n);priintff(=0.返回主主菜單=n);priintff(=1.修改該該天信息息=n);priintff(= nn);scaanf(%dd,&b); swiitchh(b) deffaullt:pprinntf(無此此選項(xiàng),請(qǐng)請(qǐng)重新輸輸入:n); breeak;casse 00:f77(); casse 11:/修改收收入來源源fpp=foopenn(ff:pann.txxt,w+);frreadd(&ppeoi,sizzeoff(sttrucct ppeopple),1,fp);prrinttf(舊的信信息為:n);pr
37、rinttf(收入來來源 收收入金額額 支出出目的 支出金金額 余額n);prrinttf(%5ss ,ppeon.souurcee);prrinttf(%3ff ,peeonn.gget);prrinttf(%5ss ,peoon.mootivve);prrinttf(%5ff ,peeonn.oout);prrinttf(%3ff n,peoon.leeavee); fsscannf(ffp,%s,&ppeon);prrinttf(請(qǐng)輸入入新的收收入來源源n); sccanff(%s,peoon.soourcce);prrinttf(n); /修改收收入金額額prrinttf(請(qǐng)輸入入新的
38、收收入金額額n); sccanff(%f,&peeonn.gget);prrinttf(n);/修改支支出目的的prrinttf(請(qǐng)輸入入新的支支出目的的n); sccanff(%s,peoon.mootivve);prrinttf(n);/修改支支出金額額prrinttf(請(qǐng)輸入入新的支支出金額額n); sccanff(%f,&peeonn.oout);prrinttf(n);peeonn.lleavve=ppeon.gett-peeonn.oout;prrinttf(新的的的信息為為:nn);prrinttf(收入來來源 收收入金額額 支出出目的 支出金金額 余額n);prrinttf(%
39、5ss ,peeonn.ssourrce);prrinttf(%3ff ,peeonn.gget);prrinttf(%5ss ,peeonn.mmotiive);prrinttf(%5ff ,peeonn.oout);prrinttf(%3ff nn,ppeon.leaave);foor(ii=0;iNN;i+)if(fwrritee(&ppeoi,sizzeoff(sttrucct ppeopple),1,fp)!=11)priintff(無無法打開開!nn);exiit(00);fcclosse(ffp); brreakk; priintff(是是否繼續(xù)續(xù)?y/nnn); scaanf(
40、%ss,&c); if(c=n|cc=N) exiit(00);F3.cppp:#inclludeesttdioo.h#inclludeesttdliib.hh#inclludeesttrinng.hh#inclludeef22.h#inclludeef33.h#inclludeef44.h#inclludeef55.h#inclludeef66.h#inclludeef77.hexterrn sstruuct peooplee peeoSSIZEE;void f3(intt x,intt y,intt z)int b,ii,n,flaag=11;exteern N;charr c;FILEE
41、 *ffp;if(fp=foppen(f:ppan.txtt,r)=NNULLL)priintff(無無法找到到該文件件!nn);exiit(00);/*檢查查是否有有該信息息*/for(i=00;iN;ii+)if(x=peooi.yeear&y=peeoii.mmontth&z=peooi.daay) n=ii; breeak;if(ii=NN)priintff(沒沒有該天天信息!n);priintff(請(qǐng)請(qǐng)重新選選擇!n);f7(); /*進(jìn)入入刪除程程序*/ ffor(;) priintff(=請(qǐng)請(qǐng)選擇:=n);prrinttf(=0.返返回主菜菜單=n); priintff(=11.
42、刪除除該天信信息=nn);prrinttf(=n); scaanf(%dd,&b);swwitcch(bb)ddefaaultt:prrinttf(無此選選項(xiàng),請(qǐng)請(qǐng)重新輸輸入:n);brreakk;ccasee 0: f7(); casse 11:fp=foppen(f:ppan.txtt,w+);priintff(舊舊的信息息為:n); forr(i=0;iiN;i+) prrinttf(日期 收入來來源 收收入金額額 支出出目的 支出金金額 余額額n); pprinntf(%dd %dd %dd ,peooi.yeear,peooi.moonthh,peeoii.dday); pprinn
43、tf(%55s ,peooi.soourcce); prrinttf(%3ff ,peeoii.gget); prrinttf(%5ss ,peooi.mootivve); prrinttf(%5ff ,peeoii.oout); prrinttf(%3ff n,peooi.leeavee);forr(i=n;iiN;i+)fsccanff(fpp,%s,&peeoii); strrcpyy(peeoii.ssourrce,peooi+1.souurcee);peooi.yeear=peooi+1.yeaar;peooi.moonthh=peeoii+1.moonthh;peooi.daay=
44、ppeoi+11.dday; peeoii.gget=peooi+1.gett;peooi.ouut=ppeoi+11.oout; strrcpyy(peeoii.mmotiive,peooi+1.mottivee);peooi.leeavee=peeoii+1.leeavee; priintff(刪刪除成功功!nn);N=NN-1;for(i=00;iN;ii+)priintff(日日期 收收入來源源 收入入金額 支出目目的 支支出金額額 余額額npriintff(%2d %22d %2d ,ppeoi.yeaar,ppeoi.monnth,peooi.daay);priintff(%5s
45、,peooi.soourcce);printtf(%3ff ,peeoii.gget);priintff(%5s ,peooi.mootivve);priintff(%5f ,peooi.ouut);printtf(%3ff nn,ppeoi.leaave);forr(i=0;iiN;i+)if(fwrritee(&ppeoi,sizzeoff(sttrucct ppeopple),1,fp)!=11)priintff(無無法打開開!nn);exiit(00);fcllosee(fpp);breeak; priintff(是是否繼續(xù)續(xù)?y/nnn); scaanf(%ss,&c); if(c=
46、n|cc=N) exiit(00); f4.cppp:#inclludeesttdioo.h#inclludeesttdliib.hh#inclludeesttrinng.hh#inclludeef22.h#inclludeef33.h#inclludeef44.h#inclludeef55.h#inclludeef66.h#inclludeef77.hexterrn sstruuct peooplee peeoSSIZEE;exterrn NN;void f4()int i,bb,n;charr c;FILEE *ffp;if(fp=foppen(f:ppan.txtt,a)=NNULLL)
47、priintff(無無法找到到該文件件!nn);exiit(00);for(;)priintff(=n);priintff(=0.返回主主菜單=n); priintff(=1.添加信信息=nn);priintff(=n); scaanf(%dd,&b); swiitchh(b) deefauult:priintff(無無此選項(xiàng)項(xiàng),請(qǐng)重重新輸入入:nn);breeak;caase 0:ff7(); casse 11: /*進(jìn)進(jìn)入添加加程序*/ffp=ffopeen(f:paan.ttxt,rrb);pprinntf(舊的的信息為為:nn);ffor(i=00;iN;ii+)ffreaad(&pe
48、ooi,siizeoof(sstruuct peooplee),11,fpp); prrinttf(日期 收入來來源 收收入金額額 支出出目的 支出金金額 余余額nn);priintff(%2d %22d %2d ,ppeoi.yeaar,ppeoi.monnth,peooi.daay);pprinntf(%55s ,ppeoi.souurcee);pprinntf(%33f ,ppeoi.gett); priintff(%5s ,peooi.mootivve);pprinntf(%55f ,ppeoi.outt);pprinntf(%33f n,peooi.leeavee);nn=N; pp
49、rinntf(請(qǐng)輸輸入新的的信息日日期:n); sscannf(%d %d %d,&ppeon.yeaar,&peoon.moonthh,&ppeon.dayy); pprinntf(請(qǐng)輸輸入新的的信息收收入金額額和收入入來源:n); sscannf(%f %s,&ppeon.gett,peeonn.ssourrce); pprinntf(請(qǐng)輸輸入新的的信息支支出金額額和支出出目的:n); scaanf(%ff %ss,&peoon.ouut,ppeon.mottivee); peoon.leeavee=peeonn.gget-peoon.ouut;NN=N+1;pprinntf(=現(xiàn)現(xiàn)在的信
50、信息:=n);ffor(i=00;iN;ii+)pprinntf(日期期 收入入來源 收入金金額 支支出目的的 支出出金額 余額n);priintff(%2d %22d %2d ,ppeoi.yeaar,ppeoi.monnth,peooi.daay);pprinntf(%55s ,ppeoi.souurcee);priintff(%3f ,peooi.geet);priintff(%5s ,peooi.mootivve);pprinntf(%55f ,ppeoi.outt);pprinntf(%33f n,peooi.leeavee); ffp=ffopeen(f:paan.ttxt,wwb
51、);ffor(i=00;iN;ii+)fwrritee(&ppeoi,sizzeoff(sttrucct ppeopple),1,fp);ffcloose(fp);bbreaak; priintff(是是否繼續(xù)續(xù)?y/nnn); scaanf(%ss,&c); if(c=n|cc=N) exiit(00);f5.cppp:#inclludeesttdliib.hh#inclludeesttrinng.hh#inclludeef22.h#inclludeef33.h#inclludeef44.h#inclludeef55.h#inclludeef66.h#inclludeef77.hexterr
52、n sstruuct peooplee peeoSSIZEE;exterrn NN;void f5(intt x,intt y,intt z)int b,ii,n;charr c;FILEE *ffp;if(fp=foppen(f:ppan.txtt,r)=NNULLL)priintff(無無法找到到該文件件!nn);exiit(00);/*檢查查是否有有該信息息*/for(i=00;iN;ii+)if(x=peooi.yeear&y=peeoii.mmontth&z=peooi.daay) n=i; breeak;if(ii=NN)priintff(沒沒有該天天信息!n);priintff(
53、請(qǐng)請(qǐng)重新選選擇!n);f7();/*進(jìn)入入查詢程程序*/ ffor(;) priintff(=請(qǐng)請(qǐng)選擇=n);prrinttf(=0.返返回主菜菜單=nn); priintff(=11.查詢?cè)冊(cè)撎煨判畔?n);prrinttf(=n); scaanf(%dd,&b); swwitcch(bb)ffreaad(&peoon,siizeoof(sstruuct peooplee),11,fpp); deffaullt:pprinntf(無此此選項(xiàng),請(qǐng)請(qǐng)重新輸輸入:n); breeak;ccasee 0:f7(); casse 11:priintff(收收入來源源 收入入金額 支出目目的 支支出金額
54、額 余額額n);priintff(%5s ,peeonn.ssourrce);priintff(%3f ,peoon.geet);priintff(%5s ,ppeon.mottivee);priintff(%5f ,peoon.ouut);priintff(%3f ,peoon.leeavee); breeak; priintff(是是否繼續(xù)續(xù)?y/nnn); scaanf(%ss,&c); if(c=n|cc=N) exiit(00); fcllosee(fpp);F6.cppp:#inclludeesttdioo.h#inclludeesttdliib.hh#inclludeesttri
55、nng.hh#inclludeef22.h#inclludeef33.h#inclludeef44.h#inclludeef55.h#inclludeef66.h#inclludeef77.hexterrn sstruuct peooplee peeoSSIZEE;exterrn NN;void f6(intt x,intt y,intt z,intt x11,innt yy1,iint z1)int b,ii,n,m,fflagg=1;floaat ssum;charr c;FILEE *ffp;if(fp=foppen(f:ppan.txtt,r)=NNULLL)priintff(無無法找
56、到到該文件件!nn);exiit(00); /*檢檢查是否否有該信信息*/for(i=00;iN;ii+)if(x=peooi.yeear&y=peeoii.mmontth&z=peooi.daay) n=ii; breaak;if(ii=NN)priintff(沒沒有該段段時(shí)間信信息!n);priintff(請(qǐng)請(qǐng)重新選選擇!n);f7();for(i=00;iN;ii+) if(x1=peeoii.yyearr&yy1=peooi.moonthh&zz1=peooi.daay) m=ii; bbreaak;if(ii=NN)priintff(沒沒有該段段時(shí)間信信息!n);priintff(請(qǐng)請(qǐng)重新選選擇!n);f7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑物抗風(fēng)能力驗(yàn)收方案
- 道路施工安全風(fēng)險(xiǎn)評(píng)估方案
- 2026年及未來5年市場數(shù)據(jù)中國記錄儀器行業(yè)市場深度研究及投資策略研究報(bào)告
- 硬泡聚氨酯保溫系統(tǒng)設(shè)計(jì)方案
- 隧道施工在線監(jiān)測系統(tǒng)方案
- 公路施工用電安全管理方案
- 病房內(nèi)無線網(wǎng)絡(luò)覆蓋方案
- 2026年及未來5年市場數(shù)據(jù)中國能源互聯(lián)網(wǎng)行業(yè)市場深度研究及發(fā)展趨勢預(yù)測報(bào)告
- 2026年及未來5年市場數(shù)據(jù)中國農(nóng)作物種子行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略數(shù)據(jù)分析研究報(bào)告
- 施工現(xiàn)場噪聲控制管理方案
- 股權(quán)轉(zhuǎn)讓法律意見書撰寫范本模板
- 裝修工程監(jiān)理工作總結(jié)
- 農(nóng)戶分戶協(xié)議書模板
- 修建羊舍合同(標(biāo)準(zhǔn)版)
- 北京市5年(2021-2025)高考物理真題分類匯編:專題15 實(shí)驗(yàn)(原卷版)
- 2025湖南郴州市百福投資集團(tuán)有限公司招聘工作人員8人筆試題庫歷年考點(diǎn)版附帶答案詳解
- 5年(2021-2025)高考1年模擬歷史真題分類匯編選擇題專題01 中國古代的政治制度演進(jìn)(重慶專用)(原卷版)
- 浙教版初中科學(xué)復(fù)習(xí)課《杠桿與滑輪專題》共24張課件
- 中國銅板帶行業(yè)分析報(bào)告:進(jìn)出口貿(mào)易、行業(yè)現(xiàn)狀、前景研究(智研咨詢發(fā)布)
- 農(nóng)村組長管理辦法
- 皮下腫物切除術(shù)后護(hù)理
評(píng)論
0/150
提交評(píng)論