下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>#define LEN sizeof(struct financial)#define FFORMAT "%-8d%-15s%-10d%-10d%-12.2f%-12.2f%-12.2fn"#define DATA memberi.num,,memberi.month,memberi.year,memberi.income,me mberi.output,memb
2、eri.totalstruct financial/定义家庭成员信息int num;/编号char name15;/家庭成员姓名int month;/月份int year;/年份float income;/收入float output;/支出float total;/总金额;struct financial member50;/定义结构体数组void menu();/主界面void in();/录入家庭成员收支信息void show();/显示家庭成员收支信息void del();/删除家庭成员收支信息void modify();/修改家庭成员收支信息void total();/计算家庭成员总
3、收入void search();/查找家庭成员收支信息int main()int n;menu();scanf("%d",&n);/输入数字选择功能while(n)switch(n)case 1:in();/调用录入家庭成员信息函数break;case 2:search();/查找家庭成员信息函数break;case 3:del();/调用删除家庭成员信息函数参考.break;case 4:modify();/调用修改家庭成员信息函数break;case 5:total();/调用汇总函数break;default:break;printf("按任意键返回
4、主菜单:n");getch();menu(); / 执行完功能再次显示菜单界面 scanf("%d",&n);return 0;void menu()system("cls");printf("|-|n");printf("|-家庭财务信息系统-|n");printf("|0.退出|n");printf("|1.录入信息|n");printf("|2.查找信息|n");printf("|3.删除信息|n");print
5、f("|4.修改信息|n");printf("|5.统计信息|n");printf("|-|n");printf("选择 (0-5):");void in()/录入家庭成员信息int i,m=0;char ch2;FILE *fp;if(fp=fopen("家庭财务管理系统","ab+")=NULL)printf("不能打开文件 !n");return;while(!feof(fp)if(fread(&memberm ,LEN,1,fp)=1)m+
6、;/统计当前记录条数参考.fclose(fp);if(m=0)printf("没有找到 !n");else/system("cls");show();/调用 show 函数,显示原有信息if(fp=fopen("家庭财务管理系统","wb")=NULL)printf("不能打开文件 !n");return;for(i=0;i<m;i+)fwrite(&memberi ,LEN,1,fp);/向指定的磁盘文件写入信息printf("是否输入 ?(y/n):");s
7、canf("%s",ch);while(strcmp(ch,"Y")=0|strcmp(ch,"y")=0)/判断是否要录入新信息printf("编号 :");scanf("%d",&memberm.num);/输入家庭成员编号for(i=0;i<m;i+)if(memberi.num = memberm.num)printf("该记录已经存在,按任意键继续!");getch();fclose(fp);return;printf("家庭成员姓名:&qu
8、ot;);scanf("%s",);/输入家庭成员姓名printf("请输入月份 :");scanf("%d",&memberm.month);/输入月份printf("请输入年份 :");scanf("%d",&memberm.year);/输入年份printf("请输入收入 :");scanf("%f",&memberm.income);/输入收入printf("请输入支出 :");s
9、canf("%f",&memberm.output);/输入支出memberm.total=memberm.income-memberm.output;参考./ 汇总if(fwrite(&memberm,LEN,1,fp)!=1)/ 将新录入的信息写入指定的磁盘文件printf("不能保存 !");getch();elseprintf("%s已经保存 !n",);m+;printf("是否继续 ?(y/n):");scanf("%s",ch);fclose
10、(fp);printf("OK!n");void show()FILE *fp;int i,m=0;fp=fopen("家庭财务管理系统","ab+");while(!feof(fp)if(fread(&memberm ,LEN,1,fp)=1)m+;fclose(fp);printf("编号成员月份年分收入支出总金额 tn");for(i=0;i<m;i+)printf(FFORMAT,DATA);void del()FILE *fp;int snum,i,j,m=0;char ch2;if(fp=
11、fopen("家庭财务管理系统","ab+")=NULL)参考.printf("不能打开文件 n");return;while(!feof(fp)if(fread(&memberm,LEN,1,fp)=1)m+;fclose(fp);if(m=0)printf("没有记录 !n");return;printf("请输入编号 :");scanf("%d",&snum);for(i=0;i<m;i+)if(snum=memberi.num)break;if(
12、i=m)printf("没有找到 !");return;printf("已经找到该记录,是否删除?(y/n)");scanf("%s",ch);if(strcmp(ch,"Y")=0|strcmp(ch,"y")=0)/ 判断是否要进行删除for(j=i;j<m;j+)memberj = memberj+1;/将后一个记录移到前一个记录的位置m-;/记录的总个数减1printf("成功删除 !n");if(fp=fopen("家庭财务管理系统",&q
13、uot;wb")=NULL)printf("不能打开 !n");return;for(j=0;j<m;j+)/将更改后的记录重新写入指定的磁盘文件中if(fwrite(&memberj ,LEN,1,fp)!=1)参考.printf("不能保存 !n");getch();fclose(fp);void search()FILE *fp;int snum,i,m=0;char ch2;if(fp=fopen("家庭财务管理系统","ab+")=NULL)printf("不能打开文件
14、n");return;while(!feof(fp)if(fread(&memberm,LEN,1,fp)=1)m+;fclose(fp);if(m=0)printf("没有记录 !n");return;printf("请输入编号 :");scanf("%d",&snum);for(i=0;i<m;i+)if(snum = memberi.num)printf("已经找到该记录,是否显示?(y/n)");scanf("%s",ch);if(strcmp(ch,&q
15、uot;Y")=0|strcmp(ch,"y")=0)printf("编号成员月份年份收入支出总金额 tn");printf(FFORMAT,DATA);break;elsereturn;if(i=m)printf("没有找到相应的记录!n");参考.void modify()FILE *fp;int i,j,m=0,snum;char ch2;if(fp=fopen("家庭财务管理系统","ab+")=NULL)printf("不能打开文件 !n");return
16、;while(!feof(fp)if(fread(&memberm,LEN,1,fp)=1)m+;if(m=0)printf("没有记录 !n");fclose(fp);return;printf("请输入要修改的记录信息的编号!n");scanf("%d",&snum);for(i=0;i<m;i+)if(snum=memberi.num)/检索记录中是否有要修改的信息printf("已经找到该记录,是否修改?(y/n)n");scanf("%s",ch);if(strc
17、mp(ch,"Y")=0|strcmp(ch,"y")=0)printf("家庭成员姓名:");scanf("%s",);/输入家庭成员姓名printf("请输入月份 :");scanf("%d",&memberi.month);/输入月份printf("请输入年份 :");scanf("%d",&memberi.year);/输入年份printf("请输入收入 :");sca
18、nf("%f",&memberi.income);/输入收入printf("请输入支出 :");参考.scanf("%f",&memberi.output);/输入支出memberi.total=memberi.income-memberi.output;/ 汇总printf("保存成功 !");elsereturn;elseprintf("没有找到 !");return;if(fp=fopen("家庭财务管理系统","wb")=NULL)printf("不能打开文件 !n");return;for(j=0;j<m;j+)/将新修改的信息写入指定的磁盘文件中if(fwrite(&memberj ,LEN,1,fp)!=1)printf("不能保存 !");fclose(fp);void total()/统计FILE *f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋销售中介协议书
- 房租减免抵扣协议书
- 房贷楼房买卖协议书
- 房顶保固协议书范本
- 手机信号覆盖协议书
- 手机购买合同协议书
- 打包债务延期协议书
- 打孔庄安全合同协议
- 托管安全协议书模板
- 2021智慧树《西方文论经典导读》网课章节测试完整答案
- 急性心肌梗死合并室壁瘤
- 湖北宜化化工面试题及答案
- 2025年废旧电子产品拆解合同协议
- 2025智能制造行业物流与供应链数字化转型解决方案
- 2025年非处方药试题及答案详解
- 陕西省咸阳市武功县2026届11月高三质量监测英语(含答案)
- 2024年河南省体育彩票管理中心招聘真题
- 计算机整机装配调试员岗前岗位环保责任制考核试卷含答案
- 世界近代国家兴衰的故事(哈尔滨师范大学)知到智慧树网课答案
- 2025年游戏开发保密合同协议
- 乳糜漏课件教学课件
评论
0/150
提交评论