家庭财务小管家.docx

上传人:b****8 文档编号:9233078 上传时间:2023-02-03 格式:DOCX 页数:46 大小:120.75KB
下载 相关 举报
家庭财务小管家.docx_第1页
第1页 / 共46页
家庭财务小管家.docx_第2页
第2页 / 共46页
家庭财务小管家.docx_第3页
第3页 / 共46页
家庭财务小管家.docx_第4页
第4页 / 共46页
家庭财务小管家.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

家庭财务小管家.docx

《家庭财务小管家.docx》由会员分享,可在线阅读,更多相关《家庭财务小管家.docx(46页珍藏版)》请在冰豆网上搜索。

家庭财务小管家.docx

家庭财务小管家

课程设计说明书

 

学院、系:

专业:

学生姓名:

学号:

设计题目:

家庭财务小管家

起迄日期:

指导教师:

 

1设计目的

本课程设计是采用C语言,在VC平台下设计年历显示系统,该系统运行在MS-DOS命令行模式下。

本课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。

提高学生适应实际,实践编程的能力。

1)进一步巩固和复习C程序设计的基础知识;

2)培养学生结构化程序、模块化程序设计的方法和能力;

3)了解软件的编制过程及各环节的具体内容;

4)提高学生程序调试技巧、软件设计能力和代码规范化等素质;

提高学生分析问题、解决问题以及实际运用能力。

2任务概述

个人小管家应用系统给家庭提供了一个管理个人财务的平台,主要用于对家庭成员收入、支出进行添加、查询、删除、修改以及打印的操作,使得家庭财务收支状况一目了然。

主要功能包括:

(1)主菜单。

主要包括收入管理、支出管理和退出;

(2)添加收入记录;

(3)查询收入记录;

(4)删除收入记录;

(5)修改收入记录;

(6)打印收入记录;

(7)添加支出记录;

(8)查询支出记录;

(9)删除支出记录;

(10)修改支出记录;

(11)打印支出记录;

(12)退出系统。

3模块划分

 

 

 

4主要函数说明及其N-S图

1、主函数main()

2、增加函数Add_()

输入待加入的家庭成员收支情况

文件存在

TF

从该文件读出数据并显示出来退出

确定所要加入的位置

向文件输入前面家庭成员收支数据并显示

向文件输出待输入的家庭成员收支数据并显示

向文件输出位置后面家庭成员收支数据并显示

关闭文件

3、删除函数Del_()

打开文件

显示读出的数据

关闭文件

N=1

输入待删除的家庭成员信息

信息正确

TF

将第j+1个成员的数据

移到第j个

关闭文件

4、修改函数xiugai_()

打开文件

输入需要修改家庭成员的信息

显示需要修改家庭成员信息

重新写入各项信息

向文件输入新信息并显示

关闭文件

5、查询函数chaxun_()

打开文件

输入需要查询家庭成员的信息

显示需要查询家庭成员信息

关闭文件

6、统计函数Tongji_()

打开文件

统计所有家庭成员的收入并显示

统计所有家庭成员的支出并显示

统计所有家庭成员的(收入-支出)并显示

关闭文件

5程序运行数据及其结果

1>主界面:

图1

2>收入界面:

图2

3>添加操作:

图3(以收入为例)

 

4>查询操作:

图4(以收入为例)

5>修改操作:

图5(以支出为例)

 

6>删除操作:

图6(以收入为例)

7>支出界面:

图7

 

8>统计界面:

图8

6课程设计心得

通过本此的课程设计,让我们更熟练地掌握了《C语言程序设计教程》的

知识,熟悉了一个管理系统的运用和操作,熟悉如何采用DevC++作为编译环

境,使程序成功的编译和运行,能够运用C语言创建基本表和编辑信息,增加

信息,删除信息,修改信息,查找信息和显示信息。

通过对结构体,编辑,增

加,删除,修改,查找,显示模块的连接,生成能操作运行的管理系统。

在这次课程设计的过程中,由于对知识掌握不熟悉,特别是链表、指针和文

件的使用不熟练,是自己在编写代码的时候遇到了很大的困难,最后通过上网查

找资料并请教学长解决了问题,但自身还是有很多不足的地方!

通过这次课程设计,是自己认识到了基础知识的重要性,在平时的学习中要

把基础的内容完全理解融会贯通,并且应该多加练习,提高自己敲写代码的速度

和准确性。

通过这次课程设计,增加了我对编程的兴趣和欲望。

总之,这次课程

设计使我受益匪浅!

 

附录:

源代码

#include<>

#include<>

#include<>

structData

{

charname[20];

charriqi[8];

floatmoney;

charbeizhu[50];

};

structlist

{

structDatainfo;

structlist*next;

};

structlist*Inhead=NULL;

structlist*Intail=NULL;

structlist*zhichuhead=NULL;

structlist*zhichutail=NULL;

structlist*temp=NULL;

voidchaxun_income();

voidchaxun_zhichu();

voidxiugai_income();

voidxiugai_zhichu();

voidSave_income()xt","w");

structlist*p=Inhead;

while(p!

=NULL)

{

fwrite(&p->info,sizeof(structData),1,fp);

p=p->next;

}

fclose(fp);

}

voidSave_zhichu()xt","w");xt","r");xt","r");

if(fp!

=NULL)

{

structDatalinshi;

while(fread(&linshi,sizeof(structData),1,fp)==1)

{

temp=(structlist*)malloc(sizeof(structlist));

temp->info=linshi;

temp->next=NULL;

if(zhichuhead==NULL)

{

zhichuhead=temp;

zhichutail=temp;

}

else

{

zhichutail->next=temp;

zhichutail=temp;

}

}

fclose(fp);

}

}

voidmingzi()f\n",p->;

printf("备注:

");puts(p->;

system("PAUSE");

}

p=p->next;

}

if(Inhead!

=NULL)

{charpanduan;

printf("是否继续查询(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{

chaxun_income();

}

}

}

voidmingzi_zhichu()

{

charchazhao[20];

printf("请输入查询的名字");

gets(chazhao);

structlist*p=zhichuhead;

while(p!

=NULL)

{

if(strcmp(p->,chazhao)==0)

{

printf("姓名:

");puts(p->;

printf("日期:

");puts(p->;

printf("支出:

");printf("%.4f\n",p->;

printf("备注:

");puts(p->;

system("PAUSE");

}

p=p->next;

}

if(zhichuhead!

=NULL)

{charpanduan;

printf("是否继续查询(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{chaxun_zhichu();}}

}

voidmingzi_xiugai_income()

{

charxiugai[20];

printf("请输入修改的名字");

fflush(stdin);

gets(xiugai);

structlist*p=Inhead;

while(p!

=NULL)

{

if(strcmp(p->,xiugai)==0)

{

fflush(stdin);

printf("姓名:

");gets(p->;fflush(stdin);

printf("日期:

");gets(p->;fflush(stdin);

printf("收入:

");scanf("%f",&p->;fflush(stdin);

printf("备注:

");gets(p->;fflush(stdin);

}

p=p->next;

}

Save_income();

if(Inhead!

=NULL)

{charpanduan;

printf("是否继续修改(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{xiugai_income();}

}

}

voidmingzi_xiugai_zhichu()f\n",p->;

printf("备注:

");puts(p->;

system("PAUSE");

}

p=p->next;

}

if(Inhead!

=NULL)

{charpanduan;

printf("是否继续查询(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{chaxun_income();}

}

}

voidriqi_zhichu()

{

charchazhao[20];

printf("请输入查询的日期");

gets(chazhao);

structlist*p=zhichuhead;

while(p!

=NULL)

{

if(strcmp(p->,chazhao)==0)

{

printf("姓名:

");puts(p->;

printf("日期:

");puts(p->;

printf("支出:

");printf("%.4f\n",p->;

printf("备注:

");puts(p->;

system("PAUSE");

}

p=p->next;

}

if(zhichuhead!

=NULL)

{charpanduan;

printf("是否继续查询(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{chaxun_zhichu();}}

}

voidriqi_xiugai_income()

{

charxiugai[20];

printf("请输入修改的日期");

fflush(stdin);

gets(xiugai);

structlist*p=Inhead;

while(p!

=NULL)

{

if(strcmp(p->,xiugai)==0)

{

fflush(stdin);

printf("姓名:

");gets(p->;fflush(stdin);

printf("日期:

");gets(p->;fflush(stdin);

printf("收入:

");scanf("%f",&p->;fflush(stdin);

printf("备注:

");gets(p->;fflush(stdin);

}

p=p->next;

}

Save_income();

if(Inhead!

=NULL)

{charpanduan;

printf("是否继续修改(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{xiugai_income();}}

}

voidriqi_xiugai_zhichu()

{

charxiugai[20];

printf("请输入修改的日期");

fflush(stdin);

gets(xiugai);

structlist*p=zhichuhead;

while(p!

=NULL)

{

if(strcmp(p->,xiugai)==0)

{

fflush(stdin);

printf("姓名:

");gets(p->;fflush(stdin);

printf("日期:

");gets(p->;fflush(stdin);

printf("支出:

");scanf("%f",&p->;fflush(stdin);

printf("备注:

");gets(p->;fflush(stdin);

}

p=p->next;

}

Save_zhichu();

if(zhichuhead!

=NULL)

{charpanduan;

printf("是否继续修改(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{xiugai_zhichu();}}

}

voidmoney()f\n",p->;

printf("备注:

");puts(p->;

system("PAUSE");

}

p=p->next;

}

if(Inhead!

=NULL)

{charpanduan;

printf("是否继续查询(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{chaxun_income();}

}

}

voidmoney_zhichu()

{

floatchazhao;

printf("请输入查询的money");

scanf("%f",&chazhao);

fflush(stdin);

structlist*p=zhichuhead;

while(p!

=NULL)

{

if(p->==chazhao)

{

printf("姓名:

");puts(p->;

printf("日期:

");puts(p->;

printf("收入:

");printf("%.4f\n",p->;

printf("备注:

");puts(p->;

system("PAUSE");

}

p=p->next;

}

if(zhichuhead!

=NULL)

{charpanduan;

printf("是否继续查询(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{

chaxun_zhichu();

}

}

}

voidmoney_xiugai_income()

{

floatxiugai;

printf("请输入修改的money");

scanf("%f",&xiugai);

fflush(stdin);

structlist*p=Inhead;

while(p!

=NULL)

{

if(p->==xiugai)

{

fflush(stdin);

printf("姓名:

");gets(p->;fflush(stdin);

printf("日期:

");gets(p->;fflush(stdin);

printf("收入:

");scanf("%f",&p->;fflush(stdin);

printf("备注:

");gets(p->;fflush(stdin);

}

p=p->next;

}

Save_income();

if(Inhead!

=NULL)

{charpanduan;

printf("是否继续修改(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{xiugai_income();}}

}

voidmoney_xiugai_zhichu()

{

floatxiugai;

printf("请输入修改的money");

scanf("%f",&xiugai);

fflush(stdin);

structlist*p=zhichuhead;

while(p!

=NULL)

{

if(p->==xiugai)

{

fflush(stdin);

printf("姓名:

");gets(p->;fflush(stdin);

printf("日期:

");gets(p->;fflush(stdin);

printf("支出:

");scanf("%f",&p->;fflush(stdin);

printf("备注:

");gets(p->;fflush(stdin);

}

p=p->next;

}

Save_zhichu();

if(zhichuhead!

=NULL)

{charpanduan;

printf("是否继续修改(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{xiugai_zhichu();}}

}

voidbeizhu()

{

charchazhao[20];

printf("请输入查询的备注");

gets(chazhao);

structlist*p=Inhead;

while(p!

=NULL)

{

if(strcmp(p->,chazhao)==0)

{

printf("姓名:

");puts(p->;

printf("日期:

");puts(p->;

printf("收入:

");printf("%.4f\n",p->;

printf("备注:

");puts(p->;

system("PAUSE");

}

p=p->next;

}

if(Inhead!

=NULL)

{charpanduan;

printf("是否继续查询(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{chaxun_income();}}

}

voidbeizhu_zhichu()

{

charchazhao[20];

printf("请输入查询的备注");

gets(chazhao);

structlist*p=zhichuhead;

while(p!

=NULL)

{

if(strcmp(p->,chazhao)==0)

{

printf("姓名:

");puts(p->;

printf("日期:

");puts(p->;

printf("收入:

");printf("%.4f\n",p->;

printf("备注:

");puts(p->;

system("PAUSE");

}

p=p->next;

}

if(zhichuhead!

=NULL)

{charpanduan;

printf("是否继续查询(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{

chaxun_zhichu();

}

}

}

voidbeizhu_xiugai_income()

{

charxiugai[20];

printf("请输入修改的备注");

fflush(stdin);

gets(xiugai);

structlist*p=Inhead;

while(p!

=NULL)

{

if(strcmp(p->,xiugai)==0)

{

fflush(stdin);

printf("姓名:

");gets(p->;fflush(stdin);

printf("日期:

");gets(p->;fflush(stdin);

printf("支出:

");scanf("%f",&p->;fflush(stdin);

printf("备注:

");gets(p->;fflush(stdin);

}

p=p->next;

}

Save_income();

if(Inhead!

=NULL)

{charpanduan;

printf("是否继续修改(Y/N)");

panduan=getchar();

fflush(stdin);

if(panduan=='Y'||panduan=='y')

{xiugai_income();}}

}

voidbeizhu_xiugai_zhichu()

{

charxiugai[20];

printf("请输入修改的备注");

fflush(stdin);

gets(xiugai);

fflush(stdin);

structlist*p=zhichuhead;

while(p!

=NULL)

{

if(strcmp(p->,xiugai)==0)

{

fflush(stdin);

printf("姓名:

");gets(p->;fflush(stdin);

printf("日期:

");gets(p->;fflush(stdin);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1