版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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家庭财务管理系统“+“I收入管理“I 1hi n ,rl 3“I支出管理ln
4、“I5添加支出ln-“I 6查询支出明细ln”“I7删除支出ln-nl8修改支出ln“I统计ln”“I 9统计总收入总支出ln”+n“I 0退出系统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之间的数字!按任意键重 试.”,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合计收入丨合计支出丨结余ln”); printf(H+4卜n);printf(Hl% 12.2fl% 12.2fl% 12.2flnH, total_payout,total_income - total_payout); printf(Hd+卜n);printfC按任意键继续返回主菜单”); 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(”没有找到数据。n“); printf(M继续查找其他数据?(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请输入空格并回车翻页。输入对应的序号删除。其他键 退出:”); 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输入对应的序号删除。其他键退出。); fflush(stdin);input=getchar();if(input=T & inputnext;elsepre-next=resulti-n
14、ext;)free(resulti);for(;i 删除成功.n“);elseprintfC*没有找到数据。n“);printf(”继续查找数据? (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输入空格并回车翻页。输入对应的序号修改。其他键退 出。”);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曲、输入对应的序号修改。其他键退出。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没有找到数据。n“);)printf(”继续查找数据? (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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《移动通信天线系统》课件
- 《目标市场定位分析》课件
- 《电液比例控制泵》课件
- 《益智游戏与趣题》课件
- 《国民经济过程统计》课件
- 电工与道桥课程设计
- 《历史股灾风云录》课件
- 2024微信小程序开发服务合同
- 《中山病例讨论》课件
- 电子支付与结算课程设计
- 【初中道法】爱护身体+课件-2024-2025学年统编版(2024)道德与法治七年级上
- 2024年医疗器械经营质量管理规范培训课件
- 电气工程及其自动化职业规划课件
- 建筑施工安全生产治本攻坚三年行动方案(2024-2026年)
- DL-T 1476-2023 电力安全工器具预防性试验规程
- 中国戏曲剧种鉴赏智慧树知到期末考试答案章节答案2024年上海戏剧学院等跨校共建
- 心理安全网格化监管实施方案
- 汉书_司马迁传全文
- 电子商务基础一体化工作页
- 钢筋混凝土课程设计
- 空劲气功初级功法[整理版]
评论
0/150
提交评论