家庭财务管理系统源代码_第1页
家庭财务管理系统源代码_第2页
家庭财务管理系统源代码_第3页
家庭财务管理系统源代码_第4页
家庭财务管理系统源代码_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include#include#include#include#define LEN sizeof(struct financial)#define FFORMAT %-8d%-15s%-10d%-10d%-12.2f%-12.2f%-12.2fnDATA#definememberi.num,,memberi.month,memberi.year,memberi.income,me mberi.output,memberi.totalstruct financial/int num;/char name15;/int month;/int year; / float

2、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,&n); / while(n)switch(n)case 1:in(); /break;case 2:search(); / break;case 3:del(); /定义家庭成员信息编号家庭成员

3、姓名月份年份收入支出总金额定义结构体数组主界面 录入家庭成员收支信息 显示家庭成员收支信息 删除家庭成员收支信息 修改家庭成员收支信息 计算家庭成员总收入 查找家庭成员收支信息输入数字选择功能调用录入家庭成员信息函数查找家庭成员信息函数调用删除家庭成员信息函数break; case 4:modify(); / 调用修改家庭成员信息函数 break;case 5:total(); / 调用汇总函数 break;default:break;printf( 按任意键返回主菜单 :n);getch();menu(); / 执行完功能再次显示菜单界面 scanf(%d,&n);return 0;void

4、 menu()system(cls);printf(|-|n);printf(|家庭财务信息系统 -|n)printf(|0.退出|n);printf(|1.录入信息|n);printf(|2.查找信息|n);printf(|3.删除信息|n);printf(|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(!

5、feof(fp)if(fread(&memberm ,LEN,1,fp)=1)m+; / 统计当前记录条数 fclose(fp); if(m=0)printf(没有找到 !n);else/system(cls);show(); / 调用 show 函数,显示原有信息 if(fp=fopen( 家庭财务管理系统 ,wb)=NULL)printf( 不能打开文件 !n);return; for(i=0;im;i+)向指定的磁盘文件写入信息fwrite(&memberi ,LEN,1,fp); / printf( 是否输入 ?(y/n):);scanf(%s,ch);while(strcmp(ch,

6、Y)=0|strcmp(ch,y)=0) /printf( 编号 :);scanf(%d,&memberm.num); / for(i=0;im;i+)if(memberi.num = memberm.num)printf( 该记录已经存在,按任意键继续 getch();fclose(fp);return;printf( 家庭成员姓名 :);scanf(%s,); / 姓名判断是否要录入新信息输入家庭成员编号!);输入家庭成员printf( 请输入月份 :); scanf(%d,&memberm.month); / printf( 请输入年份 :); scanf(%d,

7、&memberm.year);/printf( 请输入收入 :); scanf(%f,&memberm.income);/printf( 请输入支出 :); scanf(%f,&memberm.output); /输入月份输入年份输入收入输入支出memberm.total=memberm.incomememberm.output;/ 汇总if(fwrite(&memberm,LEN,1,fp)!=1)/ 将新录入的信息写入指定的磁盘文件printf( 不能保存 !); getch();elseprintf(%s 已经保存 !n,); m+;printf( 是否继续 ?(

8、y/n):);scanf(%s,ch);fclose(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;im;i+) printf(FFORMAT,DATA);void del()FILE *fp;int snum,i,j,m=0;char ch2;if(fp=fopen( 家庭财务管理系统 ,a

9、b+)=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;im;i+) if(snum=memberi.num)break;if(i=m) printf( 没有找到 !);return;printf( 已经找到该记录,是否删除 ?(y/n); scanf(%s,ch);if(strcmp(ch,Y)=0|strc

10、mp(ch,y)=0)/ 判断是否要进行删除for(j=i;jm;j+)memberj = memberj+1; / 将后一个记录移到前一个记录的位置m-; 记录的总个数减 1printf( if(fp=fopen( printf(return;/成功删除 !n);家庭财务管理系统 ,wb)=NULL)不能打开 !n);精选资料,欢迎下载将更改后for(j=0;jm;j+) /的记录重新写入指定的磁盘文件中if(fwrite(&memberj ,LEN,1,fp)!=1)printf( 不能保存 !n); getch();fclose(fp);void search()FILE *fp;int

11、 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( 没有记录 !n);return;printf( 请输入编号 :);scanf(%d,&snum); for(i=0;im;i+)if(snum = memberi.num)printf( 已经找到该记录,是否显示 ?(y/n); scanf(%s,ch);if(strcmp(ch,Y)=0

12、|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; while(!feof(fp)if(fread(&memberm,LEN,1,fp)=1)m+; if(m=0) printf( 没有记录 !n);f

13、close(fp);return;printf( 请输入要修改的记录信息的编号 !n); scanf(%d,&snum);for(i=0;im;i+)if(snum=memberi.num) / 检索记录中 息printf( 已经找到该记录,是否修改 ?(y/n)n); scanf(%s,ch);if(strcmp(ch,Y)=0|strcmp(ch,y)=0)printf( 家庭成员姓名 :); scanf(%s,); / 入家庭成员姓名printf( 请输入月份 :); scanf(%d,&memberi.month); / 月份printf( 请输入年份 :);

14、scanf(%d,&memberi.year); / 份否有要修改的信输输入输入年输入收入printf( 请输入收入 :); scanf(%f,&memberi.income); / printf( 请输入支出 :);memberi.total=memberi.income- memberi.output;/ 汇总/scanf(%f,&memberi.output);输入支出printf( elsereturn;保存成功 !);elseprintf( return; if(fp=fopen(printf( return;for(j=0;jm;j+) 磁盘文件中没有找到 !);家庭财务管理系统 ,wb)=NULL)不能打开文件 !n);/ 将新修改的信息写入指定的if(fwrite(&memberj ,LEN,1,fp)!=1) printf( 不能保存 !); fclose(fp);void total() / 统计 FILE *fp;int m=0;if(f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论