您好,欢迎来到叨叨游戏网。
搜索
您的当前位置:首页家庭财务管理系统源代码

家庭财务管理系统源代码

来源:叨叨游戏网


#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\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\

}

return 0;

}

void menu()

{

system(\"cls\");

printf(\"|-------------------------------------------------|\\n\");

printf(\"|--------------------家庭财务信息系统-------------|\\n\");

printf(\"| 0. 退出 |\\n\");

printf(\"| 1. 录入信息 |\\n\");

printf(\"| 2. 查找信息 |\\n\");

printf(\"| 3. 删除信息 |\\n\");

printf(\"| 4. 修改信息 printf(\"| 5. 统计信息 printf(\"|-------------------------------------------------|\\n\");

printf(\"选择(0-5):\");

}

void in() //录入家庭成员信息

{

int i,m=0;

char ch[2];

FILE *fp;

|\\n\");

|\\n\");

if((fp=fopen(\"家庭财务管理系统\

{

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(\"家庭财务管理系统\

{

printf(\"不能打开文件!\\n\");

return;

}

for(i=0;ifwrite(&member[i] ,LEN,1,fp); //向指定的磁盘文件写入信息

printf(\"是否输入?(y/n):\");

scanf(\"%s\

while(strcmp(ch,\"Y\")==0||strcmp(ch,\"y\")==0) //判断是否要录入新信息

{

printf(\"编号:\");

scanf(\"%d\ for(i=0;iif(member[i].num == member[m].num)

{

printf(\"该记录已经存在,按任意键继续!\");

getch();

fclose(fp);

return;

}

//输入家庭成员编号

printf(\"家庭成员姓名:\");

scanf(\"%s\ //输入家庭成员姓名

printf(\"请输入月份:\");

scanf(\"%d\ printf(\"请输入年份:\");

scanf(\"%d\ printf(\"请输入收入:\");

scanf(\"%f\ printf(\"请输入支出:\");

scanf(\"%f\ member[m].total=member[m].income //汇总

if(fwrite(&member[m],LEN,1,fp)!=1) //将新录入的信息写入指定的磁盘文件

//输入月份

//输入年份

//输入收入

//输入支出

member[m].output; -

{

printf(\"不能保存!\");

getch();

}

else

{

printf(\"%s 已经保存!\\n\

m++;

}

printf(\"是否继续?(y/n):\");

scanf(\"%s\

}

fclose(fp);

printf(\"OK!\\n\");

}

void show()

{

FILE *fp;

int i,m=0;

fp=fopen(\"家庭财务管理系统\

while(!feof(fp))

{

if(fread(&member[m] ,LEN,1,fp)==1)

m++;

}

fclose(fp);

printf(\"编号成员月份年分收入支出总金额 \\\n\");

for(i=0;i{

printf(FFORMAT,DATA);

}

}

void del()

{

FILE *fp;

int snum,i,j,m=0;

char ch[2];

if((fp=fopen(\"家庭财务管理系统\

{

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\

for(i=0;iif(snum==member[i].num)

break;

if(i==m)

{

printf(\"没有找到!\");

return;

}

printf(\"已经找到该记录,是否删除?(y/n)\");

scanf(\"%s\

if(strcmp(ch,\"Y\")==0||strcmp(ch,\"y\")==0) //判断是否要进行删除

{

for(j=i;jmember[j] //将后一个记录移到前一个记录的位置

= member[j+1];

m--; //记录的总个数减1

printf(\"成功删除!\\n\");

}

if((fp=fopen(\"家庭财务管理系统\

{

printf(\"不能打开!\\n\");

return;

}

for(j=0;jif(fwrite(&member[j] ,LEN,1,fp)!=1)

//将更改

{

printf(\"不能保存!\\n\");

getch();

}

fclose(fp);

}

void search()

{

FILE *fp;

int snum,i,m=0;

char ch[2];

if((fp=fopen(\"家庭财务管理系统\

{

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\

for(i=0;iif(snum == member[i].num)

{

printf(\"已经找到该记录,是否显示?(y/n)\");

scanf(\"%s\

if(strcmp(ch,\"Y\")==0||strcmp(ch,\"y\")==0)

{

printf(\"编号成员月份年份收入支出总金额\\\n\");

printf(FFORMAT,DATA);

break;

}

else

return;

}

if(i==m)

printf(\"没有找到相应的记录!\\n\");

}

void modify()

{

FILE *fp;

int i,j,m=0,snum;

char ch[2];

if((fp=fopen(\"家庭财务管理系统\

{

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\

for(i=0;iif(snum==member[i].num) //检索记录中是否有要修改的信息

{

printf(\"已经找到该记录,是否修改?(y/n)\\n\");

scanf(\"%s\

if(strcmp(ch,\"Y\")==0||strcmp(ch,\"y\")==0)

{

printf(\"家庭成员姓名:\");

scanf(\"%s\ 入家庭成员姓名

printf(\"请输入月份:\");

scanf(\"%d\ 入月份

printf(\"请输入年份:\");

//输//输

scanf(\"%d\ //输入年份

printf(\"请输入收入:\");

scanf(\"%f\ //输入收入

printf(\"请输入支出:\");

scanf(\"%f\ member[i].total=member[i].income - member[i].output; 总

printf(\"保存成功!\");

}

else

return;

}

else

//输入支出

//汇

{

printf(\"没有找到!\");

return;

磁盘文件中

}

if((fp=fopen(\"家庭财务管理系统\

{

printf(\"不能打开文件!\\n\");

return;

}

for(j=0;j{

printf(\"不能保存!\");

}

fclose(fp);

}

void total() // 统计

{

FILE *fp;

int m=0;

if((fp=fopen(\"家庭财务管理系统\

{

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\ fclose(fp);

} //将统计的个数输出

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.net 版权所有 湘ICP备2024080961号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务