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

下载本文档

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

文档简介

。#include#include#include#include#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,memberi.output,memberi.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(); /计算家庭成员总收入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(按任意键返回主菜单: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); 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(!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,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,&memberm.year); /输入年份printf(请输入收入:); scanf(%f,&memberm.income); /输入收入printf(请输入支出:); scanf(%f,&memberm.output); /输入支出 memberm.total=memberm.income - memberm.output; /汇总 if(fwrite(&memberm,LEN,1,fp)!=1) /将新录入的信息写入指定的磁盘文件 printf(不能保存!); getch(); else printf(%s 已经保存!n,); m+; printf(是否继续?(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(家庭财务管理系统,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) break; if(i=m) printf(没有找到!); return; printf(已经找到该记录,是否删除?(y/n); scanf(%s,ch); if(strcmp(ch,Y)=0|strcmp(ch,y)=0) /判断是否要进行删除 for(j=i;jm;j+) memberj = memberj+1; /将后一个记录移到前一个记录的位置 m-; /记录的总个数减1 printf(成功删除!n); if(fp=fopen(家庭财务管理系统,wb)=NULL) printf(不能打开!n); return; for(j=0;jm;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(不能打开文件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|strcmp(ch,y)=0) printf(编号 成员 月份 年份 收入 支出 总金额tn); printf(FFORMAT,DATA); break; else return; 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; 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(请输入年份:); scanf(%d,&memberi.year); /输入年份 printf(请输入收入:); scanf(%f,&memberi.income); /输入收入 printf(请输入支出:); scanf(%f,&memberi.output); /输入支出 memberi.total=memberi.income - memberi.output; /汇总 printf(保存成功!); else return; else printf(没有找到!); return; if(fp=fopen(家庭财务管理系统,wb)=NULL) printf(不能打开文件!n); return; for(j=0;jm;j+) /将新修改的信息写入指定的磁盘文件中 if(fwrite(&memberj ,LEN,1,fp)!=1) printf(不能保存!); fclose(fp);void total() / 统计 FILE *fp; int m=0; if(fp=fopen(家庭财务管理系统,ab+)=NULL) printf

温馨提示

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

评论

0/150

提交评论