已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
-家庭支出管理系統(tǒng)一、課程內容和要求內容:該系統(tǒng)要求對一個家庭某月的支出情況進行統(tǒng)計和分析。通過此課題,熟練掌握數(shù)組、指針的各種操作,以及一些算法思想的應用。要求:(1)支出信息包括:支出類型(主要可以分為飲食,服飾裝扮,禮金,教育培訓,電器,健身,通訊,子女培養(yǎng),旅游,文化娛樂,醫(yī)療,交通,聚會,居住等小項),金額,消費地點,消費時間等。(2)需要實現(xiàn)的功能1)用戶根據(jù)口令進入系統(tǒng)2)輸入某一月份,完成該月份的支出管理3)輸入并統(tǒng)計該月的支出情況4)顯示該月支出信息表,內容應包括日期,金額等5)按支出類型進行分類統(tǒng)計和排序6)進行本月消費分析,即分析每項支出所占總支出的百分比,并顯示分析結果7)顯示按支出類型排序后的支出信息8)將排序后的內容存為文件。(3)界面友好,輸入信息符合邏輯如存款金額不為負數(shù)、不可能有非數(shù)字的字符等。(4)數(shù)據(jù)結構和函數(shù)自行定義,要求清晰明確。二、需求分析結構體定義:用結構體來定義所要的消費信息的種類(消費類型,消費金額,消費地點,消費時間)。菜單函數(shù)intmenu_select():顯示該系統(tǒng)所擁有的功能,并利于用戶選擇自己所需要實現(xiàn)的功能。密碼函數(shù)voidpassword():驗證用戶所輸入的密碼是否正確,并且根據(jù)用戶意愿修改密碼,從而進入系統(tǒng)。輸入密碼時密碼要用*表示。輸入函數(shù)intInputitems(familysum,intn):輸入用戶所要的消費情況。求總金額函數(shù)voidGetsum(familysum,intn):實現(xiàn)簡單的求和功能,計算出用戶所輸入的消費的總金額。輸出函數(shù)voidShowitems(familysum,intn):輸出用戶所輸入的信息。-排序函數(shù)voidpaixu(familysum,intn):對用戶所輸入的消費情況進行歸類,并對同種類型的金額進行從小到大排序。分析函數(shù)voidAnalyseitems(familysum,intn):對用戶所輸入的消費情況中的同種類型進行疊加,計算各類型金額占總金額的百分比,通過它們各類型金額所占的百分比來直觀顯示哪種類型比較重要。保存函數(shù)voidsave(familysum,intn):保存用戶所要保存的消費信息進入文件。主函數(shù)voidmain():通過該函數(shù)調用上述各函數(shù),從而實現(xiàn)該系統(tǒng)的管理功能。三、概要設計程序框架:開始先編寫一菜單函數(shù)來顯示該系統(tǒng)所能實現(xiàn)的功能,讓用戶了解并使用該系統(tǒng)所擁有的管理功能,并且編輯密碼函數(shù)來實現(xiàn)根據(jù)用戶指令進入管理系統(tǒng);之后通過主函數(shù)來調用菜單函數(shù)menu_select,密碼函數(shù)password,求總金額函數(shù)Getsum,輸入函數(shù)Inputitems,輸出函數(shù)Showitems,排序函數(shù)paixu,分析函數(shù)Analyseitems,保存函數(shù)save,從而來實現(xiàn)該系統(tǒng)的管理功能。而添加數(shù)據(jù)的功能是采用調用輸入函數(shù)Inputitems來實現(xiàn)的。定義結構體:定義消費的類型,聲明各結構成員的變量含義typedefstruct/定義結構體chartype20;/消費類型floatGetsum;/消費金額charplace20;/消費地點inttime;/消費時間主菜單月份菜單密碼驗證及修改退出系統(tǒng)輸入總和輸出排序分析保存退出-family;菜單函數(shù):通過getchar語句來讀入所要實現(xiàn)的功能序號,從而進入相應的函數(shù)模塊。密碼函數(shù):通過文件指針應用,用scanf語句來讀取用戶所輸入的密碼,并與文件中所保存的密碼相比較,看是否能夠進入管理系統(tǒng),并通過指針的應用來修改密碼。輸入函數(shù):通過scanf語句逐項輸入消費的信息(類型,金額,地點,時間),輸入完畢后,跳回管理菜單重新選擇。求總函數(shù):通過for循環(huán)來實現(xiàn)消費金額Getsum的疊加,從而求出所輸入的消費情況的總金額getsum。輸出函數(shù):應用for循環(huán)來逐項輸出消費情況。排序函數(shù):用for雙循環(huán)來對消費情況進行歸類以及對同種類型的金額運用選擇排序法從小到大排序,并對文件指針*fp的應用來使排序之后的消費信息存入文件。分析函數(shù):通過對排序函數(shù)的調用,來使消費信息進行歸類,通過for雙循環(huán)來計算出各類型的金額sum1,并求出各類型的花費占總金額的百分比a。保存函數(shù):應用文件指針*fp來將消費信息存入文件。主函數(shù):通過switch語句和case語句來調用各函數(shù),從而實現(xiàn)各函數(shù)的功能。四、源程序代碼#include#include#include#include#include#include#includetypedefstruct/定義結構體chartype20;/消費類型floatGetsum;/消費金額charplace20;/消費地點inttime;/消費時間family;familyfam80;intmenu_select()/顯示該系統(tǒng)所具備的功能charc;dosystem(cls);/清屏printf(tt*n);-printf(tt*菜單系統(tǒng)*n);printf(tt|1.輸入消費信息|n);printf(tt|2.計算消費總和|n);printf(tt|3.顯示消費情況|n);printf(tt|4.對同種類型消費進行排序并顯示|n);printf(tt|5.消費情況分析|n);printf(tt|6.添加消費信息|n);printf(tt|7.保存數(shù)據(jù)|n);printf(tt|0.退出系統(tǒng)|n);printf(tt*n);printf(tt*n);printf(ttt請對應選擇所需選項(0-7):);c=getchar();while(c7);return(c-0);voidpassword()/密碼驗證或密碼修改intm;printf(tt*n);printf(tt*n);printf(tt*tt1.密碼修改*n);printf(tt*tt2.登陸*n);printf(tt*n);printf(tt*n);printf(ttt請輸入您所要的選項(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請輸入原密碼:);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請設置您的新密碼:);for(j=0;j=0&cj=a&cj=A&cj=Z)putchar(*);printf(ttt請確認您的新密碼:);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密碼錯誤n);exit(0);-case2:/密碼驗證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請輸入六位數(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)/輸入消費信息inti=0;charsign=y,x10;-while(sign!=n&sign!=N)printf(ttt種類:);scanf(ttt%s,sumn+i.type);printf(ttt支出(大于0):);scanf(ttt%f,&sumn+i.Getsum);printf(ttt地點:);scanf(ttt%s,sumn+i.place);printf(ttt時間(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)/計算消費總金額floatgetsum=0;inti=0;for(i=0;in;i+)getsum+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐廳點名制度規(guī)范要求標準
- 倉庫安檢員登記制度規(guī)范
- 婦聯(lián)會檔案管理制度
- 總監(jiān)辦檔案室借閱制度
- 醫(yī)院口腔科門診制度規(guī)范
- 檔案室晉升等級制度模板
- 北京規(guī)范幼兒園管理制度
- 洗眼器維護制度規(guī)范標準
- 核酸采樣屋制度規(guī)范要求
- 農場檔案管理制度
- 給銷售員講解買賣合同
- 2026年中考語文專題復習:12部名著閱讀 知識點梳理+強化練習題(含答案)
- 胃造瘺護理課件
- 2025年人教版(2024)小學信息科技四年級(全一冊)教學設計(附教材目錄 P208)
- 《鐵路路基施工與維護》高職高速鐵路施工與維護全套教學課件
- T/CGCC 93-2024文化產品產權價值評估通則
- 臨床用藥解讀-消化系統(tǒng)常見疾病的診療進展及處方審核要點
- 高中數(shù)學北師大版講義(必修二)第05講1.5正弦函數(shù)、余弦函數(shù)的圖象與性質再認識3種常見考法歸類(學生版+解析)
- 2025年物料提升機司機(建筑特殊工種)模擬考試100題及答案
- 海關特殊監(jiān)管區(qū)域專題政策法規(guī)匯編 2025
- 《膽囊結石伴膽囊炎》課件
評論
0/150
提交評論