下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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"DATA#definememberi.num,,memberi.month,memberi.year,memberi.income,memberi.output,memberi.
2、totalstruct financialint 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();void search();int main()int n;menu();scanf("%d"
3、;,&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("按任意键返回主菜单:n");getch();menu();
4、执行完功能再次显示菜单界面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");printf("|4.修改信息|n");printf(&quo
5、t;|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)m+;if(fread(&memberm ,LEN,1,fp)=1)统计当前记录条数fclose(fp);if(m=0)printf("没有找到!n&q
6、uot;); 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):");scanf("%s",ch);while(strcmp(ch,"Y")=0
7、|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("家庭成员姓名:");scanf("%s",);输入家庭成员姓名printf(&quo
8、t;请输入月份:");scanf("%d",&memberm.month);输入月份printf("请输入年份:");scanf("%d",&memberm.year);输入年份printf("请输入收入:");scanf("%f",&memberm.income);输入收入printf("请输入支出:");memberm.output;scanf("%f",&memberm.output);输入支出memberm
9、.total=memberm.income汇总if(fWrite(&memberm,LEN,1,fp)!=1)/将新录入的信息写入指定的磁盘文件printf("不能彳呆存!");getch();elseprintf("%s 已经保存!n",);m+;printf("是否继续?(y/n):");scanf("%s",ch);fclose(fp);printf("OK!n");void show()FILE *fp;int i,m=0;fp=fopen("家
10、庭财务管理系统","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=fopen("家庭财务管理系统","ab+")=NULL)printf("不能打开文件n");
11、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(i=m)printf("没有找到!");return;printf("已经找到该记录,是否删除 ?(y/n)");scanf("
12、;%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("家庭财务管理系统","wb")=NULL)printf("不能中T开!n");return;for(j=0;j<m;j+)将更改后的记录重新写入指定的磁盘文件中if
13、(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("不能打开文件n");return;while(!feof(fp)if(fread(&memberm,LEN,1,fp)=1)m+;fclose(fp);if(m=0)printf("
14、没有记录!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,"Y")=0|strcmp(ch,"y")=0)t'n");printf("编号成员月份年份收入支出总金额printf(FFORMAT,DATA)
15、;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;while(!feof(fp)if(fread(&memberm,LEN,1,fp)=1)m+;if(m=0)printf("没有记录!n");fclose(fp);return
16、;printf("请输入要修改的记录信息的编号!n");scanf("%d",&snum);for(i=0;i<m;i+)if(snum=memberi.num)/检索记录中是否有要修改的信息printf("已经找到该记录,是否修改 ?(y/n)n");scanf("%s",ch);if(strcmp(ch,"Y")=0|strcmp(ch,"y")=0)printf("家庭成员姓名:");scanf("%s",membe
17、);输入家庭成员姓名printf("请输入月份:");scanf("%d",&memberi.month);输入月份printf("请输入年份:");scanf("%d",&memberi.year);/ 输入年份printf("请输入收入:");scanf("%f",&memberi.income);输入收入printf("请输入支出:");汇scanf("%f",&memberi.out
18、put);输入支出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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论