家庭财务管理系统源代码.docx
- 文档编号:29148026
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:14
- 大小:16.14KB
家庭财务管理系统源代码.docx
《家庭财务管理系统源代码.docx》由会员分享,可在线阅读,更多相关《家庭财务管理系统源代码.docx(14页珍藏版)》请在冰豆网上搜索。
家庭财务管理系统源代码
#include
#include
#include
#include
#defineLENsizeof(structfinancial)
#defineFFORMAT"%-8d%-15s%-10d%-10d%-12.2f%-12.2f%-12.2f\n"
#defineDATAmember[i].num,member[i].name,member[i].month,member[i].year,member[i].income,member[i].output,member[i].total
structfinancial//定义家庭成员信息
{
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 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 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 { 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 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 member[j]=member[j+1];//将后一个记录移到前一个记录的位置 m--;//记录的总个数减1 printf("成功删除! \n"); } if((fp=fopen("家庭财务管理系统","wb"))==NULL) { printf("不能打开! \n"); return; } for(j=0;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 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; } else return; } 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 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("保存成功! "); } else return; } else { printf("没有找到! "); return; } if((fp=fopen("家庭财务管理系统","wb"))==NULL) { printf("不能打开文件! \n"); return; } for(j=0;j if(fwrite(&member[j],LEN,1,fp)! =1) { printf("不能保存! "); } fclose(fp); } voidtotal()//统计 { FILE*fp; intm=0; 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("一共有%d条记录! \n",m);//将统计的个数输出 fclose(fp); } ..
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 家庭 财务管理 系统 源代码