家庭支出管理系统-c语言程序设计_第1页
家庭支出管理系统-c语言程序设计_第2页
家庭支出管理系统-c语言程序设计_第3页
家庭支出管理系统-c语言程序设计_第4页
家庭支出管理系统-c语言程序设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计报告2015/2016学年第二学期)题目:家庭支出管理系统专业微电子科学与工程组长学号姓名组员学号姓名指导教师许棣华指导单位日期2016年6月3日成员分工员组员组评分细则项评秀优差界简短评语日月咎年评分等级备注及#:家庭支出管理系统一、课题内容和要求1、该系统要求对一个家庭某月的支出情况进行统计和分析。通过此课题,熟练掌握数组、指针的各种操作,以及一些算法思想的应用。2、功能要求:(1)支出信息包括:支出类型(主要可以分为饮食,服饰装扮,礼金,教育培训,电器,健身,通讯,子女培养,旅游,文化娱乐,医疗,交通,聚会,居住等小项),金额,消费地点,消费时间等。(2)需要实现的功能:用户根据

2、口令进入系统输入某一月份,完成该月份的支出管理输入并统计该月的支出情况显示该月支出信息表,内容应包括日期,金额等按支出类型进行分类统计和排序进行本月消费分析,即分析每项支出所占总支出的百分比,并显示分析结果显示按支出类型排序后的支出信息将排序后的内容存为文件。(3)界面友好,输入信息符合逻辑如存款金额不为负数、不可能有非数字的字符等。二、需求分析家庭支出管理系统的功能框架图如图1所示。家庭支出管理系统登陆界面保存函数输入函数输出函数图1功能框架图(1)功能选择函数:此函数是为了让用户根据主界面选择功能并根据提示来进行操作。(2)输入函数:为了实现将各个支出项目的类别,支出的金额以及消费的时间,

3、地点等存入需要的文件里,所以必须先要存在存储器里。(3)输出函数:即通过行列表来直观对应存储文件中的项目的类别,金额,消费时间及地点。(4)分析函数:读取本月的存储文档中的信息,对本月的消费进行分析,求出本月的消费总和,分析出每项支出所占总支出的百分比,通过他们各自的项目金额所占的百分比来直观显示那个指出比较重要。随后与本月收入进行比较,求出收支比。(5)类别排序函数:就是将输入的信息进行按类别排序。(6)保存函数:将本次添加的信息进行保存到相应月份的支出信息文档中。(7)登录界面:因为家庭支出管理系统涉及到私人财务,所以需要利用密码函数对程序进行保密。因此只有在输入正确的口令后才能进入该系统

4、。同时添加了一个随机验证码的验证过程。(全文中的(1)、(2)、(3)等格式必须统一为中文括号或者英文括号。)(中文字体:宋体,英文字体:TimesNewRoman,小四号,不加粗,两端对齐,1.5倍行距,首行缩进2字符,段前段后距为0)三、概要设计主要结构体(二级标题格式:宋体,小四号,不加粗,两端对齐,不缩进,下同)typedefstruct/定义结构体chartype20;/消费类型floatGetsum;/消费金额charplace20;/消费地点inttime;/消费时间family;familyfam80;主要函数流程图(1)登录界面:包括密码函数,采用数组赋值并与预设值逐字比较的

5、方法进行密码验证。以及验证码函数,验证码采用srand(time(NULL)与pO=rand()%1OOO产生一个0-1000的随机数作为验证码。如图1所示是图12)主函数:包括菜单显示函数以及功能选择函数,菜单显示函数在屏幕上输出选择界面,功能选择函数利用选择结构进入不同的功能函数模块,模块如下列所示。在十二如图二所示;个月份存储文件齐全的情况下,各功能可随意使用,无使用上的顺序要求。开始定义一个字符数组然后利用类别功能模块一信息添加函数:利用输入函数将支出信息赋值给fam.整理函数进行类别整理,最后利用选择结构选择某一月份,打开该月份的信息存储文档,进行信息的写入,最后关闭文件。如图3,图

6、4所示。选择月份开始;进入该月份相应的语句块输出“打开失败”否是打开该月相应存储文件打开成功关闭文件结束图4逐条写入数组元素信息选择月份(4)功能模块二信息显示函数:利用选择结构打开某一月份的信息存储文档,然后读取其中的信息并逐行显示在屏幕上然后关闭文件。如图5,图6所示。(5)功能模块三信息分析函数:利用选择结构打开某一月份的存储文件,读取该月信息,求消费总和并求出各项支出占总支出比,随后可以输入本月的收入以求出本月的收支比。如图7所示。图76)功能模块四退出函数:关闭程序。四、源程序代码#include#include#include#include#include#include#inc

7、lude#includetypedefstruct/定义结构体chartype20;消费类型floatGetsum;/消费金额charplace20;/消费地点inttime;/消费时间family;familyfam80;intmenu_select()/显示该系统所具备的功能intc;dosystem(cls”);清屏printf(tt欢迎来到家庭支出管理系统(勤俭节约,避免破产,严肃脸.jpg)n);printf(tt*极端简朴的菜单系统*n);printf(ttll.输入消费信息|n);printf(ttl2.显示消费情况|n);printf(tt|3.消费情况分析|n);printf

8、(tt|4.退出系统|n);*n);*n);printf(tt*printf(tt*printf(ttt请对应选择所需选项(1-4):);scanf(%d,&c);while(c8);returnc;voidpassword()/密码登录部分chard6;charm6;m0=T,m1=2,m2=3,m3=4,m4=5,m5=6;数组比较printf(请输入六位数密码:);/输入密码for(intn=0;)printf(请输入密码:n);for(inti=0;i=0|di=a|di=A|di3)printf(系统即将关闭,88!n);system(pause);exit(0);n+;voidve

9、rification_code()/验证码部分intp1=0;intq1=0;for(intk=0;)srand(time(NULL);printf(验证码为:n);p0=rand()%1000;/产生0-1000的随机数printf(%d,p0);printf(请输入验证码:”);scanf(%d,&q0);“if(q0!=p0)printf(验证码错误,请重新输入。);elseprintf(n欢迎使用!n);system(pause);break;if(k3)printf(系统即将关闭,88!n);system(pause);exit(0);k+;fscanf(fp,%s%f%s%d,su

10、mi.type,&sumi.Getsum,sumi.place,&sumi.time);intInputitems(familysum,intn)/输入消费信息inti=0;charsign=y,x10;while(sign!=n&sign!=N)printf(ttt种类:”);scanf(ttt%s,sumn+i.type);printf(ttt支出(大于0):);scanf(ttt%f,&sumn+i.Getsum);printf(ttt地点:”);scanf(ttt%s,sumn+i.place);printf(ttt时间(0-31):);scanf(ttt%d,&sumn+i.time

11、);if(sumn+i.time31)returnfalse;gets(x);printf(ttt需要再次输入吗?(y/n);scanf(ttt%c,&sign);i+;return(n+i);voidShowitems(familysum,intn)/输出某月份的消费信息inti=0,month;FILE*fp;printf(”请选择月份;”);scanf(%d,&month);printf(tttn);printf(ttt种类支出地点时间n);printf(tttn);switch(month)case1:fp=fopen(D:月支出信息.txt,r);if(fp=0)printf(fil

12、eerrorn);exit(1);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);break;case2:fp=fopen(D:二月支出信息.txt,r);if(fp=0)printf(file

13、errorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);break;case3:fp=fopen(D:三月支出信息.txt,r);if(fp=0)printf(filee

14、rrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);break;case4:fp=fopen(D:四月支出信息.txt,r);if(fp=0)printf(fileer

15、rorn);exit(1);printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);break;case5:fp=fopen(D:五月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);wh

16、ile(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);break;case6:fp=fopen(D:六月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);whi

17、le(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);break;case7:fp=fopen(D:七月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time

18、);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);break;case8:fp=fopen(”D:八月支出信息.txt”,”r”);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.t

19、ime);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);break;case9:fp=fopen(D:九月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.ti

20、me);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);break;case10:fp=fopen(D:十月支出信息.txt”,”r”);if(fp=0)printf(fileerrorn);exit(1);while(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi

21、.time);fclose(fp);break;case11:fp=fopen(D:月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.

22、time);fclose(fp);break;case12:fp=fopen(D:十二月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi

23、.time);fclose(fp);break;printf(ttt);system(pause);/类别显示函数voidpaixu(familysum,intn)inti,j;voidAnalyseitems(familysum,intn)/求各种消费类型的金额占总金额的百分比并求收支比例familytemp;for(i=0;in-1;i+)for(j=i+1;jsumj.Getsum)temp=sumj;sumj=sumi;sumi=temp;for(i=1;i1&i%10=0)printf(tttn);printf(ttt);system(pause);printf(tttn);prin

24、tf(ttt);system(pause);floattotal=0,a=0,income;inti=0,j=0,month;FILE*fp;printf(”请选择月份;”);scanf(%d,&month);switch(month)case1:fp=fopen(D:月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,

25、sumi.Getsum,sumi.place,sumi.time);total+=sumi.Getsum;fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);fp=fopen(D:一月支出信息.txt,r);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);i=i+1;n=i;for(i=0;in-1;i+)printf(ttt项目-8s占总比-10f%n,sumi.type,sumi.

26、Getsum/total);printf(消费总额为%f,total);fclose(fp);printf(”请输入本月收入:);scanf(ttt%f,&income);printf(ttt本月收支比为-10fn,total/income);break;case2:fp=fopen(D:二月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)printf(%-8s%-12f%-8s%-10dn

27、,sumi.type,sumi.Getsum,sumi.place,sumi.time);total+=sumi.Getsum;fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);fp=fopen(D:二月支出信息.txt,r);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);i+;n=i;for(i=0;in-1;i+)printf(ttt%-8s%-10f%n,sumi.type,

28、sumi.Getsum/total);printf(”消费总额为f,total);fclose(fp);printf(”请输入本月收入:);scanf(ttt%f,&income);printf(ttt本月收支比为-10fn,total/income);break;case3:fp=fopen(D:三月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)printf(%-8s%-12f%-8s%

29、-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);total+=sumi.Getsum;fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);fp=fopen(D:三月支出信息.txt,r);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);i+;n=i;for(i=0;in-1;i+)printf(ttt%-8s%-10f%n,sumi.

30、type,sumi.Getsum/total);printf(”消费总额为f,total);fclose(fp);printf(”请输入本月收入:);scanf(ttt%f,&income);printf(ttt本月收支比为-10fn,total/income);break;case4:fp=fopen(D:四月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)printf(%-8s%-12f

31、%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);total+=sumi.Getsum;fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);fp=fopen(D:四月支出信息.txt,r);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);i+;n=i;for(i=0;in-1;i+)printf(ttt%-8s%-10f%n,

32、sumi.type,sumi.Getsum/total);printf(”消费总额为f,total);fclose(fp);printf(”请输入本月收入:);scanf(ttt%f,&income);printf(ttt本月收支比为-10fn,total/income);break;case5:fp=fopen(D:五月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)printf(%-8s

33、%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);total+=sumi.Getsum;fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);fp=fopen(D:五月支出信息.txt,r);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);i+;n=i;for(i=0;in-1;i+)printf(ttt%-8s%-1

34、0f%n,sumi.type,sumi.Getsum/total);printf(”消费总额为f,total);fclose(fp);printf(”请输入本月收入:);scanf(ttt%f,&income);printf(ttt本月收支比为-10fn,total/income);break;case6:fp=fopen(D:六月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)printf

35、(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);total+=sumi.Getsum;fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);fp=fopen(D:六月支出信息.txt,r);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);i+;n=i;for(i=0;in-1;i+)printf(ttt%-

36、8s%-10f%n,sumi.type,sumi.Getsum/total);printf(”消费总额为f,total);fclose(fp);printf(”请输入本月收入:);scanf(ttt%f,&income);printf(ttt本月收支比为-10fn,total/income);break;case7:fp=fopen(D:七月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof(fp)p

37、rintf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);total+=sumi.Getsum;fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);fp=fopen(D:七月支出信息.txt,r);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);i+;n=i;for(i=0;in-1;i+)printf(

38、ttt%-8s%-10f%n,sumi.type,sumi.Getsum/total);printf(”消费总额为f,total);fclose(fp);printf(”请输入本月收入:);scanf(ttt%f,&income);printf(ttt本月收支比为-10fn,total/income);break;case8:fp=fopen(D:八月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(!feof

39、(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);total+=sumi.Getsum;fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);fp=fopen(D:八月支出信息.txt,r);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);i+;n=i;for(i=0;in-1;i+)pr

40、intf(ttt%-8s%-10f%n,sumi.type,sumi.Getsum/total);printf(”消费总额为f,total);fclose(fp);printf(”请输入本月收入:);scanf(ttt%f,&income);printf(ttt本月收支比为-10fn,total/income);break;case9:fp=fopen(D:九月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);while(

41、!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);total+=sumi.Getsum;fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);fp=fopen(D:九月支出信息.txt,r);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);i+;n=i;for(i=0;in-1;

42、i+)printf(ttt%-8s%-10f%n,sumi.type,sumi.Getsum/total);printf(”消费总额为f,total);fclose(fp);printf(”请输入本月收入:);scanf(ttt%f,&income);printf(ttt本月收支比为-10fn,total/income);break;case10:fp=fopen(D:十月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);

43、while(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);total+=sumi.Getsum;fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);fp=fopen(D:十月支出信息.txt,r);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);i+;n=i;for(i=0

44、;in-1;i+)printf(ttt%-8s%-10f%n,sumi.type,sumi.Getsum/total);printf(”消费总额为f,total);fclose(fp);printf(”请输入本月收入:);scanf(ttt%f,&income);printf(ttt本月收支比为-10fn,total/income);break;case11:fp=fopen(D:月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.t

45、ime);while(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);total+=sumi.Getsum;fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);fp=fopen(D:十-一月支出信息.txt,r);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);i+;n=i;

46、for(i=0;in-1;i+)printf(ttt%-8s%-10f%n,sumi.type,sumi.Getsum/total);printf(”消费总额为f,total);fclose(fp);printf(”请输入本月收入:);scanf(ttt%f,&income);printf(ttt本月收支比为-10fn,total/income);break;case12:fp=fopen(D:十二月支出信息.txt,r);if(fp=0)printf(fileerrorn);exit(1);fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.plac

47、e,&sumi.time);while(!feof(fp)printf(%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);total+=sumi.Getsum;fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time);fclose(fp);fp=fopen(D:十二月支出信息.txt,r);while(!feof(fp)fscanf(fp,%s%f%s%d,sumi.type,&sumi.Getsum,sumi.place,&sumi.time)

48、;i+;n=i;for(i=0;in-1;i+)printf(ttt%-8s%-10f%n,sumi.type,sumi.Getsum/total);printf(”消费总额为f,total);fclose(fp);printf(”请输入本月收入:);scanf(ttt%f,&income);printf(ttt本月收支比为-10fn,total/income);break;voidsave(familysum,intn)/保存消费信息inti,month;FILE*fp;printf(请输入当前信息所属月份:);scanf(%d,&month);switch(month)case1:fp=f

49、open(D:一月支出信息.txt,a+);if(fp=NULL)printf(tttthefilecannotbeopened!n);exit(1);fseek(fp,-1,SEEK_END);for(i=0;in;i+)fprintf(fp,%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fclose(fp);printf(ttt保存成功!n);break;case2:fp=fopen(D:二月支出信息.txt,a+);if(fp=NULL)printf(tttthefilecannotbeopened!n);

50、exit(1);fseek(fp,-1,SEEK_END);for(i=0;in;i+)fprintf(fp,%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fclose(fp);printf(ttt保存成功!n);break;case3:fp=fopen(D:三月支出信息.txt,a+);if(fp=NULL)printf(tttthefilecannotbeopened!n);exit(1);fseek(fp,-1,SEEK_END);for(i=0;in;i+)fprintf(fp,%-8s%-12f%-8s

51、%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fclose(fp);printf(ttt保存成功!n);break;case4:fp=fopen(D:四月支出信息.txt,a+);if(fp=NULL)printf(tttthefilecannotbeopened!n);exit(1);fseek(fp,-1,SEEK_END);for(i=0;in;i+)fprintf(fp,%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fclose(fp);printf

52、(ttt保存成功!n);break;case5:fp=fopen(D:五月支出信息.txt,a+);if(fp=NULL)printf(tttthefilecannotbeopened!n);exit(1);fseek(fp,-1,SEEK_END);for(i=0;in;i+)fprintf(fp,%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fclose(fp);printf(ttt保存成功!n);break;case6:fp=fopen(D:六月支出信息.txt,a+);if(fp=NULL)printf(

53、tttthefilecannotbeopened!n);exit(1);fseek(fp,-1,SEEK_END);for(i=0;in;i+)fprintf(fp,%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fclose(fp);printf(ttt保存成功!n);break;case7:fp=fopen(D:七月支出信息.txt,a+);if(fp=NULL)printf(tttthefilecannotbeopened!n);exit(1);fseek(fp,-1,SEEK_END);for(i=0;in

54、;i+)fprintf(fp,%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fclose(fp);printf(ttt保存成功!n);break;case8:fp=fopen(D:八月支出信息.txt,a+);if(fp=NULL)printf(tttthefilecannotbeopened!n);exit(1);fseek(fp,-1,SEEK_END);for(i=0;in;i+)fprintf(fp,%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,

55、sumi.time);fclose(fp);printf(ttt保存成功!n);break;case9:fp=fopen(D:九月支出信息.txt,a+);if(fp=NULL)printf(tttthefilecannotbeopened!n);exit(1);fseek(fp,-1,SEEK_END);for(i=0;in;i+)fprintf(fp,%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fclose(fp);printf(ttt保存成功!n);break;case10:fp=fopen(D:十月支出

56、信息.txt,a+);if(fp=NULL)printf(tttthefilecannotbeopened!n);exit(1);fseek(fp,-1,SEEK_END);for(i=0;in;i+)fprintf(fp,%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fclose(fp);printf(ttt保存成功!n);break;case11:fp=fopen(D:十一月月支出信息.txt,a+);if(fp=NULL)printf(tttthefilecannotbeopened!n);exit(1);

57、fseek(fp,-1,SEEK_END);for(i=0;in;i+)fprintf(fp,%-8s%-12f%-8s%-10dn,sumi.type,sumi.Getsum,sumi.place,sumi.time);fclose(fp);printf(ttt保存成功!n);break;case12:fp=fopen(D:十二月月支出信息.txt,a+);if(fp=NULL)printf(tttthefilecannotbeopened!n);exit(1);fseek(fp,-1,SEEK_END);for(i=0;in;i+)fprintf(fp,%-8s%-12f%-8s%-10d

58、n,sumi.type,sumi.Getsum,sumi.place,sumi.time);fclose(fp);printf(ttt保存成功!n);break;voidmain()主函数password();getch();verification_code();system(cls);intn=0,a=0;charc;for(;)switch(menu_select()/选择菜单序号case1:printf(ttt请输入相应消费情况:n);n=Inputitems(fam,n);paixu(fam,n);printf(ttt需要保存数据吗?y/n!n);getchar();scanf(%c

59、,&c);if(c=y|c=Y)save(fam,n);printf(ttt);system(pause);break;case2:printf(ttt消费情况n);Showitems(fam,n);break;case3:printf(ttt消费金额分析n);Analyseitems(fam,n);system(pause);break;case4:printf(ttt你真的要离开我吗?Y/Nn);getchar();scanf(%c,&c);if(c=y|c=Y)printf(真的要走吗?Y/Nn);printf(算了,你滚吧!不需要你选择了n);system(pause);exit(0);if(c=n|c=N)printf(”哼,那

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论