已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-家庭支出管理系統(tǒng)一、課程內(nèi)容和要求內(nèi)容:該系統(tǒng)要求對(duì)一個(gè)家庭某月的支出情況進(jìn)行統(tǒng)計(jì)和分析。通過(guò)此課題,熟練掌握數(shù)組、指針的各種操作,以及一些算法思想的應(yīng)用。要求:(1)支出信息包括:支出類(lèi)型(主要可以分為飲食,服飾裝扮,禮金,教育培訓(xùn),電器,健身,通訊,子女培養(yǎng),旅游,文化娛樂(lè),醫(yī)療,交通,聚會(huì),居住等小項(xiàng)),金額,消費(fèi)地點(diǎn),消費(fèi)時(shí)間等。(2)需要實(shí)現(xiàn)的功能1)用戶(hù)根據(jù)口令進(jìn)入系統(tǒng)2)輸入某一月份,完成該月份的支出管理3)輸入并統(tǒng)計(jì)該月的支出情況4)顯示該月支出信息表,內(nèi)容應(yīng)包括日期,金額等5)按支出類(lèi)型進(jìn)行分類(lèi)統(tǒng)計(jì)和排序6)進(jìn)行本月消費(fèi)分析,即分析每項(xiàng)支出所占總支出的百分比,并顯示分析結(jié)果7)顯示按支出類(lèi)型排序后的支出信息8)將排序后的內(nèi)容存為文件。(3)界面友好,輸入信息符合邏輯如存款金額不為負(fù)數(shù)、不可能有非數(shù)字的字符等。(4)數(shù)據(jù)結(jié)構(gòu)和函數(shù)自行定義,要求清晰明確。二、需求分析結(jié)構(gòu)體定義:用結(jié)構(gòu)體來(lái)定義所要的消費(fèi)信息的種類(lèi)(消費(fèi)類(lèi)型,消費(fèi)金額,消費(fèi)地點(diǎn),消費(fèi)時(shí)間)。菜單函數(shù)intmenu_select():顯示該系統(tǒng)所擁有的功能,并利于用戶(hù)選擇自己所需要實(shí)現(xiàn)的功能。密碼函數(shù)voidpassword():驗(yàn)證用戶(hù)所輸入的密碼是否正確,并且根據(jù)用戶(hù)意愿修改密碼,從而進(jìn)入系統(tǒng)。輸入密碼時(shí)密碼要用*表示。輸入函數(shù)intInputitems(familysum,intn):輸入用戶(hù)所要的消費(fèi)情況。求總金額函數(shù)voidGetsum(familysum,intn):實(shí)現(xiàn)簡(jiǎn)單的求和功能,計(jì)算出用戶(hù)所輸入的消費(fèi)的總金額。輸出函數(shù)voidShowitems(familysum,intn):輸出用戶(hù)所輸入的信息。-排序函數(shù)voidpaixu(familysum,intn):對(duì)用戶(hù)所輸入的消費(fèi)情況進(jìn)行歸類(lèi),并對(duì)同種類(lèi)型的金額進(jìn)行從小到大排序。分析函數(shù)voidAnalyseitems(familysum,intn):對(duì)用戶(hù)所輸入的消費(fèi)情況中的同種類(lèi)型進(jìn)行疊加,計(jì)算各類(lèi)型金額占總金額的百分比,通過(guò)它們各類(lèi)型金額所占的百分比來(lái)直觀顯示哪種類(lèi)型比較重要。保存函數(shù)voidsave(familysum,intn):保存用戶(hù)所要保存的消費(fèi)信息進(jìn)入文件。主函數(shù)voidmain():通過(guò)該函數(shù)調(diào)用上述各函數(shù),從而實(shí)現(xiàn)該系統(tǒng)的管理功能。三、概要設(shè)計(jì)程序框架:開(kāi)始先編寫(xiě)一菜單函數(shù)來(lái)顯示該系統(tǒng)所能實(shí)現(xiàn)的功能,讓用戶(hù)了解并使用該系統(tǒng)所擁有的管理功能,并且編輯密碼函數(shù)來(lái)實(shí)現(xiàn)根據(jù)用戶(hù)指令進(jìn)入管理系統(tǒng);之后通過(guò)主函數(shù)來(lái)調(diào)用菜單函數(shù)menu_select,密碼函數(shù)password,求總金額函數(shù)Getsum,輸入函數(shù)Inputitems,輸出函數(shù)Showitems,排序函數(shù)paixu,分析函數(shù)Analyseitems,保存函數(shù)save,從而來(lái)實(shí)現(xiàn)該系統(tǒng)的管理功能。而添加數(shù)據(jù)的功能是采用調(diào)用輸入函數(shù)Inputitems來(lái)實(shí)現(xiàn)的。定義結(jié)構(gòu)體:定義消費(fèi)的類(lèi)型,聲明各結(jié)構(gòu)成員的變量含義typedefstruct/定義結(jié)構(gòu)體chartype20;/消費(fèi)類(lèi)型floatGetsum;/消費(fèi)金額charplace20;/消費(fèi)地點(diǎn)inttime;/消費(fèi)時(shí)間主菜單月份菜單密碼驗(yàn)證及修改退出系統(tǒng)輸入總和輸出排序分析保存退出-family;菜單函數(shù):通過(guò)getchar語(yǔ)句來(lái)讀入所要實(shí)現(xiàn)的功能序號(hào),從而進(jìn)入相應(yīng)的函數(shù)模塊。密碼函數(shù):通過(guò)文件指針應(yīng)用,用scanf語(yǔ)句來(lái)讀取用戶(hù)所輸入的密碼,并與文件中所保存的密碼相比較,看是否能夠進(jìn)入管理系統(tǒng),并通過(guò)指針的應(yīng)用來(lái)修改密碼。輸入函數(shù):通過(guò)scanf語(yǔ)句逐項(xiàng)輸入消費(fèi)的信息(類(lèi)型,金額,地點(diǎn),時(shí)間),輸入完畢后,跳回管理菜單重新選擇。求總函數(shù):通過(guò)for循環(huán)來(lái)實(shí)現(xiàn)消費(fèi)金額Getsum的疊加,從而求出所輸入的消費(fèi)情況的總金額getsum。輸出函數(shù):應(yīng)用for循環(huán)來(lái)逐項(xiàng)輸出消費(fèi)情況。排序函數(shù):用for雙循環(huán)來(lái)對(duì)消費(fèi)情況進(jìn)行歸類(lèi)以及對(duì)同種類(lèi)型的金額運(yùn)用選擇排序法從小到大排序,并對(duì)文件指針*fp的應(yīng)用來(lái)使排序之后的消費(fèi)信息存入文件。分析函數(shù):通過(guò)對(duì)排序函數(shù)的調(diào)用,來(lái)使消費(fèi)信息進(jìn)行歸類(lèi),通過(guò)for雙循環(huán)來(lái)計(jì)算出各類(lèi)型的金額sum1,并求出各類(lèi)型的花費(fèi)占總金額的百分比a。保存函數(shù):應(yīng)用文件指針*fp來(lái)將消費(fèi)信息存入文件。主函數(shù):通過(guò)switch語(yǔ)句和case語(yǔ)句來(lái)調(diào)用各函數(shù),從而實(shí)現(xiàn)各函數(shù)的功能。四、源程序代碼#include#include#include#include#include#include#includetypedefstruct/定義結(jié)構(gòu)體chartype20;/消費(fèi)類(lèi)型floatGetsum;/消費(fèi)金額charplace20;/消費(fèi)地點(diǎn)inttime;/消費(fèi)時(shí)間family;familyfam80;intmenu_select()/顯示該系統(tǒng)所具備的功能charc;dosystem(cls);/清屏printf(tt*n);-printf(tt*菜單系統(tǒng)*n);printf(tt|1.輸入消費(fèi)信息|n);printf(tt|2.計(jì)算消費(fèi)總和|n);printf(tt|3.顯示消費(fèi)情況|n);printf(tt|4.對(duì)同種類(lèi)型消費(fèi)進(jìn)行排序并顯示|n);printf(tt|5.消費(fèi)情況分析|n);printf(tt|6.添加消費(fèi)信息|n);printf(tt|7.保存數(shù)據(jù)|n);printf(tt|0.退出系統(tǒng)|n);printf(tt*n);printf(tt*n);printf(ttt請(qǐng)對(duì)應(yīng)選擇所需選項(xiàng)(0-7):);c=getchar();while(c7);return(c-0);voidpassword()/密碼驗(yàn)證或密碼修改intm;printf(tt*n);printf(tt*n);printf(tt*tt1.密碼修改*n);printf(tt*tt2.登陸*n);printf(tt*n);printf(tt*n);printf(ttt請(qǐng)輸入您所要的選項(xiàng)(1,2):);scanf(%d,&m);getchar();switch(m)case1:/密碼修改inti,j;chara7,b7,c7,d7;FILE*fp1;FILE*fp2;fp1=fopen(D:密碼.txt,r);if(!fp1)printf(filecannotbeopened);exit(1);for(i=0;!feof(fp1);i+)ai=fgetc(fp1);-fclose(fp1);printf(ttt請(qǐng)輸入原密碼:);for(j=0;j=0&bj=a&bj=A&bj=Z)putchar(*);if(a0=b0&a1=b1&a2=b2&a3=b3&a4=b4&a5=b5)doprintf(ttt請(qǐng)?jiān)O(shè)置您的新密碼:);for(j=0;j=0&cj=a&cj=A&cj=Z)putchar(*);printf(ttt請(qǐng)確認(rèn)您的新密碼:);for(j=0;j=0&dj=a&dj=A&dj=Z)putchar(*);while(!(c0=d0&c1=d1&c2=d2&c3=d3&c4=d4&c5=d5);fp2=fopen(D:密碼.txt,w+);if(!fp2)printf(thefilecannotbeopened!);exit(1);i=0;while(i6)fprintf(fp2,%c,ci);i+;fclose(fp2);printf(ttt密碼修改成功!n);elseprintf(ttt密碼錯(cuò)誤n);exit(0);-case2:/密碼驗(yàn)證chare7,f7;intn=0;inti,j;FILE*fp1;fp1=fopen(D:密碼.txt,r);if(!fp1)printf(thefilecannotbeopened!);exit(1);for(i=0;!feof(fp1);i+)ei=fgetc(fp1);fclose(fp1);doprintf(ttt請(qǐng)輸入六位數(shù)密碼:);for(j=0;j=0&fj=a&fj=A&fj3)printf(errorn);exit(0);while(!(e0=f0&e1=f1&e2=f2&e3=f3&e4=f4&e5=f5);printf(nttt歡迎使用!n);intInputitems(familysum,intn)/輸入消費(fèi)信息inti=0;charsign=y,x10;-while(sign!=n&sign!=N)printf(ttt種類(lèi):);scanf(ttt%s,sumn+i.type);printf(ttt支出(大于0):);scanf(ttt%f,&sumn+i.Getsum);printf(ttt地點(diǎn):);scanf(ttt%s,sumn+i.place);printf(ttt時(shí)間(0-31):);scanf(ttt%d,&sumn+i.time);if(sumn+i.time31)returnfalse;gets(x);printf(ttt需要再次輸入嗎?(y/n);scanf(ttt%c,&sign);i+;return(n+i);voidGetsum(familysum,intn)/計(jì)算消費(fèi)總金額floatgetsum=0;inti=0;for(i=0;in;i+)getsum+
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 深度解析(2026)《GBT 25633-2010電火花加工機(jī)床 電磁兼容性試驗(yàn)規(guī)范》(2026年)深度解析
- 2025重慶酉陽(yáng)自治縣城區(qū)事業(yè)單位公開(kāi)遴選34人備考考試試題及答案解析
- 2025福建福州市鼓樓區(qū)城投集團(tuán)招聘5人參考筆試題庫(kù)附答案解析
- 2025年12月廣東深圳市大鵬新區(qū)葵涌辦事處招聘編外人員3人備考考試試題及答案解析
- 2025山東青島市市南區(qū)城市發(fā)展有限公司附全資子公司招聘10人參考筆試題庫(kù)附答案解析
- 2025湖南長(zhǎng)沙市天心區(qū)龍灣小學(xué)教師招聘2人備考考試試題及答案解析
- 2025山東陽(yáng)昇甄選產(chǎn)業(yè)運(yùn)營(yíng)有限公司公開(kāi)選聘工作人員(7人)備考筆試題庫(kù)及答案解析
- 《菱形的性質(zhì)與判定》數(shù)學(xué)課件教案
- “青苗筑基 浙里建證”浙江省建設(shè)投資集團(tuán)2026屆管培生招聘30人備考筆試題庫(kù)及答案解析
- 2026河南許昌市襄城縣兵役登記參考筆試題庫(kù)附答案解析
- Cuk斬波完整版本
- GB/T 3521-2023石墨化學(xué)分析方法
- 一年級(jí)數(shù)學(xué)重疊問(wèn)題練習(xí)題
- 三維動(dòng)畫(huà)及特效制作智慧樹(shù)知到課后章節(jié)答案2023年下吉林電子信息職業(yè)技術(shù)學(xué)院
- 胰腺囊腫的護(hù)理查房
- 臨床醫(yī)學(xué)概論常見(jiàn)癥狀課件
- 知識(shí)圖譜與自然語(yǔ)言處理的深度融合
- 物業(yè)管理理論實(shí)務(wù)教材
- 仁川國(guó)際機(jī)場(chǎng)
- 全檢員考試試題
- 光刻和刻蝕工藝
評(píng)論
0/150
提交評(píng)論