付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、HUNAN UNIVERSITY程序设计训练课程名称家庭财务管理系统学生姓名学生学号专业班级指导老师起止时间湖南大学课程训练设计报告家庭财务管理系统、0创建得用于家庭各,删除,修改,查找,浏删除信息,修改信息,创本报告介绍了一个运用 C语言知识与Microsoft Visual C+ 6成员财务情况管理得家庭财务管理系统。在该系统中创建了包含增加 览得功能总列表,包含了输入家庭成员收入信息情况 ,增加信息,建姓名查找与编号查询便于用户查找个人财务情况,创建合计排序浏览用户可从总体上浏览全家庭财务信息情况。目录2问题定义223可行性分析4系统需求5 方案设计分析146系统运行情况7系统维护.8致
2、谢1515家庭财务管理对于每一个家庭来说有着重要得意义,随着科技得发达,财务得管理由原先得手写账本发展到现今得电脑系统输入并统计,不仅大大减少了时间与精力 ,也就是财务管理更系统化 ,便捷化 ,清晰化,减少金钱上得缺失。家庭财务系统主要对家庭得各项财务收支管理进行在计算机上得信息存储与处理 ,从而简化用户得工作量本报告设计得家庭财务管理系统主要就是负责给家庭成员提供了一个在 Windows 操作 系统上运行得管理平台 ,家庭财务管理者可以对其成员编号、姓名以及收入、支出构成进行增加、删除、修改 ,查找等管理操作,还可以对全家庭财务合计排序浏览。C 语言就是国内外广泛使用得一种计算机语言,学会使
3、用 C 语言进行程序设计就是计 算机工作者得一项基本功。对于我们大学生来说 ,学习这样一门“ C 程序设计教程”更就是 必要得.本课程设计“家庭财务管理系统”就就是通过学习 C 程序设计采用 Visual C+作为编译环境 ,就是程序编译与运行得。本系统得总体思想基于结构化得程序设计。应用高级语言程序设计中得基本控制结构 ,如循环与选择,着重实现管理系统得增、删、改、查等典型得管理功能。程序设计就是一门实践性很强得课程 ,既要掌握概念,又要动手编译 ,还要上机调试运行 ,通过这一次得课程设计我们从实践中更进一步得学习与了解C 语言 ,当然由于个人得技术水平有限,在这途中遇到很多问题 ,程序也未
4、能做到很完美 ,望见谅!2 问题定义要解决得问题就是什家庭财务管理系统得问题定义阶段必须回答得关键问题就是: 么? "不知道问题就是什么就试图解决这个问题,显然就是盲目得,只会白白浪费时间与金钱,最终得出得结果可能就是毫无意义得。尽管确切地定义问题得必要性就是十分明显得 但就是在实践中它却可能就是最容易被忽视得一个步骤。下面就将“家庭财务管理系统要 解决得问题做就是什么? "这个问题做出详细得分析。随着社会主义得不断发展与进步 ,人们得生活部断完善 ,家庭得收入与支出也越来越多,当然也不能盲目得追求时尚, 高估了自己得能力 ,这就需要明确自己得收支情况 ,对家庭财务得来龙去
5、脉有个大致得了解。 。做到心中有数。经过我分析初步得出以下几个方面就是家庭财务管理系统必须要解决得问题 主要包括:1:增加成员财务信息记录 2:删除成员财务信息记录 3:修改成员财务信息记录4:按成员姓名查询财务信息 5:按成员编号查询财务信息 6:查询全部成员信息3 可行性分析进一步明确系统得目标,规模与功能 .对系统开发背景、必要性与意义进行调查分析并,概根据需要与可能提出拟定开发系统得初步方案与计划。可行性研究就是对系统进行全面 要得分析。此项活动开始时 ,要对初步调查得结果进行复审,重新明确问题,对所提系统大致规模与目标及有关约束条件论证,并且提出系统得逻辑模型与各种可能方案。当今社会
6、就是一个讲求效率得社会, 时间就就是金钱。 开发简单,易于操作得,管理软 件不仅可以节省时间 , 还可以避免浪费人力 , 物力,提高效率 . 待开发系统就是一个对家庭理 财管理系统,简单,易学,将成为家庭理财得得好帮手 并非所有问题都有简单明显得解决办法,事实上,许多问题不可能在预定得系统规模或时 间限制之内解决 .如果问题没有可行得解 ,那么花费在这项工程上得任何时间、人力、软件资源与经费,都就是无谓得浪费。可行性研究得目得,就就是用最小得代价在尽可能短得时 间内确定问题就是否能解决 .必须时刻记住,可行性研究得目得不就是解决问题,而就是确定问题就是否值得去解决。现从下述三个方面分析家庭理财
7、系统问题得可行性(1)技术可行性就技术可行性来说:我们已经学习了 VC,具备了开发与维护得实力。因此只要加上认真得编译、 测试,这个家庭管理系统绝对可以实现得 ,开发与维护该系统也就是可行得。2)经济可行性。就经济可行性来说,由于我们为了学习每个人都有配置很算差不多得个人电脑,并组建了内部局域网,因此硬件上就是没有问题得。而软件上由于就是自己开发,所以开发及日后得维护费用并不高,在经济条件方面也就是允许得.再加上由于家庭财务管理系统就是各个家庭管理自己家得得财务,所以她不会涉及联机得,只要在自己家中得计 算机按上家庭理财系统就可以使用。 操作简单 ,功能强大。 就是每个家庭必不可少得好帮手。所
8、以家庭理财系统就是很值得开发得一款家庭助手软件3)操作可行性 .就操作可行性来说 ,该系统能够实现家庭理财功能得要求,使家庭成员能够及时、全面得掌握财产得流动情况、财产得使用、收支情况等.能够在很大程度上节省家庭在财产管理方面花费得精力 .综上所述 ,证明我们开发该系统就是切实可行得。总结 :由于投资效益比远大于 100, 技术、经济、操作都有可行性,可以进行开发。4 系统需求1 编写目得本需求得编写目得在于研究家庭理财系统软件得开发途径与应用方法。一个好得需求 分析可以为以后工作减轻很多不必要得花费。 它就是软件开过程中最重要得任务之一 , 如果 需求分析完成得不好,这个软件很有可能就是没有
9、作用得,所以我们一定要编写好需求分 析。2 背景及范围本项目得名称:家庭财务管理系统。本项目得任务提出者就是很多家庭账务繁琐得家庭本产品能具体化、合理化得管理家庭输入、开支、收入信息记录 , 用结构化得思维方 式去了解计算机得基本工作原理。3 确定对系统得综合要求(1) 功能需求 :主要功能 :提供家庭日常收入、开销得详细情况。账户管理等多项功能。输入要求:数据完整,详实。输出要求 : 简捷, 快速,实时.(2)意图a、帮助家庭管理财务信息、b、为了给家庭人员减轻负担、c、为了促进国家经济建设得发展、3)目标通过本系统软件 , 能帮家庭成员快速方便得对家庭财务管理、 查瞧等需求操作时方便家庭财
10、务记录管理 , 使散乱得各种记录 ,档案能够具体化 , 直观化、合理化。(4 )使用及范围本软件适用于每个财务复杂得家庭 , 它就是比较完善得系统管理软件 ,对家庭财务信息可以随时输入 ,更改, 查瞧。(5)背景现在大多数家庭都在为麻烦得财务管理发愁,如果有一个专门管理软件来管理这些账务,岂不为家庭成员减少很多负担?(6)用户特点本软件得使用对象就是家庭成员只要稍微懂得计算机基本操作就可以利用该软件进行所需操作。5方案设计分析1、结构体设计用于存放每个家庭成员得序号、姓名、收入、支出、合计方面信息typ edef structlong no;long Number;char Name20;fl
11、oat in;char in time 10;float out;char outtime 10;float sum; money;/*每一组输入得编号* / / *家庭成员编号* /*家庭成员姓名*/*家庭成员收入*/*收入时间* /*家庭成员支出*/*支出时间* / *总计*/*增加成员财务信息记录/*删除成员财务信息记录/*修改成员财务信息记录/ *按成员姓名查询财务信息 / *按成员编号查询财务信息/*查询全部成员信息*/*/*/* /* /* /流程图:家庭财务管理系统由编号、姓名、收入、支出构成用于描述一个有机整体一-家庭成员财务信息系统,为了表明这些字段不就是孤立得,而就是共同描
12、述一个完整得事物,因此用结构体这种形式来体 现。2、函数设计为实现家庭财务管理系统用了下列自定义函数tianjiashouzhi (); shanchushouzhi ();xiugaishouzhi (); xingmingchaxun ();bia nhaochax un(); chaxunquanbu();请选择J /判断a得值添加财务信息Switch(a)语句删务信信心、IN修 改按按除 财浏 览 全 部 信添加财务信息输入您要添加信息得文件名请根据提示输入您1要添加得信息r保存并关闭文件判断文件就是否打开成N结束删除财务信息就是否继输入您要删除信息得文件名丄请重新输天请重新输犬哦是否
13、打开成 判断就是否存删除成功保存剩余文件牛Y请根据提示输入号就是否删Y策得成员编Y系统运行界面:删除家庭成员财务信息 F;、程序陆计«xc««gDe bugcwglO exe'_ _ _ 一 _ 欢迎来到家庭财务管理系统!Ijilgl务信息记录1 lllli1: bssMr'atmttft#tWDttttttth ' F :UT''t«ccccc«ccDe bugovglO .exe'wawbww#?jtcwgl号<<间出间和 器收时皿 u刃员员入员出支 成成成收<收文件全部內容
14、如下345.000000元4S6.0000007E 121223ttttuottttoftttiiotittttttttttttttttitttttttmtfuttttttuttmftitttttttutt间岀间 编姓忱时斋 员员员入员出 成两成收W:2uuu23243.000000兀 43453_545.000000元 6宓2WWW23243.000000元 43453_545.000000元22698.000000汴确芷要«除该记录吗?删除后不可恢复! <>= "Y;否:n"O有顽入存储数据的文件名,按回车键结束!Jtcwgl4諭入要妆魅的t庭成员
15、编号:2 曲碾务2录如下:,6* * * * * *.UMA MA <> AM MM M*<>AM A* >M KA MA点帀内容编号:6 砲員编号, IMSl:I存A时间; 也冃A岀.岀肘间: 士.巳和8II f 4 * .n *F 程序设CH ccDe bugicwg lO.exe出££ #白口鶴絃:S岀商间: 收支息和=3cce:3444.000000元43 434E45.000000Wfttt tm 删榊肿 ttffttfttt ttttttttttffttttUtt ft tillX磁备E t 5665 胶支.总捧h 2899-000
16、000ttttttftttOttitnttttttnttunottMttoontt ttktttt tttt# ttittttttt ttflttfltt ttttttntttttt ttntt It 44343IS: 收爻忌和:5451_000000元 碗5_£57,000000元7674797-000000tttttttt tt ttnttttttffltttttttt ttfl tttttt It成员编号£ 5崽员畦各E馮4_成员收入=£65.000000% 屹入时闸;V67_成员支出:fi7B,0000007L 支岀时间t 765& 阪支息和
17、63; -313-000000HJtttA fl nit ttAflitnttttttnn iw ttAtt a是否继续刪除? C是;否? n/N>596系统运行情况1出现得问题。刚开始输出时乱码,上网搜了才知道就是数据溢出。数据得输入与输出结果不一致。删除、修改功能不能如期实现。2相关得解决方法通过不断试验,删除多余结构体;查找错误 , 严格定义变量类型; 不断得进行调试及改进。3 目前得运行情况针对一系列运行过程中出现得问题 ,我们进行了相应得修改 ,到目前为止 ,该管理系统基本上可以正常运行,实现其预期得功能管理 , 但仍有许多可以改进得地方 .4 系统操作说明 进入系统操作界面后
18、,输入06选择功能。? 选择 1根据系统提示,添加家庭成员收支信息。? 选择 2根据系统提示 , 删除家庭成员收支信息? 选择 3根据系统提示,修改家庭成员收支信息? 选择 4根据系统提示,按姓名查找家庭成员收支信息? 选择 5根据系统提示 , 按编号查找家庭成员收支信息? 选择 6查瞧全部家庭成员收支信息。7 系统维护 一个软件从定义、开发、使用与维护,直到最终被废弃 , 要经历一个漫长得时期 , 在这 期间会需要程序员来维护这个软件正常工作, 因此清晰简洁得文档就是必不可少得 , 而不仅 仅就是只需要源代码。总结通 过 本 此 得 课 程 设 计 ,让 我 们 更 熟 练 地 掌 握 了
19、C 程 序 设 计 教 程 得 知 识 , 熟悉了一个管理系统得运用与操作,熟悉如何采用Visual C+作为编译环境,使程序成功得编译与运行,此次我们所设计得家庭财务管理 系统 可应用 于家庭得 简单管理,对家庭各成员得财务收入,支 出进行增加,删 除,修改,按 姓名查询, 按编号查询与浏览全部家庭成员财务信息。在这次课程设计中由于对知识掌握得不 够熟悉,专业技术水平得有限,从程 序得初步设计,编辑到程序得运行,从一开始得按模块撰写,到各模块得链接运 行,我遇到很多问题,有过放弃得想法, 可最后还就是坚持到了最后 ,直到把程 序写完 ,编译调 试完成。后来回头瞧自己 得成果 ,虽然不容易,但
20、就是心里还就是很高兴得,毕竟就是自己亲手做得。通 过这次课程设计,我 更加深入地学 习了 VC 语言这门课程,让我学了一个学期得知识得 以应用,增强了我求知 得欲 望 与学 习得 兴趣 ,想 对 VC 语 言课程有 更多得了 解.致谢非常感谢老师一直以来对我们得悉心指导 , 从最初得选题 , 到辅导检查进展情况 , 到程序综合调试,再到最后得设计报告 , 老师牺牲休息时间给了我们耐心得知道与无私得帮助, 老师得这种无私奉献得敬业精神令人钦佩,在此我们向老师表示我们最诚挚得谢意。同时感谢同学对我得帮助,帮助我检查程序错误,调试程序,才有了今天我得成功。非常感谢 大家。参考文献visualC+ 项
21、目案例设计 清华大学出版社、科学出版社项目案例导航 还有百度文库 ,百度知道 .程序源代码:#includestdio 、 hinclude<stdlib、h>#include<string、h include conio 、h#include math、h#define SIZE 100typedef structlong no;每一组输入得编号 /long Number;家庭成员编号 /char Name20;/*家庭成员姓名 /float in/*家庭成员收入 */char intime10;收入时间 /float out/*家庭成员支出 money;void tian
22、jiashouzhichar outtime 10; /*支出时间 /float sum;/*总计/) /* 添加财务收支信息记录 */FILE fp = NULL ;定义指向文件得指针 */money Tm,ch ;/*定义进行操作时得临时结构体变量 /char Da40,next; /*存储财务收支信息得文件名 /int count=1;/*计算可输入数据得最大范围 */printf( ”n请输入要添加财务收支信息得文件名 : ”);gets (Da);begin:count=1 ;fp=fopen ( Da,"ab+");if (fp=NULL/ 判断文件就是否成功打
23、开 /printf” n 打开文件 s 失败!按任意键结束! n",Da );printf("输入成员收入:” ) ;exitwhile(fread ch,sizeof(money) , 1, fp)!=(int)NULL) /*从文件中读取数据并判断就是否成功 */count+fclose(fp );/ *如果成功打开或创建文件,则提示输入家庭成员序号、姓名、收入、出等相关信息 */fp=fopen (Da,” ab+") ; / * ab+:当文件存在时,追加,当文件不存在时, 创建*/printf( ”输入编号,姓名,收入,收入时间 ,支出,支出时间,输入编
24、号为0时结束! n ”);printf (”编号不超过九位,姓名不超过二十个字符。 n ”);while(count<=SIZE)Tm、no=count;printf(” n 输入编号为零时结束输入! n ” );printf("成员编号:");scanf"%ld”, &Tm、 Number);ifTm、Number=0 )*如果输入得编号为 0, 结束*/breakprintf" 输入成员姓名 : ” ) ;scanf" s" , Tm、Name);scanf("%f ”, Tm、in);printf ( &
25、quot;输入收入时间 : ”);scanf("%s" ,Tm、intime );printf" 输入成员支出:”);scanf("f ”, Tm、 out);printf" 输入支出时间 :" );scanf”%s",Tm、 outtime) ;if (fp=NULL)/判断就是否打开成功 */printf("n打开文件 s 失败!按任意键结束 !n",Da);Tm、sum=Tm、 in-Tm 、out;” n”);if ( fwrite(&Tm , sizeof(money),1,fp) !
26、=1) / 将数据写入文件并判断就是否成功 /printf);” n 写入文件 s 失败!以任意键结束! n ” ,Da);exit(0count+;/ 如果输入得数据量超过最大允许得范围 , 则提示数据不能录入 */if (countSIZE)printf"n 对不起 , 输入得数据量超过最大允许得范围%dn",SIZE );fclosefp) ;system (” cls ”) ;printf("您输入得数据已成功存储在 s 文件中。 n",Da);printf" 文件全部内容如下 :n ”);fp=fopen(Darb ”); /* 只读
27、方式打开二进制文件exitwhile(fread( Tm,sizeof (money),1,fp) !=(int)NULL) / 从文件中读取数据,就是否读取成功 */printf (” # # # # # #n” );printf"成员编号 : ldn" ,Tm、Number);printf(”成员姓名: %sn”, Tm、Name);printf(”成员收入:f 元n ”,Tm、in );printf(”收入时间 : sn ”,Tm、intime) ;printf" 成员支出 :%f 元 n",Tm 、 out);printf(”支出时间 : sn&
28、quot;,Tm 、outtime);printf”收支总与: fn" ,Tm、 sum); printf (” # # # # # #” n” );printf("nn");fclose/ 询问就是否继续 /printf(” n 就是否继续 ? (就是: y/Y ;否: n/N)") ;next=getche( );syste m (”cls ”);putchar( ' n' );if ( next='y'|next=' Y') goto begin ;void shanchushouzhi/*删除家庭成
29、员收支信息记录 */money Tm; /定义进行操作时得临时结构体变量 /int i, result=0;long delnum; /存放要输入得要删除家庭成员序号 */money s SIZE;int recNumber; /原文件中得记录数 /char Da40,next;FILE fp;/*fp指针指向存储数据得文件名 */printf( ” n请输入存储数据得文件名, 按回车键结束 !n ”);gets(Da) begin:/* 以二进制读得方式打开文件 /fp=fopen(Da , "rb");if (fp=NULL )printf” n 打开文件 %s 失败!
30、按任意键结束! n",Da);printf("成员编号:ldn ”,Tm Number);printf("成员收入:f元n" , Tm in );printf(”成员支出: f 元n ”,Tm、out);exit/* 输入要删除得家庭成员序号 */printf(" 请输入要删除得家庭成员编号:” );scanf("%ld ”, delnum);printf (”您要删除得编号就是: ldn ”, delnum);int)NULL )while(fread( Tm,sizeof(money),1,fp)!=/ 从文件中读取数据,就是否读
31、取成功 */if(Tm 、 Number=delnum) printf(”该项收支记录如下 :n ”)printf(” # # # # n” ) ;printf(”该项内容编号 : ldn ”,Tm、no) ;printf(”成员姓名: %sn", Tm、 Name);printf("收入时间 : sn" , Tm、 intime) ;printf”支出时间: %sn",Tm、outtime ) ;printf" 收支总与: %fn",Tm 、 sum);printf( # # # # #n") ;result=1rewin
32、d (fp ) ;/ 把文件指针重新指向文件得开头*/if(result=0)printf”n您输入得编号不存在,请确认后重新输入n" ) ;printf(”n就是否继续删除?(就是:y/Y;否:n/N) ”);next=getche();system” cls ”);putchar('n');ifnext='y'|next= 'Y') goto begin;/* 询问就是否删除*/printf (”恭喜!该项纪录已成功删除。 。 n") ;printf ("n您确定要删除该记录吗?删除后不可恢复!(就是:y/Y ;
33、否:n/N )");next=getche ( );putchar('n') ;if ( next='y'|next='Y' system("cls");/* 将文件中信息存入结构体数组 */* 与要删除得家庭成员序号相匹配得项不写入数组,循环后数组中即为去掉了要删除记录后得剩余记录 /recNumber=0 ;while( (fread(&Tm ,sizeof(money ),1,fp)!= (int)NULL)/* 从文件中读取数据,就是否读取成功 */if(Tm、Number!=delnum)srecN
34、umber 、 no=Tm、 no;recNumber、Number=Tm、Number;strcpysrecNumber 、 Name, Tm、Name);recNumber、in=Tm、 in ;strcpy(srecNumber 、 intime ,Tm、 intime );recNumber 、out=Tm、 out;strcpys recNumber 、 outtime,Tm 、outtime );srecNumber、sum=Tm、 sum;printf”成员编号: ldn ”, Tm、 Number);printf”收入时间 : sn" ,Tm、intime );rec
35、Number+fclose将删除后得剩余结构体记录写入文件 */fp=fopenDa,"wb+");/*读写方式打开文件 , 原文件内容清空/if (fp=NULL)printf(” n 记录文件s 失败!按任意键结束 !n" , Da);exit(0);fori=0;i<recNumber;i+) /* 用循环将数据写入文件 */if(fwrite s i ,sizeof(money ),1,fp ) !=1)/*printf(fcloseexitfp) ;”n 记录文件 s 失败!按任意键结束! n ”,Da);0);显示删除财务信息记录后得文件 /pr
36、intf(”就是否查瞧删除后剩下得内容、 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 打开文件 s 失败! 按任意键结束! n",Da);exit(0);printf #printf"删除后剩余全部内容就是 :n ”)
37、;# # # # # # # # # #n”);while(fread(printf” # # #n” ) ;printf" 成员姓名: %sn”, Tm、printf(Name);”成员收入:%f元n ” Tm in );printf(”成员支出:f元n ”,Tm、out);Tm,sizeof(money ),1 ,fp )!=(int)NULL )printf(”支出时间: %sn",Tm、outtime) ;printf("收支总与 : fn ”,Tm、sum);printf" # # # # # # n”) ;elsesystem” cls&qu
38、ot;) ;printf(”n 删除失败,原因 :用户取消操作 nn ”); fclosefp);/ 询问就是否继续 */printf("n就是否继续删除?(就是:y/Y ;否:n/N)");next=getche() ;system (” cls" ) ;putchar ('n' ) ;if ( next=y' I I n ext=' Y')goto beg in;void xiugaishouzhi() /* 修改家庭成员收支信息记录 /int i,result=0long modnum ;/* 存储要修改得家庭成员序号
39、 /20;/* 输入各项修改后信息 / long no,Number char Name float in;char intime10float outchar outtime 10;float sum;money Tm;/*定义进行操作时得临时结构体变量 */printf (” # # #money sSIZE; /* SIZE,在shead、h头文件中定义得常量,值为100 *int recNumber;char Da 40 ,next ;/ Da 存储家庭成员收支信息信息得文件名, next 为就是否进行下一次操作得选项 */FILE fp ; /*fp 指针指向存储数据得文件名 /*
40、输入要进行修改记录得文件名 /printf(”n 请输入存储数据得文件名 ,按回车键结束 !n") ;gets(Da);begin:fp=fopenDa,"rb"); / 只读方式打开文件 /if(fp=NULLprintf("n打开文件 %s 失败!按任意键结束! n ”,Da);exit(0)printf(请输入您要修改得家庭成员得成员编号 :") ;scanf(” ld" ,&modnum);printf("您要修改得成员编号就是 : ldnn ”, modnum;)while(fread (&Tm,s
41、izeof (money),1,fp )!=(int)NULL )/* 读取文件内容,判断就是否读取成功*/ifTmNumber=modnum)/ 输入得编号与文件内容得编号一致# n”) ;printf(”n 该项内容编号: ldn ”,Tm、 n o);printf("n成员编号: %ldn" ,Tm、Number);printf(”n成员姓名 :%sn",Tm 、 Name);printf ("n成员收入:f元n" , Tm in );printf("n收入时间 :%sn" , Tm、 intime );printf
42、("n成员支出:%f元n ” Tm out);printf ("n支出时间 :%sn ”,Tm、 outtime) ;printf(”n收支总与: %fn”,Tm、 sum);printf(” # # # # result=1;rewind(fp) ; /* 把文件指针指向文件得开头 /if(result=0 )printf(" 您输入得编号不存在,请确认后重新输入: n ”);printf ("n 就是否继续?(就是: y/Y, 否 :n/N) ”); next=getche() ;system("cls ”);putchar('n&
43、#39;);if(next='y ' | next=' Y') goto beginelse exit(0)result=0;printf (" 请输入您要修改得该项内容编号: n" ); scanf( ”ld”,&no);输入要修改记录得各项内容值 */Number=modnum;束!n ”);printf(”成员姓名: " );scanf("s" , Name);printf”成员收入 :") ;scanf”f ”,&in);printf"收入时间 :" );sc
44、anf"%s”, intime );printf"成员支出:”) ;scanf"%f" ,&out );printf”支出时间 : ”);scanf”%s",outtime ) ;sum=in-out/ 将文件中要修改得信息存入结构体数组 /recNumber=0;/ 循环将文件数据读入结构体数组 ,如文件中得数据家庭成员内容编号与要修改得家庭成员内容编号不符,则原 样写入数组 ,如文件中数据得家庭成员内容编号与要修改家庭成员内容编号匹配则根据输入得各项修改内容重新赋值,即修改,并写入数组while(fread(&Tm, siz
45、eof(money),1,fp )!=(int )NULL) / 读取文件内容。就是否成功 */if(Tm、 no!=no)/*输入得内容编号与文件内容编号不一致*/recNumber 、no=Tm、no;recNumber 、Number=Tm、Number;strcpysrecNumber 、 Name, Tm、Name);recNumber 、in=Tm、 in ;);strcpy (srecNumber 、intime , Tm、 intimeiffwrite(&si , sizeof (money) ,1 , fp)!=1 )strcpy(srecNumber 、outtim
46、e , Tm、outtime) ;ifsrecNumberTm、no=no)、sum=Tm、 sum;/*输入得内容编号与文件内容编号一致 /recNumber 、no=no;srecNumber、Number=Numbe;rstrcpysrecNumber、Name,Name);srecNumber、in=in ;strcpy ( s recNumber、 intime,intime)recNumber 、out=out;strcpys recNumber 、outtime ,outtime) ;srecNumber、sum=sum;result=1recNumber+;fclose(fp
47、);/ 将修改后得结构体数组记录写入文件 /fp=fopen(Da,”wb+”);/*打开文件,原文件内容清空 */iffp=NULL)printf("n打开文件 s失败!按任意键结束!n" , Da);exit0);for(i=0;i<recNumber;i+ )/ 采用循环将数据写入文件 */printf(”n 写入文件 %s 失败! 按任意键结束 !n",Da);exitfclose(fp);if(result=1 )printf ("文件修改成功 ,已成功保存在用户文件夹 n”) ;/* 询问就是否查瞧修改后得文件 */printf(&qu
48、ot;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打开文件5失败!按任意键结束!n",Da);exit(0);system ("cls ”) ;printf修改后得文件全部内容就是: n");whilefread
49、(&Tm,sizeof (money), 1, fp) ! =(int ) NULL)printf(" # #nn") ;printf("成员编号 :ldn",Tm 、Number) ;printf (” 成员姓名: sn ”, Tm、 Name) ;printf( ” 成员收入:%f 元n" , Tm in);” n”);fcloseifprintf(printf("printf("printfprintfprintfresult=0printf("n” 收入时间 :%sn" , Tm、 int
50、ime );成员支出:f元n",Tm、out);支出时间: %sn”,Tm、 outtime );" 收支总与 :%fnn" ,Tm、 sum);”# # # # # "n");您输入得内容编号不存在 . 文件修改失败 . 。nn ”);/* 提示就是否进行下一次修改 */printf (” n 就是否继续?( 就是: y/Y, 否: n/N)");/Da 存储家庭成员财务信息得文件名, next 为就是否进行下一次操作得next=getche( );system("cls")putchar (' n
51、9;) ;if (n ext='y'| n ext=' Y' ) goto beg in;void xingmingchaxun() /*按姓名查询家庭成员财务收支信息记录 */int result ; / "result=1 ”说明查询成功 , 反之查找失败 /money Tm; /定义进行操作时得临时结构体变量 */char Xingming20,before 20; / 数组 Xingming 用于用户输入要查询得家庭成员姓名char Da40 , next;选项 /FILEfp=NULL;printf(”n 请输入存储数据得文件名,按回车键结束
52、。 n");getsDa);/* 提示用户输入要查询得家庭成员姓名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)没有读到文件结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商户租房合同协议书2026年方法论
- 2026年关于轮胎安全培训内容高频考点
- 2026年法治安全培训内容核心要点
- 2026年线上观摩工作总结报告实操要点
- 2026年快餐门店运营管理合同
- 2026年食堂生产安全培训内容重点
- 福州市闽清县2025-2026学年第二学期四年级语文第六单元测试卷(部编版含答案)
- 朝阳市建平县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 邵阳市武冈市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 大庆市大同区2025-2026学年第二学期五年级语文第五单元测试卷(部编版含答案)
- 2026年济南历下区九年级中考数学一模考试试题(含答案)
- 2026新质生产力人才发展报告-
- 大脑卒中急救处理方案
- 广东省化工(危险化学品)企业安全隐患排查指导手册(精细化工企业专篇)
- 地铁工程扬尘防治专项施工方案
- 2026吉林大学第二医院合同制护士招聘50人考试参考试题及答案解析
- 2026年课件湘少版四年级英语下册全套测试卷-合集
- 急危重症患者的病情评估和护理
- (2025年版)儿科血液科护理实践指南
- 宋浩线性代数笔记
- 缅甸土瓦锡、钨沙矿考察情况
评论
0/150
提交评论