家庭财务管理系统源代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

#include

#include

#include

#define LEN sizeof(struct financial)

#define FFORMAT "%-8d%-15s%-10d%-10d%-12.2f%-12.2f%-12.2f\n"

#define DATA member[i].num,member[i].name,member[i].month,member[i].year,member[i].income,member[i ].output,member[i].total

struct financial //定义家庭成员信息

{

int num; //编号

char name[15]; //家庭成员姓名

int month; //月份

int year; //年份

float income; //收入

float output; //支出

float total; //总金额

};

struct financial member[50]; //定义结构体数组

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 ch[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;

相关文档
最新文档