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

下载本文档

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

文档简介

#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>#defineLENsizeof(structfinancial)#defineFFORMAT"%-8d%-15s%-10d%-10d%-12.2f%-12.2f%-12.2f\n"#define DATAmember[i].num,member[i].name,member[i].month,member[i].year,member[i].income,member[i].output,member[i].totalstructfinancial//定义家庭成员信息{intnum;//编号charname[15];//家庭成员姓名intmonth;//月份intyear;//年份floatincome;//收入floatoutput;//支出floattotal;//总金额};structfinancialmember[50];//定义结构体数组voidmenu();//主界面voidin(); //录入家庭成员收支信息voidshow();//显示家庭成员收支信息voiddel();//删除家庭成员收支信息voidmodify();//修改家庭成员收支信息voidtotal();//计算家庭成员总收入voidsearch();//查找家庭成员收支信息intmain(){intn;menu();scanf("%d",&n);//输入数字选择功能while(n){switch(n){case1:in();//调用录入家庭成员信息函数break;case2:search();//查找家庭成员信息函数break;case3: del(); //调用删除家庭成员信息函数break;case4:modify();//调用修改家庭成员信息函数break;case5:total();//调用汇总函数break;default:break;}printf("按任意键返回主菜单:\n");getch();menu();//执行完功能再次显示菜单界面scanf("%d",&n);}return0;}voidmenu(){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):");}voidin()//录入家庭成员信息{inti,m=0;charch[2];FILE*fp;if((fp=fopen("家庭财务管理系统","ab+"))==NULL){printf("不能打开文件!\n");return;}while(!feof(fp)){if(fread(&member[m],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;i<m;i++)fwrite(&member[i],LEN,1,fp);//向指定的磁盘文件写入信息printf("是否输入?(y/n):");scanf("%s",ch);while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)//判断是否要录入新信息{printf("编号:");scanf("%d",&member[m].num); //输入家庭成员编号for(i=0;i<m;i++)if(member[i].num==member[m].num){printf("该记录已经存在,按任意键继续!");getch();fclose(fp);return;}printf("家庭成员姓名:");scanf("%s",member[m].name);//输入家庭成员姓名printf("请输入月份:");scanf("%d",&member[m].month);//输入月份printf("请输入年份:");scanf("%d",&member[m].year);//输入年份printf("请输入收入:");scanf("%f",&member[m].income);//输入收入printf("请输入支出:");scanf("%f",&member[m].output);//输入支出member[m].total=member[m].income - member[m].output;//汇总if(fwrite(&member[m],LEN,1,fp)!=1)//将新录入的信息写入指定的磁盘文件{printf("不能保存!");getch();}else{printf("%s已经保存!\n",member[m].name);m++;}printf("是否继续?(y/n):");scanf("%s",ch);}fclose(fp);printf("OK!\n");}voidshow(){FILE*fp;inti,m=0;fp=fopen("家庭财务管理系统","ab+");while(!feof(fp)){if(fread(&member[m],LEN,1,fp)==1)m++;}fclose(fp);printf("编号成员月份年分收入支出总金额\t\n");for(i=0;i<m;i++){printf(FFORMAT,DATA);}}voiddel(){FILE*fp;intsnum,i,j,m=0;charch[2];if((fp=fopen("家庭财务管理系统","ab+"))==NULL){printf("不能打开文件\n");return;}while(!feof(fp))if(fread(&member[m],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==member[i].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;j<m;j++)member[j] = member[j+1];//将后一个记录移到前一个记录的位置m--;//记录的总个数减1printf("成功删除!\n");}if((fp=fopen("家庭财务管理系统","wb"))==NULL){printf("不能打开!\n");return;}for(j=0;j<m;j++)//将更改后的记录重新写入指定的磁盘文件中if(fwrite(&member[j],LEN,1,fp)!=1) { printf("不能保存!\n");getch();}fclose(fp);}voidsearch(){FILE*fp;intsnum,i,m=0;charch[2];if((fp=fopen("家庭财务管理系统","ab+"))==NULL){printf("不能打开文件\n");return;}while(!feof(fp))if(fread(&member[m],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==member[i].num){printf("已经找到该记录,是否显示?(y/n)");scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0){printf("编号成员月份年份收入支出总金额\t\n");printf(FFORMAT,DATA);break;}elsereturn;} if(i==m) printf("没有找到相应的记录!\n");}voidmodify(){FILE*fp;inti,j,m=0,snum;charch[2];if((fp=fopen("家庭财务管理系统","ab+"))==NULL){printf("不能打开文件!\n");return;}while(!feof(fp))if(fread(&member[m],LEN,1,fp)==1)m++;if(m==0){printf("没有记录!\n");fclose(fp);return;}printf("请输入要修改的记录信息的编号!\n");scanf("%d",&snum);for(i=0;i<m;i++)if(snum==member[i].num)//检索记录中是否有要修改的信息{printf("已经找到该记录,是否修改?(y/n)\n");scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0){printf("家庭成员姓名:");scanf("%s",member[i].name);//输入家庭成员姓名printf("请输入月份:");scanf("%d",&member[i].month);//输入月份printf("请输入年份:");scanf("%d",&member[i].year);//输入年份printf("请输入收入:"); scanf("%f",&member[i].income);//输入收入 printf("请输入支出:");scanf("%f",&member[i].output);//输入支出member[i].total=member[i].income - member[i].output;//汇总printf("保存成功!");}elsereturn;}else{

温馨提示

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

评论

0/150

提交评论