家庭财务管理系统源代码

上传人:ba****u 文档编号:179600020 上传时间:2023-01-02 格式:DOCX 页数:8 大小:21.95KB
返回 下载 相关 举报
家庭财务管理系统源代码_第1页
第1页 / 共8页
家庭财务管理系统源代码_第2页
第2页 / 共8页
家庭财务管理系统源代码_第3页
第3页 / 共8页
点击查看更多>>
资源描述
/定义家庭成员信息/编号/家庭成员姓名/月份/年份/收入/支出/总金额/定义结构体数组/主界面/录入家庭成员收支信息/显示家庭成员收支信息/删除家庭成员收支信息/修改家庭成员收支信息/计算家庭成员总收入/查找家庭成员收支信息/输入数字选择功能/调用录入家庭成员信息函数/查找家庭成员信息函数/调用删除家庭成员信息函数#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 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;/输入家庭成员姓/输入月份/输入年份/输入收入/输入支出memberm.output;printf(家庭成员姓名:);scanf(%s,memberm.name);名printf(请输入月份:); scanf(%d,&memberm.month);printf(请输入年份:); scanf(%d,&memberm.year);printf(请输入收入:); scanf(%f,&memberm.income);printf(请输入支出:);scanf(%f,&memberm.output);memberm.total=memberm.income/汇总/将if(fwrite(&memberm,LEN,1,fp)!=1)新录入的信息写入指定的磁盘文件printf(不能保存!);getch();elseprintf(%s 已经保存!n,memberm.name);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);prints编号成员月份年分 收入支出总金额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)prin tf不能打开文件n); return;while(!feof(fp)if(fread(&memberm,LEN,1,fp)=1)m+;fclose(fp);if(m=0)prin tf没有记录!n);return;prin tf请输入编号:);scanf(%d,&snum);for(i=0;im;i+)if(snum=memberi.num)break;if(i=m)prin tf没有找到!);return;prin tf已经找到该记录,是否删除?(y/n); scanf(%s,ch);if(strcmp(ch,Y)=0|strcmp(ch,y)=0)是否要进行删除 for(j=i;jm;j+)memberj = memberj+1; 后一个记录移到前一个记录的位置 m-;录的总个数减1prin tf成功删除!n);if(fp=fope家庭财务管理系统,wb)=NULL)prin tf不能打开!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;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;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,memberi.name);/输入家庭成员姓名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(保存成功!);elsereturn;elseprints没有找到!);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(不能打开记录!n);return;while(!feof(fp)if(fread(&memberm,LEN,1,fp)=1)m+;/统计记录个数if(m=0)printf (没有记录!n);fclose(fp);return;/将统计的个数输出printf(一共有 d 条记录!n,m);fclose(fp);
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!