家庭财务管理系统4

上传人:无*** 文档编号:55213888 上传时间:2022-02-17 格式:DOCX 页数:25 大小:256.67KB
返回 下载 相关 举报
家庭财务管理系统4_第1页
第1页 / 共25页
家庭财务管理系统4_第2页
第2页 / 共25页
家庭财务管理系统4_第3页
第3页 / 共25页
点击查看更多>>
资源描述
精品目录1 .课程设计目的及要求22 .相关知识23 .设计方案.23.1 题目内容23.2 分析题目要求23.3 流程图34 .程序代码实现.55 .测试数据及运行结果.136 .课程设计总结157 .参考文献15感谢下载载1 课程设计目的及要求通过课程设计,进一步巩固和复习C语言程序设计的基础知识,了解软件的编制过程及各环节的具体内容,掌握结构化程序、模块化程序设计方法,提高学生分析问题,解决问题以及书籍运用能力。2 相关知识本课程设“家庭财务管理系统”就是通过学习C程序设计采用VisualC+作为编译环境。本系统的总体思想基于结构化的程序设计。应用高级语言程序设计中的基本控制结构,如循环和选择,着重实现管理系统的增、删、改、查等典型的管理功能。3 .设计方案3.1 题目内容家庭成员可以对其成员编号,姓名以及收入,支出构成进行增加,删除,修改等管理操作。家庭成员分为管理员和普通用户两类,权限不同。管理员还要在本系统外事先创建家庭成员信息文件,在文件中保存用户的序号,姓名,密码,权限。用户必须正确输入姓名和密码才能登录使用本系统。3.2 分析题目要求管理员界面有12个选项可供管理员挑选:1.创建家庭成员财务信息文件(该文件内容为序号,姓名,收入,支出,合计。)并初始化2.添加财务收支信息记录;3.删除财务收支信息记录;4.按姓名查询家庭成员财务收支信息记录;5.按家庭成员序号查询家庭成员财务信息;6.修改家庭成员收支信息记录;7.按财务合计项排序浏览;8.增加家庭成员信息;9.删除家庭成员信息;10.按用户序号修改家庭成员信息;11.按家庭成员序号排序浏览用户信息12.退出本系统。管理员界面,创建家庭成员财务信息文件并初始化,修改家庭成员收支信息记录。3.3 流程图(1)家庭管理选择界面iriiEuhuke-O;prints111.1家庭管理选择界面(2)创建家庭成员财务信息文件:(3)修改家庭成员收支信息记录:JLpiincflnOpenGle%niMultiplex1.3修改家庭成员收支信息记录4.程序代码实现*/(1)/*admin.c:家长管理功能选择界面,根据用户选项调用相应函数实现系统功能#includeshead.h/*家庭成员财务信息头文件*/#includecreat.c/*创建家庭成员财务信息文件*/#includeadd.c/*增加家庭成员财务信息记录*/#includedelete.c/*删除家庭成员财务信息记录*/#includemodnum.c/*按家庭成员序号修改家庭成员财务信息*/#includeqname.c/*按家庭成员姓名查询家庭成员财务信息*/#includeqseatnum.c/*按家庭成员序号查询家庭成员财务信息*/#includessum.c/*按财务合计项排序浏览家庭成员财务信息*/voidAdmin()intchoice=0;/*存放用户选项的变量*/*=功能及操作的界面提示=*/while(1)printf(n);printf(|n);printf(|WelcometoFamilyFinancialManagementSystem|n);printf(|n);printf(|n);printf(|1.CreatFinancialFile|n);printf(|2.AddRecord()|n);printf(|3.DelRecord()|n);printf(|4.QueryByName()|n);printf(|5.QueryBySeatNum()|n);printf(|6.ModifyByNumber()|n);printf(|7.SortBySum()|n);printf(+n);printf(|SystemUserManagement|n);printf(|11.CreatNewUserFile()|n);printf(|12.AddUser()|n);printf(|13.DelUser()|n);printf(|14.ModifyUser()|n);printf(|15.SortByUserNum()|n);printf(+n);printf(|0.EndProgram|n);printf(n);printf(#PleaseInputYourChoose#n);printf(#number17toManagetheFamilysFinance#n);printf(#number11,12,13,14,15toManagetheSystemUser#n);printf(#number0toExittheSystem#n);printf(n);scanf(%d,&choice);getchar();/*根据用户选项调用相应函数*/switch(choice)case1:CreatFile();/*创建初始财务信息文件*/break;case2:AddRecord();/*增加财务信息记录*/break;case 3:DelRecord();/*修改财务信息记录*/break;case 4:QueryByName();/*按家庭成员姓名查询财务信息*/break;case5:QueryBySeatNum();/*按家庭成员序号查询财务信息*/break;case 6:ModifyByNumber();/*按家庭成员序号修改财务信息*/break;case 7:SortBySum();/*按财务合计项排序浏览财务信息*/break;case 11:CreatUser();/*创建初始家庭成员信息文件*/break;case 12:AddUser();/*增加家庭成员*/break;case 13:DelUser();/*删除家庭成员*/break;case 14:ModifyByUserNumber();/*按家庭成员序号修改家庭成员*/break;case 15:SortByUserNum();/*按家庭成员序号排序浏览*/break;case0:exit(0);/*退出系统*/default:break;2)/*creat.c:用于创建家庭成员财务信息文件并初始化*/#includestdio.h/*函数CreatFile*/voidCreatFile()FILE *fp = NULL;/* 定义指向文件的指针*/money TmpS;/* 定义进行操作时存放结构体变量的 */char DataFile40 = ;/*存储员财务收支信息的文件名 */int count = 1;/* 计算可输入数据的最大范围 */*输入存放财务收支信息的文件名*/printf(npleaseinputnewfilenametostoredata,endwithenter.);printf(nNotice:Nameoffilecantexceed8characters.suffixcantexceed3characters,partofexceedwillbediscarded.n);gets(DataFile);/*如家长没有输入,则循环提示家长输入*/while(*DataFile=(0)printf(npleaseinputnewfilenametostoredata,endwithenter.);cantprintf(nNotice:Nameoffilecantexceed8characters,suffixexceed3characters.partofexceedwillbediscarded.n);gets(DataFile);/*用二进制写的方式打开文件,即创建文件*/fp=fopen(DataFile,wb+);/*如果当前文件不存在,提示打开文件失败*/if(fp=NULL)printf(nOpenfile%sfail!Endwithanykey.n,DataFile);perror(Openfilefail);getch();exit(1);/*如果成功打开或创建文件,则提示输入家庭成员序号、姓名、财务收支构成等相关信息*/printf(inputnumber,nameandtheincomeandoutcome.numberis0meansinputisend.n);printf(Numberisnotexceed9figures,Nameisnotexceed20characters,rangeofgrade:0.001000.00n);/*循环从键盘上读取家长输入的序号、姓名、收入、支出等相关信息*/while(countSIZE)printf(nsorry,numberofdatacannotexceed%dn,SIZE);fclose(fp);/*在屏幕上显示初始化后的文件内容*/*clrscr();*/printf(Thedatayouinputisstoresuccessful%sinfile.n,DataFile);printf(Contentasfollow:n);/*打开财务信息文件,如无法打开,则提示*/fp=fopen(DataFile,rb);if(fp=NULL)printf(nOpenfile%sfail!Endwithanykeyn,DataFile);perror(Openfilefail);getch();exit(1);printf(nNumbertNametintouttsumn);while(fread(&TmpS,sizeof(money),1,fp)!=(int)NULL)printf(n%ldt%st%4.2ft%4.2ft%4.2fn,TmpS.Number,TmpS.Name,TmpS.in,TmpS.out,TmpS.sum);fclose(fp);(3)/*modnum.c:修改家庭成员收支信息记录*/#includestdio.hvoidModifyByNumber()inti,j,k;longmodnum;/*存储家长输入的要修改的家庭成员序号*/*输入各项修改后信息*/longNumber;charName20;floatin;floatout;floatsum;moneyTmpS;/*定义进行操作时的临时结构体变量*/moneysSIZE;/*SIZE,在shead.h头文件中定义的常量,值为100*/intrecNumber;charDataFile40=,next;/*DataFile存储家庭成员收支信息信息的文件名,next为是否进行下一次删除操作的选项*/FILE*fp;/*=fp指针指向存储数据的文件名=*/*提示家长输入要进行修改记录的文件名*/printf(npleaseinputthenameoffilewheredataisstored,endwithenterkey.n);gets(DataFile);/*提示家长输入要进行修改记录的文件名*/while(*DataFile=(0)printf(npleaseinputthenameoffilewheredataisstored,endwithenterkey.n);gets(DataFile);begin:/*以读的方式打开文件,如文件不存在,提示错误*/fp=fopen(DataFile,rb);if(fp=NULL)printf(nOpenfile%sfail!Endwithanykeyn,DataFile);perror(Openfilefail);getch();exit(1);printf(pleaseinputtheEmployeeseatnumwhichyouwillmodify:);scanf(%ld,&modnum);printf(themoneyyouwilldeleteis:%ldn,modnum);/*输入要修改记录的各项内容值*/Number=modnum;printf(name=);scanf(%s,Name);printf(in=);scanf(%f,&in);printf(out=);scanf(%f,&out);/*用公式自动计算家庭成员财务合计*/sum=in-out;/*将文件中要修改的信息存入结构体数组*/recNumber=0;/*循环将文件数据读入结构体数组,如文件中的数据家庭成员号和要修改的家庭成员号不符,则原样写入数组,如文件中数据的家庭成员号和要修改家庭成员号匹配,则根据家长输入的各项修改内容重新赋值,即修改,并写入数组*/while(fread(&TmpS,sizeof(money),1,fp)!=(int)NULL)if(TmpS.Number!=modnum)srecNumber.Number=TmpS.Number;strcpy(srecNumber.Name,TmpS.Name);srecNumber.in=TmpS.in;srecNumber.out=TmpS.out;srecNumber.sum=TmpS.sum;recNumber+;elsesrecNumber.Number=Number;strcpy(srecNumber.Name,Name);srecNumber.in=in;srecNumber.out=out;srecNumber.sum=sum;recNumber+;fclose(fp);/*将修改后的结构体数组记录写入文件*/fp=fopen(DataFile,wb+);if(fp=NULL)printf(nSetupfile%sfail!endwithanykey.n,DataFile);perror(Setupfail);getch();exit(1);for(i=0;iticn;HflmnFfileennptnMnccdlRGhnractftra.fluffixc,ftn*texc占nd3hnrnfitHrahArtofoxceEdwillbeducardsd.ji|1u&nLiiwb甘肥.id,用diut.data w input ent a零 fcillou=in Etow cucceccful calcli*na in f 11.Nane111aultSUHgnq40W.(M31BOB.BBm晒.他40B.O0L30B.0030O.3ierany keyto cantIniLie. 1 . . :., . . :. . 1:.:;:.5.2创建家庭成员财务信息文件并初始化八UICtantF白心andGttingsAdrnEistrator博中冢庭财品管if赛犬11MMihunlXbug*1.GreatFinancialFile一iint2.AddFeuoMO)i13.hlRscardO11%QaeryBjHunO1influeryBySoatHumC1iin*LHodiFyByMunhBrO1IB,7.釉pt月癖IIE(1*卜士十in*SV3tenUserFUnaenent11*11XretlteiflJserFileQ11IBIZZUbwO1i1IB.ItelUwO1HI14.nodifleaFO1I15占瞿口青tR典吾ei4immLA.iiii厦4上.事Bill41.X-J-X.JLX-J-L-JLJi.X4-JL-B-A1ITtrTrTTTrrTnFT才TF十TTTTTT才irTTTITTTTTTTFTTTTTTTTTTTTTTTTTTTTTTTrTTAVU.Indhrfigvsni!口PleaseInputYourGhoase1#nmiiibet1*7Cqridiidge亡heFdiiilysFinance.Mnumber11j12tollEims匕LheStcmUsert-HInumlicr0toExittheSystemi钦,DleaseInputthenameoffUenhepedataisstoreileniiwithenterko,calchanyltdiicInputDieEimpluyH嚣匕dUi(iiwhichjrjuulllLlbctIIOilEJVLLwilldelete!二2nariDijieoeouMlOOOHunberManeinoutsunLW&l唱4030.0zow.e802科。3SW.Q10OB.0明arthefiltaftei*nodiiFyis:finan?5.3修改家庭成员收支信息记录6. 课程设计总结一周的时间既短暂又漫长,但我学会了很多东西。我深切的体会到在目前一个高速发展的社会,学好计算机对于一个大学生的重要性。就C语言来说,每个题目都是以前没有练习过的,所以我们必须用自己平时所学的和发挥自己的创造性的思维去完成一个程序。对于我个人来说,这的确是个一个很大的挑战,但却培养了我们做事的耐性和严谨行。因为只要有一个地方出错就会导致整个程序不运行。记得刚开始的时候,我经常因为一些英文字母而失去耐心,但现在想想我能一个人编一个完整的程序了,这是多大的进步啊!对我有多大的鼓励!以上便是我这一周来课设的总结。7. 参考文献1 马秀丽、刘志妩、虞闯.C语言实践训练.北京:清华大学出版社,20102 马秀丽、刘志妩、虞闯.C语言程序设计.北京:清华大学出版社,2008精品感谢下载!欢迎您的下载,资料仅供参考感谢下载载
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 商业管理 > 市场营销


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!