ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:60.06KB ,
资源ID:9223887      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9223887.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(家庭财务记账系统.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

家庭财务记账系统.docx

1、家庭财务记账系统程序设计报告设计题目家庭财务记账系统学院:通信与信息工程学院年 级:09级01班2010年 07 月 08 日 通信与信息工程学院实验报告设计题目:家庭财务记账系统 一、程序设计的目的和要求1.实验目的:学会设计一个软件,是为用户进行家庭成员的收支构成及信息管理进行辅助的应用软件。2.要求:要写出设计报告,报告中要求写出总体设计框架和详细程序分析;在报告中每位成员要有明确分工;书写及设计方案均用A4纸打印,统一装订成册,并且交上电子版.二、程序设计分组 本小组成员共6个人,可评出一个组长,其中有两人负责在图书管查资料,一人负责写实验报告,剩余4个人每人编辑一个程序功能,并且在运

2、行无误后交上.。三、程序设计环境1. 硬件环境:每生一台品牌机2. 软件环境:Turbo C 3.04、程序设计总体方案 家庭财务管理记账系统总体设计对本系统的功能板块、运行环境等进行了合理分析之后,下面要从系统总体结构、模块功能、界面和数据结构几方面进行系统的总体设计。总体设计可在软件开发的早期站在全局高度对软件结构进行优化,这个时期付出的代价不高,却可以是软件质量得到重大改进。系统模块结构图依据需求分析结果,家庭财务管理系统可以分为4个模块:用户登录模块、家庭成员财务管理模块、家庭成员财务管理模块、用户管理模块、功能选择模块。如图所示。 家庭成员登录模块 家庭成员财务管理模块 家庭财务管理

3、系统 家庭成员管理模块 功能选择模块 是 否 否 是 普通家庭成员 家长模块设计1. 家庭成员登录模块提示用户输入登录名和密码,调用文件中储存的用户信息进行校验,只有当用户名和密码相匹配时,才允许用户使用该系统。用户登录到系统后能够允许使用的系统功能和用户的权限有关。普通家庭成员只能进行查询和游览,家长还可以进行增、删、该、查和对普通家庭成员的管理。权限的设置在家庭成员信息文件中进行限制,权限的判定在家庭成员登录模块进行。模块功能如树3.2所示。2. 家庭成员财务管理模块当用户成功登入管理系统时,即可根据权限不同,调用家庭成员财务模块中的部分或全部子功能。家庭成员财务管理模块的主要功能包括如下

4、几个部分。(1) 创建收支信息文件:提示家庭成员输入保存家庭成员收支信息记录的文件名,在磁盘上创建该文件,继续提示用户逐条输入家庭成员收支信息记录,每条记录包括家庭成员编号、姓名和收入、支出。其中家庭成员财务合计项由系统自动计算获得,计算公式为:合计=收入+支出。该功能可连续输入若干条家庭成员记录,输入家庭成员号为0时则停止输入。(2) 查询收支信息:提示家长或普通家庭成员输入要查询的具体文件名,可根据家庭成员号和家庭成员姓名两种方式进行查询,若有查询结果,则向用户显示相应查询结果的家庭成员号、姓名、收入构成等各项内容,并可让用户选择是否继续查找。五、 程序分析 1 家庭成员登陆模板;源文件:

5、login.c 头文件:user.h #include stdio.h#include #include #include #define SIZE 100typedef struct long Number; char Name20; char ps8; int power;2家庭成员财务管理模板:源文件:admin.c家长功能选择界面及管理员功能调用 guest.c普通家庭成员功能选择界面及普通家庭成员功能调用。 Creat.c创建家庭成员收支信息文件。 Add.c增加收支信息。 Delete.c删除收支信息。 Modnum.c修改收支信息。 Qname.c按家庭成员姓名查询收支信息。 Q

6、seatnum.c按家庭成员序号查询收支信息。 Ssum.c按收支合计数排序浏览。 头文件:shead.h计算公式合计=收入-支出(sum=in-out)函数声明(1) void Admin() (由秋东完成) #include stdio.h#include #include #include 功能:给出家长的功能选择提示界面,根据家长的选项调用相应函数。输入:家长输入要进行操作的数字选项。输出:家长选项对应的函数的执行结果。(2) void guest() (由秋东完成) #include shead.h#include creat.c#include add.c#include dele

7、te.c#include modnum.c#include qname.c#include qseatnum.c#include ssum.c 功能:给出普通用户的功能选择提示界面,根据普通用户的选项调用相应函数。 输入:普通用户输入要进行操作的数字选项。 输出:用户选项对应的函数的执行结果。(3) void CreatFile() (由李翔完成)功能:创建家庭成员收入信息文件。根据用户输入的文件名创建家庭成员收入信息文件,将用户输入的若干条家庭成员收入信息记录存入该文件并保存。输入家庭成员序号0,结束输入。最后列表显示文件内容。(4) void AddRecord() (由李翔完成)功能:增

8、加。根据用户输入的文件名打开家庭成员财务信息文件,进行添加记录操作,如没有文件存在,则创建。将用户输入的若干条家庭成员信息记录追加存入该文件并保存。输入家庭成员序号为0,结束输入。最后列表显示文件内容。(5) void DelRecord() (由王德志完成)功能:删除家庭成员收支信息。根据家长输入的文件名打开家庭成员财务信息文件,进行删除记录操作,如没有文件存在,则提示打开文件失败。将要删除的家庭成员号对应的家庭成员记录从文件中删除,并保存文件,可继续删除。最后列表显示文件内容。(6) void ModifyByNunber() (由来少凯完成) 功能:修改家庭成员收支信息。根据家长输入的文

9、件名打开家庭成员财务信 息文件,进行修改记录操作,如没有文件存在,则提示打开文件失败。将要修改的家庭成员号对应的家庭成员记录各项内容修改为家长输入的内容,并保存文件。可继续修改。最后列表显示文件内容。(7) void QueryByName() (由来少凯完成) 功能:按姓名查询。根据用户输入的文件名打开家庭成员财务信息文件,进行按姓名查询操作,如没有文件存在,则提示打开文件失败。列表显示查找到的记录内容,并提示是否进行下次查询。(8) void QueryBySeatNum() (由辛苗完成) 功能:按序号查询。根据用户输入的文件名打开家庭成员财务信息文件,进行按序号查询操作,如没有文件存在

10、,则提示文件打开失败。列表显示查找到的记录内容,并提示是否进行下次查询。 五、编译和调试过程1 编译过程 由于在编辑过程中的粗心,分号丢了,函数名写错,程序就无法用行,所以就在改动程序,再一次执行。再就是将函数类型如整型int写成浮点型float程序也就无方执行等一些小失误。2 调试过程由于程序过于复杂,部分功能不能实现六、 个人心得体会 心得体会:通过这次程序设计,一 让我懂得了只有平时的多练习才会编写一些程序,以及会分析这些程序的功能,了解程序的特点。二 认真细心会在编写程序时节约不少的时间。 三 在这次的程序设计中团结是很重要的,每个人的明确分工使任务能很顺利的完成:众人拾财火焰高,这是

11、我在这次作业中最大的体会,我想这也是这次作业的意义所在吧,通过这次作业,我们都锻练了很好的合作能力,提升了彼此的沟通能力;再者,在分析程序时深刻的体会到打好学习基础很重要,只有拥有了扎时过硬的专业基础做起来才会得心应手,节省更多的时间。这就是我在这次作业中最大的体会。:通过这次课程设计我深刻的体会到了团队合作和实践的重要意义,这个课题没有大家的合作是无法完成的,只有大家分工明确,积极参与才能出色的完成任务。可我们忙了好长时间程序居然不运行,作业是做完了,可是是成功了还是失败了呢?我也不知道,但是这个过程是快乐的,因为我们都做事了,这就是实践的魅力,我们最后都看到了自己的劳动成果,我想这种体会才

12、是最重要的。:通过这次实习活动,体现出当今社会是一种集中体现了团队合作的社会体制,虽然世界劳动的分配方式是能者多劳,劳者多得的社会现状。但是社会是我们每一个成员分子所组成的大熔炉。任凭每一个人也发挥不了多大能耐,唯有团结一致才能发挥最大效果。这次实习中,我们每个成员积极参与,服从分配,工作热情高涨,团队合作出色。各成员之间彼此互相帮助,依彼之长,补己之短。使得这次实习任务完成空前成功。:本次实习,给我的最大体会就是学习要严谨,要认真,在我们组全体成员的集体努力下,我们出色的完成了这次实习计划和教学任务。团结互助、齐心努力是我们能完成的根本原因。我现在认识到,在学习上,就要不懂就问,不懂就钻研,

13、如果我们同学之间,同学和老师之间不去交流,不去相互帮助,那么就什么也做不好,今后,我会更加努力,更加勤奋的去学习这门课程!:在这个程序当中,我们组的每个成员都发挥了不可或缺的作用,在组长的坚强领导下,在老师和同班同学的大力支持下,在全组成员的不懈奋斗下,我们的课题终于完成了。这说明了什么,这说明团结就是力量!一个人的力量是有限的,但是我们大家的力量却是巨大的。在学习上,我认为就应该这样,就应该同学之间多交流,多帮助。我相信,明天会更好! 七、总结 源代码 在程序输入中有时会出现一些小错误,如会丢掉分号,在函数与函数之间会缺少空格,有时也会把函数的大小写字母写错。以后要多练习编写程序和程序输入,

14、尽量在编译之前就能保证程序的正确性(包括语法正确和逻辑正确 )。这次上机使我熟悉了Turbo C 3.0环境;学会了独立使用该系统;编辑、编译、连接和运行一个C程序。通过运行简单的C程序,初步了解了C源程序的特点。通过本次高级程序设计的实习,我们不但在这门课程上有了新的提高,而且让我们意识到了团队合作的重要性!尤其是这门课程的实习,更加让我们认识到认真,谨慎的态度是学习所不可缺少的,一个小小的标点符号,一个不起眼的字母,就能让我们整个系统无法运行。我们认识到:在知识的海洋当中,只有埋头苦学才能到达成功的彼岸,任何投机取巧,任何外门邪道都不能与真理相抗衡,只有一板一眼的去做,只有一步一个脚印的学

15、习,才能使自己有所提高!八、组长评语首先,我能成为组长,我感到十分荣幸!这次的实习课题,我们组能在规定的时间内出色完成,我感觉这是组内每一个成员的辛勤所得,这次的成功离不开大家的努力。对于这次的课题,确实难度非常大,在刚开始的几天的里,我们尝试了几种方法,但是都不能全面的完成程序,大家一时间陷入了瓶颈!直到后来,老师告诉我们要静下心来细细的去把其中出问题的地方弄懂,我们大家信心倍增。经过了不懈的努力,我们历尽千辛万苦,终于将这个系统完成。在这里,我想说的是,大家辛苦了!在今后的学习道路上,我们组还要继续发扬这种精神,保持这种良好的状态,向着胜利的方向继续前进! 源代码/*55页程序清单(1):

16、user*/#include stdio.h#include #include #include #define SIZE 100typedef struct long Number; char Name20; char ps8; int power; user; extern void Guest(); extern void Admin(); extern void CreatUser(); extern void AddUser(); extern void DelUser(); extern void ModifyByUserNumber(); extern void SortByUs

17、erNum();#include user.h#include cuser.c#include admin.c#include guest.c#include adduser.c#include deluser.c#include sunum.c#include munum.c Main functio main()int main() FILE *fp = NULL; user Show; user TmpS; char DataFile40 = yonghu; int i; char relogin; int success=0; printf(#=#n);printf(# Welcome

18、 to the Family Fanancial Management System!#n);printf(#=#n);again:printf(please enter the user name:);scanf(%s,Tmps.Name);printf(Password=);for(i=0;i6;i+)Tmps.psi=getch();Tmps.ps6=0;fp=fopen(DataFile,r);if (fp=NULL) printf(nopen file%sfail!End with any key n,DataFile); perror(open file fail); getch(

19、); exit(1);while(fread(&show,sizeof(user),1,fp)!=(int)NULL) if(strcmp(Tmps.Name,show.Name)=0&(strcmp(Tmps.ps,show.ps)=0) printf(nlogin successful!n);cuccess=1;if(Show.power=1)printf(nyour power is administrator!n);Admin();if(Show.power=0)printf(nyour power is user!n);Guest();if(success=0) getchar();

20、printf(nerror user name or password !input again?(y/n);scanf(%c,&relogin=y)printf(you choose input again:n);goto again;else printf(end program); getch(); exit(0);#include stdio.h#include #include #include #define SIZE 100 /*mac.ros definition*/typedef struct long Number; char Name20; float in; float

21、 out; float sum;money;extern void CreatFile();extern void AddRecord();extern void DelRecord();extern void ModifyByNumber();extern void QueryBySeatNum();extern void QueryByName();extern void ScrtBySum();#include shead.h#include creat.c#include add.c#include delete.c#include modnum.c#include qname.c#i

22、nclude qseatnum.c#include ssum.cvoid Admin() int choice = 0; while(1) printf(-n); printf(| printf(| Wecome to Family Financial Management System |n); printf(| printf(|-|n); printf(| 1.Creat Financial File |n); printf(| 2.Addrecord() |n); printf(| 3.Delrecord() |n); printf(| 4.QueryByName() |n); prin

23、tf(| 5.QueryByeatNum() |n); printf(| 6.ModifyByNumber() |n); printf(| 7.SortBySum() |n); printf(+n); printf(| System Usre Management |n); printf(| 11.CreatNemUserfile() |n); printf(| 12.AddUser() |n); printf(| 13.DelUser() |n); printf(| 14.ModifyUser() |n); printf(| 15.SortByUserNum() |n); printf(+n

24、); printf(| 0.End Program |n); printf(-n); printf(# Please Input Your Choose #n); printf(# number 17 to Manage the Familys Finance #n); printf(# number 11,12,13,14,15 to Manage the System User #n); printf(# number 0 to Exit the System #n); printf(-n); scanf(%d,&choice); getchar(); switch(choice) cas

25、e 1: CreatFile(); break; case 2: AddRecord(); bresk; case 3: DelRecord(); break; case 4: QueryByName(); break; case 5: QueryBySeatNum(); bresk; case 6: ModifyByNumber(); bresk; case 7: sortBySum(); bresk; case 11: CreatUser(); bresk; case 12: AddUser(); bresk; case 13: DelUser(); bresk; case 14: Mod

26、ifyByUserNumber(); bresk; case 15: SortByUserNum(); bresk; case 0: exit(0); default; bresk; #includestdio.h void CreatFile() FILE *fp = NULL; money Tmps; char DataFile40 = ; int count = 1; printf(n please input new file name to store data,end withenter.); printf(n Notice:Name of file cant exceed 8 c

27、haracters.suffixcant exceed 3 characters,part of exceed will be discarded.n); gets(DataFile); while(*DataFile = (0) printf(n please input new file name to store data,end with enter.); printf(n Notice:Name of file cant exceed 8 characters,suffixcant exceed 3 characters.part of exceed will be discarde

28、d.n); gets(DataFile); fp = fopen(DataFile,wb+); if (fp = NULL) printf(n Open file %s fail!End with any key.n,DataFile); perror(Open file fail); getch(); exit(1); printf(input number,name and the income and outcome.number is 0 means input is end.n); printf(Numberv is not exceed 9 figures,Name is not exceed 20char

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

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