C语言个人财务小管家课程设计
![C语言个人财务小管家课程设计](https://img.360docs.net/img5c/1asmyi9f1p513eik0knntw3djvg338yb-c1.webp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
个人小管家应用系统给家庭提供了一个管理个人财务的平台,主要用于对家庭成员收入、支出进行添加、查询、删除、修改以及打印的操作,使得家庭财务收支状况一目了然。
主要功能包括:
(1)主菜单。主要包括收入管理、支出管理和退出;
(2)添加收入记录;
(3)查询收入记录;
(4)删除收入记录;
(5)修改收入记录;
(6)打印收入记录;
(7)添加支出记录;
(8)查询支出记录;
(9)删除支出记录;
(10)修改支出记录;
(11)打印支出记录;
(12)退出系统。
#include
#include
#include
#include
#include
#define SIZE 100
typedef struct
{
long no; /*每一组输入的编号*/
long Number; /*家庭成员编号*/
char Name[20]; /*家庭成员姓名*/
float in; /*家庭成员收入*/
char intime[10]; /*收入时间*/
float out; /*家庭成员支出*/
char outtime[10]; /*支出时间*/
float sum; /*总计*/
}money;
//--------------------------------------------------------------
void dayinshou()
{ FILE *fp;
money Tm;
char Da[40],next;
printf("请输入你要查询的文件名\n");
gets(Da);
fp=fopen(Da,"rb"); /*只读方式打开二进制文件*/
if (fp==NULL)
{
printf("\n打开文件%s失败!按任意键结束!\n",Da);
exit(0);
}
printf("文件全部内容如下:\n\n");
while(fread(&Tm,sizeof(money),1,fp)!=(int)NULL) /*读取文件内容,并判断是否成功*/ { printf("###############################################\n");
printf("\n成员编号:%ld\n",Tm.Number);
printf("成员姓名:%s\n",);
printf("成员收入:%f元\n",Tm.in);
printf("收入时间:%s\n",Tm.intime);
printf("###############################################\n");
printf("\n\n");
}
fclose(fp);
next=getche();
}
//--------------------------------------------------------------------------
void dayinzhi()
{ FILE *fp;
money Tm;
char Da[40],next;
printf("请输入你要查询的文件名\n");
gets(Da);
fp=fopen(Da,"rb"); /*只读方式打开二进制文件*/
if (fp==NULL)
{
printf("\n打开文件%s失败!按任意键结束!\n",Da);
exit(0);
}
printf("文件全部内容如下:\n\n");
while(fread(&Tm,sizeof(money),1,fp)!=(int)NULL) /*读取文件内容,并判断是否成功*/ { printf("###############################################\n");
printf("\n成员编号:%ld\n",Tm.Number);
printf("成员姓名:%s\n",);
printf("成员支出:%f元\n",Tm.out);
printf("支出时间:%s\n",Tm.outtime);
printf("###############################################\n");
printf("\n\n");
}
fclose(fp);
next=getche();
}
//-------------------------------------------------------------------------------
void chaxunzhi() /*按编号查询家庭成员财务支信息记录*/
{
int result;/* "result=1"说明查询成功,反之查找失败*/
money Tm; /*定义进行操作时的临时结构体变量*/
long bianhao,before=0;
char Da[40],next;
/*Da存储家庭成员财务信息的文件名,next为是否进行下一次操作的选项*/
FILE *fp=NULL;
/*提示用户输入要查询的文件名*/
printf("\n 请输入存储数据的文件名,按回车键结束。\n");
gets(Da);
/*提示用户输入要查询的家庭成员编号*/
begin:
result=0;system("cls");
printf("请输入要查询的家庭成员编号,按回车键结束。\n");
scanf("%ld",&bianhao);
getchar();
fp=fopen(Da,"rb"); /*只读方式打开文件*/
if (fp==NULL)
{
printf("\n打开文件%s 失败!按任意键结束!\n",Da);
exit(0);
}
/*循环查找和输入编号相匹配的家庭成员财务收支信息记录,如果查找到,则输出结果*/
while(feof(fp)==0) /*没有读到文件的结尾*/
{if(fread(&Tm,sizeof(money),1,fp)!=(int)NULL) /*判断是否从文件中成功读取数据*/ { if (Tm.Number==bianhao) /*文件内容编号和输入编号一致*/ { if(before!=Tm.Number)
{system("cls");printf("\n查找成功!\n\n您要查找的家庭成员的信息如下:\n");}
printf("######################################\n");
printf("\n成员编号:%ld\n",Tm.Number);
printf("成员姓名:%s\n",);
printf("成员支出:%f 元\n",Tm.out);
printf("支出时间:%s\n",Tm.outtime);