




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计训练课程名称学生姓名学生学号报告家庭财务管理系统专业班级指导老师起止时间湖南大学课程训练设计报告家庭财务管理系统摘要本报告介绍了一个运用 C语言知识和 Microsoft Visual C+ 6.0创建的用于家庭各成员财务情况管理的家庭财务管理系统。在该系统中创建了包含增加,删除,修改,查找, 浏览的功能总列表,包含了输入家庭成员收入信息情况,增加信息,删除信息,修改信息, 创建姓名查找和编号查询便于用户查找个人财务情况,创建合计排序浏览用户可从总体上 浏览全家庭财务信息情况。目录6系统运行情况 147系统维护 15151 / 27家庭财务管理对于每一个家庭来说有着重要的意义,随着科技
2、的发达,财务的管理由 原先的手写账本发展到现今的电脑系统输入并统计,不仅大大减少了时间与精力,也是财 务管理更系统化,便捷化,清晰化,减少金钱上的缺失。家庭财务系统主要对家庭的各项 财务收支管理进行在计算机上的信息存储和处理,从而简化用户的工作量本报告设计的家庭财务管理系统主要是负责给家庭成员提供了一个在 Windows 操作 系统上运行的管理平台,家庭财务管理者可以对其成员编号、姓名以及收入、支出构成进 行增加、删除、修改,查找等管理操作,还可以对全家庭财务合计排序浏览。C 语言是国内外广泛使用的一种计算机语言,学会使用 C 语言进行程序设计是计算机 工作者的一项基本功。对于我们大学生来说,
3、学习这样一门“ C 程序设计教程”更是必要 的。本课程设计“家庭财务管理系统”就是通过学习 C程序设计采用Visual C+作为 编译环境,是程序编译和运行的。本系统的总体思想基于结构化的程序设计。应用高级语 言程序设计中的基本控制结构,如循环和选择,着重实现管理系统的增、删、改、查等典 型的管理功能。程序设计是一门实践性很强的课程,既要掌握概念,又要动手编译,还要 上机调试运行,通过这一次的课程设计我们从实践中更进一步的学习和了解 C 语言,当然 由于个人的技术水平有限,在这途中遇到很多问题,程序也未能做到很完美,望见谅!2 问题定义家庭财务管理系统的问题定义阶段必须回答的关键问题是:“要解
4、决的问题是什 么?”不知道问题是什么就试图解决这个问题,显然是盲目的,只会白白浪费时间和金钱, 最终得出的结果可能是毫无意义的。尽管确切地定义问题的必要性是十分明显的,但是在 实践中它却可能是最容易被忽视的一个步骤。下面就将“家庭财务管理系统要解决的问题 做是什么?”这个问题做出详细的分析。随着社会主义的不断发展与进步,人们的生活部断完善,家庭的收入和支出也越来越 多,当然也不能盲目的追求时尚,高估了自己的能力,这就需要明确自己的收支情况,对 家庭财务的来龙去脉有个大致的了解。做到心中有数。经过我分析初步得出以下几个方面是家庭财务管理系统必须要解决的问题, 主要包括:1:增加成员财务信息记录
5、2:删除成员财务信息记录3:修改成员财务信息记录4:按成员姓名查询财务信息5:按成员编号查询财务信息6:查询全部成员信息3 可行性分析进一步明确系统的目标,规模与功能。对系统开发背景、必要性和意义进行调查分析 并根据需要和可能提出拟定开发系统的初步方案与计划。可行性研究是对系统进行全面, 概要的分析。此项活动开始时,要对初步调查的结果进行复审,重新明确问题,对所提系 统大致规模和目标及有关约束条件论证,并且提出系统的逻辑模型和各种可能方案。当今社会是一个讲求效率的社会,时间就是金钱。开发简单,易于操作的,管理软件 不仅可以节省时间,还可以避免浪费人力,物力,提高效率。待开发系统是一个对家庭理
6、财管理系统,简单,易学,将成为家庭理财的的好帮手。 并非所有问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模或时 间限制之内解决。如果问题没有可行的解,那么花费在这项工程上的任何时间、人力、软 件资源和经费,都是无谓的浪费。可行性研究的目的,就是用最小的代价在尽可能短的时 间内确定问题是否能解决。必须时刻记住,可行性研究的目的不是解决问题,而是确定问 题是否值得去解决。 现从下述三个方面分析家庭理财系统问题的可行性。(1)技术可行性就技术可行性来说:我们已经学习了VC,具备了开发和维护的实力。因此只要加上认真的编译、测试,这个家庭管理系统绝对可以实现的,开发和维护该系统也 是
7、可行的。( 2)经济可行性。就经济可行性来说,由于我们为了学习每个人都有配置很算差不多的 个人电脑,并组建了内部局域网,因此硬件上是没有问题的。而软件上由于是自己开发, 所以开发及日后的维护费用并不高,在经济条件方面也是允许的。再加上由于家庭财务管 理系统是各个家庭管理自己家的的财务,所以他不会涉及联机的,只要在自己家中的计算 机按上家庭理财系统就可以使用。操作简单,功能强大。是每个家庭必不可少的好帮手。 所以家庭理财系统是很值得开发的一款家庭助手软件。( 3)操作可行性。就操作可行性来说,该系统能够实现家庭理财功能的要求,使家庭成 员能够及时、全面的掌握财产的流动情况、财产的使用、收支情况等
8、。能够在很大程度上 节省家庭在财产管理方面花费的精力。综上所述,证明我们开发该系统是切实可行的。总结:由于投资效益比远大于 100%, 技术、经济、操作都有可行性,可以进行开发。4 系统需求1 编写目的本需求的编写目的在于研究家庭理财系统软件的开发途径和应用方法。一个好的需求 分析可以为以后工作减轻很多不必要的花费。它是软件开过程中最重要的任务之一,如果 需求分析完成的不好,这个软件很有可能是没有作用的,所以我们一定要编写好需求分析。2 背景及范围本项目的名称:家庭财务管理系统。本项目的任务提出者是很多家庭账务繁琐的家庭本产品能具体化、合理化的管理家庭输入、开支、收入信息记录,用结构化的思维
9、方式去了解计算机的基本工作原理。3 确定对系统的综合要求(1)功能需求:主要功能:提供家庭日常收入、开销的详细情况。账户管理等多项功能。输入要求:数据完整,详实。输出要求:简捷,快速,实时。(2)意图a. 帮助家庭管理财务信息 .b. 为了给家庭人员减轻负担 .c. 为了促进国家经济建设的发展 .3)目标通过本系统软件,能帮家庭成员快速方便的对家庭财务管理、查看等需求操作时 方便家庭财务记录管理,使散乱的各种记录,档案能够具体化,直观化、合理化。 ( 4)使用及范围本软件适用于每个财务复杂的家庭,它是比较完善的系统管理软件,对家庭财务信息可以随时输入,更改,查看(5)冃景现在大多数家庭都在为麻
10、烦的财务管理发愁,如果有一个专门管理软件来管理这些账务,岂不为家庭成员减少很多负担?(6)用户特点本软件的使用对象是家庭成员只要稍微懂得计算机基本操作就可以利用该软件进行 所需操作。5方案设计分析1、结构体设计用于存放每个家庭成员的序号、姓名、收入、支出、合计方面信息typedef struct/*每一组输入的编号*/*家庭成员编号*/*家庭成员姓名*/*家庭成员收入*/*收入时间*/*家庭成员支出*/long no; long Number; char Name20; float in;char in time10; float out;char outtime10; /*支出时间 */ f
11、loat sum;/* 总计 */mon ey;由编号、姓名、收入、支出构成用于描述一个有机整体家庭成员财务信息系统,为了表明这些字段不是孤立的,而是共同描述一个完整的事物,因此用结构体这种形式来体现。 2.函数设计 为实现家庭财务管理系统用了下列自定义函数tianjiashouzhi();/*增加成员财务信息记录*/shanchushouzhi();/*删除成员财务信息记录*/xiugaishouzhi();/*修改成员财务信息记录 */xingmingchaxun();/*按成员姓名查询财务信息*/bianhaochaxun();/*按成员编号查询财务信息*/chaxunquanbu();
12、/*查询全部成员信息*/流程图:家庭财务管理系统请选择4 / 27N保存并关闭文件输入你要修改信息的文件名YNY请输入要修改的内容Y判口NN判N判断是否存在成功否修请重按姓名存看N、丰 请N判断是否存在YN结束Y / 27保存并关闭文件看的成员的输入你要查看信息的文件名请根据提示输入你要修改成员的的编号判断文件是否打开成功入系统运行界面: 删除家庭成员财务信息6 系统运行情况1 出现的问题。 刚开始输出时乱码,上网搜了才知道是数据溢出。 数据的输入与输出结果不一致。 删除、修改功能不能如期实现。2 相关的解决方法 通过不断试验,删除多余结构体; 查找错误,严格定义变量类型; 不断的进行调试及改
13、进。3 目前的运行情况 针对一系列运行过程中出现的问题,我们进行了相应的修改,到目前为止,该管理系 统基本上可以正常运行,实现其预期的功能管理,但仍有许多可以改进的地方。4 系统操作说明 进入系统操作界面后,输入 06 选择功能。选择 1 根据系统提示,添加家庭成员收支信息。选择 2根据系统提示,删除家庭成员收支信息选择 3根据系统提示,修改家庭成员收支信息选择 4根据系统提示,按姓名查找家庭成员收支信息选择 5根据系统提示,按编号查找家庭成员收支信息选择 6 查看全部家庭成员收支信息。7 系统维护一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,在 这期间会需要程序员来
14、维护这个软件正常工作,因此清晰简洁的文档是必不可少的,而不 仅仅是只需要源代码。总结通 过本 此的 课程 设 计 , 让 我 们 更 熟 练地 掌握 了 C 程 序 设 计 教 程 的知 识 ,熟 悉了 一个 管 理系 统的 运用 和操 作, 熟 悉 如 何采 用 Visual C+ 作为 编 译 环境,使程序成功的编译和运行,此次我们所设计的家庭财务管理系统可应 用于家庭的简单管理,对家庭各成员的财务收入,支出进行增加,删除,修 改,按姓名查询,按编号查询和浏览全部家庭成员财务信息。在这次课程设计中由于对知识掌握的不够熟悉,专业技术水平的有限,从 程序的初步设计,编辑到程序的运行,从一开始的
15、按模块撰写,到各模块的 链接运行,我遇到很多问题,有过放弃的想法,可最后还是坚持到了最后, 直到把程序写完,编译调试完成。后来回头看自己的成果,虽然不容易,但 是心里还是很高兴的,毕竟是自己亲手做的。通过这次课程设计,我更加深 入 地学 习了 VC 语 言 这门 课 程 ,让 我学 了 一 个 学期 的 知 识得 以应 用 ,增 强了 我 求知 的欲 望和 学习的 兴 趣, 想 对 VC 语言 课程 有 更多 的了 解。致谢 非常感谢老师一直以来对我们的悉心指导,从最初的选题,到辅导检查进展情况, 到程序综合调试,再到最后的设计报告,老师牺牲休息时间给了我们耐心的知道和无私的 帮助,老师的这种
16、无私奉献的敬业精神令人钦佩,在此我们向老师表示我们最诚挚的谢意。 同时,感谢同学对我的帮助,帮助我检查程序错误,调试程序,才有了今天我的成功。非 常感谢大家。参考文献visualC+ 项目案例设计 清华大学出版社 .项目案例导航 科学出版社 还有百度文库,百度知道。8 / 27程序源代码:#include#include #include #include #include #define SIZE 100typedef structlong Number; /* char Name20; /* float in; /* char intime10; /* float out; /*long
17、no; /*家庭成员编号 */ 家庭成员姓名 */ 家庭成员收入 */ 收入时间 */家庭成员支出 */ char outtime10; /* float sum; /*每一组输入的编号 */支出时间 */ 总计 */money;void tianjiashouzhi()/*添加财务收支信息记录 */FILE *fp = NULL;/*money Tm,ch; /* char Da40,next; /* int count=1; /*定义指向文件的指针 */定义进行操作时的临时结构体变量 */存储财务收支信息的文件名 */计算可输入数据的最大范围 */printf(n 请输入要添加财务收支信息
18、的文件名: );gets(Da);begin:count=1;if (fp=NULL)fp=fopen(Da,ab+);/* 判断文件是否成功打开 */26 / 27printf(n exit(0);打开文件 %s 失败!按任意键结束! n,Da);while(fread(&ch,sizeof(money),1,fp)!=(int)NULL) /*从文件中读取数据并判断是否成功 */count+;fclose(fp);/* 如果成功打开或创建文件,则提示输入家庭成员序号、姓名、收入、支出等相关信息*/fp=fopen(Da,ab+);/*ab+: 当文件存在时,追加,当文件不存在时,创建 */
19、printf( 输入编号,姓名,收入,收入时间,支出,支出时间,输入编号为0 时结束!n);printf( 编号不超过九位,姓名不超过二十个字符n);printf(nprintf(while(countSIZE)printf(n 对不起,输入的数据量超过最大允许的范围 %dn,SIZE); fclose(fp);system(cls);printf(您输入的数据已成功存储在 %s 文件中。 n,Da);printf(文件全部内容如下: n);fp=fopen(Da,rb); /* 只读方式打开二进制文件 */if (fp=NULL) /* 判断是否打开成功 */printf(n打开文件s失败!
20、按任意键结束!n,Da);exit(0);while(fread(&Tm,sizeof(money),1,fp)!=(int)NULL) /*从文件中读取数据,是否读取成功 */ printf(#n);printf(成员编号: %ldn,Tm.Number);printf(成员姓名: %sn,Tm.Name);printf(成员收入:f元n,Tm.i n);printf(收入时间: %sn,Time);printf(成员支出:%f元n,Tm.out);printf(支出时间: %sn,Tm.outtime);printf(收支总和:%fn,Tm.sum);printf(#n); pr
21、intf(nn);fclose(fp);/* 询问是否继续 */printf(n是否继续? ( 是: y/Y;否: n/N);next=getche();system(cls);putchar(n);if ( next=y|next=Y) goto begin;void shanchushouzhi() /*删除家庭成员收支信息记录 */int i,result=0; long delnum; /* money Tm; /* money sSIZE;int recNumber; /* char Da40,next;FILE *fp; /*fp存放要输入的要删除家庭成员序号 */定义进行操作时的
22、临时结构体变量 */原文件中的记录数 */指针指向存储数据的文件名 */printf(n 请输入存储数据的文件名,按回车键结束! n);gets(Da);begin:/* 以二进制读的方式打开文件 */fp=fopen(Da,rb);if (fp=NULL)printf(n 打开文件 %s 失败!按任意键结束! n,Da);exit(0);/* 输入要删除的家庭成员序号 */printf(请输入要删除的家庭成员编号: );scanf(%ld,&delnum);printf(您要删除的编号是: %ldn,delnum);while(fread(&Tm,sizeof(money),1,fp)!=(
23、int)NULL) /* 从 文 件 中读取数据,是否读取成功 */if(Tm.Number=delnum) printf( 该项收支记录如下: n); printf(#n); printf( 该项内容编号: %ldn,Tm.no); printf( 成员编号: %ldn,Tm.Number); printf( 成员姓名: %sn,Tm.Name);prin tf(成员收入:f 元 n,Tm.i n);printf(收入时间: %sn,Time);prin tf(成员支出:%f 元 n,Tm.out);printf(支出时间: %sn,Tm.outtime);printf( 收支总和
24、: %fn,Tm.sum); printf(#n);result=1;rewind(fp); /* 把文件指针重新指向文件的开头 */if(result=0)printf(n你输入的编号不存在,请确认后重新输入n);printf(n是否继续删除?(是:y/Y;否:n/N);next=getche();system(cls);putchar(n);if ( next=y|next=Y) goto begin;/* 询问是否删除 */printf(n 你确定要删除该记录吗?删除后不可恢复! (是: y/Y; 否: n/N);next=getche();putchar(n);if ( next=y|
25、next=Y) system(cls);printf( 恭喜!该项纪录已成功删除。 n);/* 将文件中信息存入结构体数组 */* 与要删除的家庭成员序号相匹配的项不写入数组, 循环后数组中即为去掉了要删除记录后的剩余记录 */recNumber=0;从文件中读取数据,是否while(fread(&Tm,sizeof(money),1,fp)!=(int)NULL)/* 读取成功 */if(Tm.Number!=delnum)srecNumber.no=Tm.no;srecNumber.Number=Tm.Number; strcpy(srecNumber.Name, Tm.Name); sr
26、ecNumber.in=Tm.in;strcpy(srecNime,Time); srecNumber.out=Tm.out; strcpy(srecNumber.outtime,Tm.outtime); srecNumber.sum=Tm.sum; recNumber+;fclose(fp);/* 将删除后的剩余结构体记录写入文件 */fp=fopen(Da,wb+); /* 读写方式打开文件,原文件内容清空 */ if (fp=NULL)printf(n 记录文件 %s 失败!按任意键结束! n,Da);exit(0);for(i=0;irecNumber;i+
27、) /* 用循环将数据写入文件 */if(fwrite(&si,sizeof(money),1,fp)!=1)printf(n 记录文件 %s 失败!按任意键结束! n,Da); exit(0);fclose(fp);/* 显示删除财务信息记录后的文件 */printf( 是否查看删除后剩下的内容、 n);printf(n是否?(是:y/Y;否:n/N);next=getche();system(cls);putchar(n);if ( next=y|next=Y)fp=fopen(Da,rb); /* 只读方式打开文件 */if (fp=NULL)printf(n exit(0);打开文件s
28、失败!按任意键结束!n,Da);printf(# #n);printf( 删除后剩余全部内容是: n); while(fread(&Tm,sizeof(money),1,fp)!=(int)NULL) printf(#n);printf(成员编号: %ldn,Tm.Number);printf(成员姓名: %sn,Tm.Name);prin tf( 成员收入:f 元 n,Tm.i n); printf(收入时间:%sn,Time);prin tf( 成员支出:%f 元 n,Tm.out); printf(支出时间:%sn,Tm.outtime);printf(收支总和:%fn,Tm.
29、sum);printf(#n);elsesystem(cls);printf(n删除失败,原因:用户取消操作 nn);fclose(fp);/* 询问是否继续 */printf(n是否继续删除? ( 是: y/Y; 否: n/N);next=getche();system(cls);putchar(n);if ( next=y|next=Y) goto begin; void xiugaishouzhi() /* 修改家庭成员收支信息记录 */int i,result=0;long modnum;/* 存储要修改的家庭成员序号 */* 输入各项修改后信息 */long no,Number;ch
30、ar Name20;float in;char intime10;float out;char outtime10;float sum;money Tm; /* 定义进行操作时的临时结构体变量 */money sSIZE; /*SIZE ,在 shead.h 头文件中定义的常量,值为 100 */int recNumber;char Da40,next;/*Da 存储家庭成员收支信息信息的文件名, next 为是否进行下一次操作的选项 */FILE *fp; /*fp 指针指向存储数据的文件名 */* 输入要进行修改记录的文件名 */printf(n 请输入存储数据的文件名,按回车键结束! n
31、);gets(Da);begin:fp=fopen(Da,rb); /* 只读方式打开文件 */if(fp=NULL)printf(n 打开文件 %s 失败!按任意键结束! n,Da);exit(0);printf( 请输入您要修改的家庭成员的成员编号: );scanf(%ld,&modnum);printf( 您要修改的成员编号是: %ldnn,modnum); while(fread(&Tm,sizeof(money),1,fp)!=(int)NULL) /* 读 取 文件内容,判断是否读取成功 */if(Tm.Number=modnum) /* 输入 的编号和文件内容的编号一致 */ p
32、rintf(#n);printf(n该项内容编号:%ldn,Tm.no);printf(n成员编号:%ldn,Tm.Number);printf(n成员姓名:%sn,Tm.Name);printf(n成员收入:%f 元 n,Tm.i n);printf(n收入时间:%sn,Time);printf(n成员支出:%f 元 n,Tm.out);printf(n支出时间:%sn,Tm.outtime);printf(n收支总和:%fn,Tm.sum);printf(#n); result=1;rewind(fp); /* 把文件指针指向文件的开头 */if(result=0)printf(
33、 你输入的编号不存在,请确认后重新输入: n);printf(n 是否继续? (是: y/Y ,否: n/N);next=getche();system(cls);putchar(n);if (next=y|next=Y) goto begin;else exit(0);result=0;printf( 请输入你要修改的该项内容编号: n);scanf(%ld,&no);/* 输入要修改记录的各项内容值 */Number=modnum;printf( 输入姓名,收入,收入时间,支出,支出时间,输入编号为 0 时结束! n);printf( 成员姓名: );scanf(%s,Name);prin
34、tf( 成员收入: );scanf(%f,&in);printf( 收入时间: );scanf(%s,intime);printf( 成员支出: );scanf(%f,&out);printf( 支出时间: );scanf(%s,outtime);sum=in-out;/* 将文件中要修改的信息存入结构体数组 */recNumber=0;/* 循环将文件数据读入结构体数组,如文件中的数据家庭成员内容编号和要修改的家庭成员内容编号不符,则原样写入数组,如文件中数据的家庭成员内容编号和要修改家庭成员内容编号匹配,则根据输入的各项修改内容重新赋值,即修改,并写入数组 */while(fread(&T
35、m,sizeof(money),1,fp)!=(int)NULL) /* 读取文件内容。是否 成功 */if(Tm.no!=no)/*输入的内容编号和文件内容编号不一致 */srecNumber.no=Tm.no; srecNumber.Number=Tm.Number;strcpy(srecNumber.Name, Tm.Name); srecNumber.in=Tm.in;strcpy(srecNime, Time); srecNumber.out=Tm.out;strcpy(srecNumber.outtime, Tm.outtime); srecNumber
36、.sum=Tm.sum;if(Tm.no=no) /* 输入的内容编号和文件 内容编号一致 */srecNumber.no=no; srecNumber.Number=Number; strcpy(srecNumber.Name,Name);srecNumber.in=in; strcpy(srecNime,intime);srecNumber.out=out; strcpy(srecNumber.outtime,outtime);srecNumber.sum=sum;result=1; recNumber+;fclose(fp);/* 将修改后的结构体数组记录写入文件 */
37、 fp=fopen(Da,wb+); /* 打开文件,原文件内容清空 */ if (fp=NULL)打开文件s失败!按任意键结束! n,Da);printf(nexit(0);for(i=0;irecNumber;i+) /*采用循环将数据写入文件 */ if(fwrite(&si,sizeof(money),1,fp)!=1)printf(n写入文件 %s 失败!按任意键结束! n,Da);exit(0); fclose(fp);if(result=1)printf( 文件修改成功,已成功保存在用户文件夹 n); /* 询问是否查看修改后的文件 */printf(n是否查看修改后的文件?(是
38、:y/Y,否:n/N);next=getche();system(cls);putchar(n);if (next=y|next=Y)/* 显示修改后的文件 */fp=fopen(Da,rb); /*只读方式打开文件 */if (fp=NULL)printf(n打开文件s失败!按任意键结束!n,Da);exit(0);system(cls);printf(n 修改后的文件全部内容是: n);while(fread(&Tm,sizeof(money),1,fp)!=(int)NULL) printf(#nn);printf( 成员编号: %ldn,Tm.Number);printf( 成员姓名:
39、 %sn,Tm.Name);printf(成员收入:%f 元n,Tm.i n);printf(收入时间:%sn,Time);printf(成员支出:%f 元n,Tm.out);printf(支出时间:%sn,Tm.outtime);printf(收支总和:%fnn,Tm.sum);printf(#n);printf(n);fclose(fp);if(result=0)printf(n 你输入的内容编号不存在。文件修改失败。 nn);/* 提示是否进行下一次修改 */printf(n是否继续? ( 是: y/Y ,否: n/N);next=getche();system(cls);pu
40、tchar(n);if (next=y|next=Y) goto begin;void xingmingchaxun() /* 按姓名查询家庭成员财务收支信息记录 */int result;/* result=1 说明查询成功,反之查找失败 */money Tm; /* 定义进行操作时的临时结构体变量 */char Xingming20,before20; /*数组 Xingming 用于用户输入要查询的家庭成员姓名*/char Da40,next;/*Da 存储家庭成员财务信息的文件名, next 为是否进行下一次操作的选项 */FILE *fp=NULL;printf(n 请输入存储数据的
41、文件名,按回车键结束。 n);gets(Da);/* 提示用户输入要查询的家庭成员姓名 */begin:result=0;system(cls);printf( 请输入要查询的家庭成员姓名(姓名不超过二十位字符),按回车键结束。 n);scanf(%s,&Xingming);getchar();fp=fopen(Da,rb);if (fp=NULL)printf(n 打开文件 %s 失败!按任意键结束! n,Da); exit(0);/* 循环查找和输入姓名相匹配的家庭成员财务收支信息记录,如果 查找到,则输出结果 */while(feof(fp)=0) /* 没有读到文件结尾 */if(fr
42、ead(&Tm,sizeof(money),1,fp)!=(int)NULL) /* 判断是否从文件 中成功读取数据 */if (strcmp(Tm.Name,Xingming)=0) /* 文件内容姓名和输入的姓名一致 */ if(strcmp(before,Tm.Name)!=0)system(cls);printf(n 查找成功! nn 您要查找的家庭成员 的信息如下: n);printf(#n);printf(n成员编号: %ldn,Tm.Number);printf( 成员姓名: %sn,Tm.Name);printf(成员收入: %f 元 n,Tm.in);printf( 收入时间: %sn,Time); printf( 成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5.17 外交事业的发展 说课稿 2023-2024学年统编版八年级历史下册
- 项目1-2 规划学习时间教学设计-2025-2026学年中职信息技术(信息科技)第二册苏教版
- 考点解析-人教版八年级物理《浮力》专项攻克试题(含答案解析版)
- 《第9节 多媒体元素与超链接》说课稿教学反思-2023-2024学年初中信息技术北师大版八年级上册自编模拟
- 难点详解人教版八年级上册物理声现象《声音的特性声的利用》专题训练试卷(含答案详解版)
- 2024秋四年级英语上册 Unit 2 My schoolbag课时4 Let's talk Let's play说课稿 人教PEP
- 10.3-2 探究绿色开花植物的双受精说课稿2023-2024学年京改版生物八年级上册
- 环境污染治理服务创新创业项目商业计划书
- 社区茶艺体验创新创业项目商业计划书
- 老年兴趣社团创新创业项目商业计划书
- 《苹果案例分析》课件
- 常用急救药品知识-课件
- 《绿色设计产品评价技术规范硫酸钾》
- 外研版(三起)(2024)小学三年级上册英语Unit 4《Fun with numbers》教案
- 2024年大学生电子版三方协议书模板
- 信息科技大单元教学设计之七年级第一单元探寻互联网新世界
- 普通高中体育与健康课程标准
- MOOC 理性思维实训-华南师范大学 中国大学慕课答案
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- 腾讯组织管理手册
- 《燕麦片营养调查》课件
评论
0/150
提交评论