《家庭财务管理系统源代码》由会员分享,可在线阅读,更多相关《家庭财务管理系统源代码(9页珍藏版)》请在金锄头文库上搜索。
1、#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.name,memberi.month,memberi.year,memberi.income,memberi.output,memberi.totalstruct financial /定义家庭成员信息 int num; /编号 char name15; /家庭成员姓名 int mo
2、nth; /月份 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();
3、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,&
4、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(家庭
5、财务管理系统,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); /向指定的磁盘文件写入信息
6、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,memberm.name); /输入家庭成员姓名 printf(请输入月份:); sca
7、nf(%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,memberm.name); m+; printf(是否继续?(y/n):); scanf(%s,ch); fclose(fp); printf(OK!n);void show()