版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、#includenstdio.hn歐陽引擎(2021.01.01)#includestdlib.h#define MAX_NAME 11#define MAX_DETAIL 21#define MENU_COUNT 9#define DATA_FILE nfa.datu typedef wnum_fi_typeincome=l,payout=-l)fi_type;typedef struct_fi_infoint year;int month;fi_type type;char nameMAX_NAME;float money;char detailMAX_DETAIL;)fi_info;ty
2、pedef struct_fi_datafi_info info;struct_fi_data *next;fi_data;void addcome();void search_income();void delete_income();void update_income();void add_payout();void search_payout();void delete_payout();void update_payout();void count_total();void quit();void search_data(fi_type type);void delete_data(
3、fi_type type);void update_data(fi_type type);void initialize();void save_to_file();void clear_data();fi_data *getast();fi_data *get_previous(fi_data *p);void input_info(fi_info *info);void show_info(fi_data *pJnt count); fi_data *head;char menu=lnn+n”lnnlnlnlnnl家庭財務(wù)管理系統(tǒng)“+“I收入管理“I 1hi n ,rl 3“I支出管理ln
4、“I5添加支出ln-“I 6查詢支出明細ln”“I7刪除支出ln-nl8修改支出ln“I統(tǒng)計ln”“I 9統(tǒng)計總收入總支出ln”+n“I 0退出系統(tǒng)lnuvoid(*menu_fun)()= quit, add_income, search_income, delete_income, update_income, add_payout, search_payout, delete_payout, update_payout, count totalint main()int selected=0;initialize();while(selected=0 & selected請選擇要進行的操
5、作(d - %d):“,0,MENU_COUNT); if(scanf(%d,&selected)!=lllselectedMENU_COUNT) printfC輸入錯誤!請選擇%dd之間的數(shù)字!按任意鍵重 試.”,0,MENU_COUNT);fflush(stdin);getchar();)elsemenu_funselected();selected=O;)void add_income()fi_data *p=(fi_data *)malloc(sizeof(fi_data);memset(p,0,sizeof(fi_data);p-next=NULL;input_info (&(p-i
6、nfo);p-info.type=income;if(head=NULL)head=p;)elseget_last(head)-next=p;)void search_income()search_data(income);)void delete_income()delete_data(income);void update_income()update_data(income);)void add_payout()fi_data *p=(fi_data*)malloc(sizeof(fi_data); memset(p,0,sizeof(fi_data);input_info (&(p-i
7、nfo);p-info.type=payout;if(head=NULL)head=p;)elseget_last(head)-next=p;)void search_payout()search_data(payout);void delete_payout()delete_data(payout);)void update_payout()update_data(payout);void count_total()float total_income=0.0;float total_payout=0.0;fi_data *p=head;while(p!=NULL)if(p-info.typ
8、e=income)total_income+=p-info.money;elsetotal_payout+=p-info.money;)p=p-next;printf(H+nu);total_income,printfCl合計收入丨合計支出丨結(jié)余l(xiāng)n”); printf(H+4卜n);printf(Hl% 12.2fl% 12.2fl% 12.2flnH, total_payout,total_income - total_payout); printf(Hd+卜n);printfC按任意鍵繼續(xù)返回主菜單”); fflush(stdin);getchar();)void search_data
9、(fi_type type)int year=O;int month=0;fi_data *p=NULL;fi_data *result9=NULL);int count=0;char input=:while(l)printf(”請輸入要查詢的年月(例如:2009/1) “); if(scanf(%d/%dM,&year,&month)!=2) printf(”輸入錯誤。n”);)else p=head;count=0;memset(result,0,sizeof(fi_data*);while(p!=NULL)& p-if(p-info.year=year & p-info.month=m
10、onth info.type=type)if(count輸入空格并回車翻頁。其他鍵退出。n); fflush(stdin);input=getchar();if(input=*)memset(result,0,sizeof(fi_data*);count=0;resultcount=p;count+;)elsebreak;p=p-next;)if(count!=0)show_info(result,count);)elseprintf(”沒有找到數(shù)據(jù)。n“); printf(M繼續(xù)查找其他數(shù)據(jù)?(y or n)n); fflush(stdin);input=getchar(); if(inpu
11、t=,yllinput=Y)continue;)elsebreak;void delete_data(fi_type type)int year=0;int month=0;fi_data *p=NULL;fi_data *pre=NULL;fi_data *result9=NULL);int count=0;char input=int i=0;while(l)printf(n請輸入要查詢的年月(例如:2009/1) “);if(scanf(%d/%d,&year,&month)!=2)printf(”輸入錯誤。n”);)elsep=head;count=0;memset(result,0,
12、sizeof(fi_data*);while(p!=NULL)if(p-info.year=year & p-info.month & p-info.type) if(count=9) resultcount=p;count+;)elseshow_info(result,count);printfC請輸入空格并回車翻頁。輸入對應(yīng)的序號刪除。其他鍵 退出:”); fflush(stdin) input=getchar();if(input=,)memset(result,0,sizeof(fi_data*);count=0;resultcount=p;count+;)else if(input=
13、,r & inputv=48+count)i=input-49;pre=get_previous(resulti);if(pre=NULL)head=head-next;)elsepre-next=resulti-next;)free(resulti);for(;i刪除成功。n”);else break;p=p-next;)if(count!=0)show_info(result,count);printfC輸入對應(yīng)的序號刪除。其他鍵退出。); fflush(stdin);input=getchar();if(input=T & inputnext;elsepre-next=resulti-n
14、ext;)free(resulti);for(;i 刪除成功.n“);elseprintfC*沒有找到數(shù)據(jù)。n“);printf(”繼續(xù)查找數(shù)據(jù)? (y or n)H); fflush(stdin);input=getchar();if(input= y1 II input=,Y,)continue; ) else break;void update_data(fi_type type)int year=0;int month=0;fi_data *p二NULL;fi_data *pre=NULL;fi_data *result9=NULL);int count=0;char input=in
15、t i=0;while(l)printfC請輸入要查詢的年月(例如:2009/1) “);if(scanf(%d/%dM,&year,&month)!=2)printf(n輸入錯誤。n”);)elsep=head;count=0;memset(result,0,sizeof(fi_data*);while(p!=NULL)& p-if(p-info.year=year & p-info.month=monthinfo.type=type)if(count輸入空格并回車翻頁。輸入對應(yīng)的序號修改。其他鍵退 出?!?;fflush(stdin);input=getchar();if(input=*)
16、memset(result,0,sizeof(fi-data*);count=0;resultcount=p;count+;)else if(input=,r & inputv=48+count)i 二 input-49;input_info (&(resulti-info);printf(修改成功o nn);p=get_previous(p);elsebreak;p=p-next;if(count!=0)show_info(result,count);prin曲、輸入對應(yīng)的序號修改。其他鍵退出。n);fflush(stdin);input=getchar();if(input= T & in
17、putv=48+count)i=input-49;input_info (&(resulti-info);show_info(result,count);printf(M修改成功o n);elseprintfC沒有找到數(shù)據(jù)。n“);)printf(”繼續(xù)查找數(shù)據(jù)? (y or n)”); fflush(stdin);input=getchar();if(input=y, II input=Y)continue;)elsebreak;void initialize()FILE *fp二NULL;fi_data *p二NULL;fi_data *last=NULL;int count=0;fp=fopen(DATA_FILE,rbH); if(fp=NULL) fp=fopen(DATA_FILE;,wn); fclose(fp);return;p=(fi_data*)malloc(sizeof(fi_data); memset(p,0,sizeof(fi_data);p-next=NULL;wh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會計畢業(yè)實踐報告范文
- 2025年龍巖駕駛資格證模擬考試
- 高爾夫球場用拖車行業(yè)深度研究報告
- 2025光纖電路租用合同
- 上海外國語大學(xué)《投資學(xué)專業(yè)綜合實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 護理暑期實踐報告范文
- 上海視覺藝術(shù)學(xué)院《證券投資》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海師范大學(xué)天華學(xué)院《中級筆譯》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海師范大學(xué)《數(shù)據(jù)新聞》2023-2024學(xué)年第一學(xué)期期末試卷
- 上海師范大學(xué)《環(huán)境污染與修復(fù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年1月浙江省高中學(xué)業(yè)水平考試政治試卷試題(含答案解析)
- 學(xué)校網(wǎng)絡(luò)合同范例
- 2022-2023學(xué)年上海市浦東區(qū)高二(上)期末語文試卷
- 工程建設(shè)安全專項整治三年行動實施方案
- 【MOOC】英文技術(shù)寫作-東南大學(xué) 中國大學(xué)慕課MOOC答案
- 輻射與防護學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 大學(xué)生助農(nóng)直播創(chuàng)業(yè)計劃書
- 2-05SFG04 防空地下室室外出入口部鋼結(jié)構(gòu)裝配式防倒塌棚架結(jié)構(gòu)設(shè)計
- 串宮壓運推算表
- 《電力拖動與運動控制系統(tǒng)》課程設(shè)計雙閉環(huán)直流調(diào)速系統(tǒng)的設(shè)計
- 畢業(yè)設(shè)計(論文)RLC測量儀設(shè)計
評論
0/150
提交評論