1、唐山学院课程设计一 引言1.设计要求程序结构合理、算法准确、语法正确,并生成可执行文件。2.系统概述本课程设计“家庭财务管理系统”就是通过学习C程序设计采用VisualC+作为编译环境,是程序编译和运行的。本系统的总体思想基于结构化的程序设计。应用高级语言程序设计中的基本控制结构,如循环和选择,着重实现管理系统的增、删、改、查等典型的管理功能由于主要实现的是管理系统的增、删、改、查等典型功能。3. 开发与设计的总体思想家庭财务管理对于每一个家庭来说有着重要的意义,随着科技的发达,财务的管理由原先的手写账本发展到现今的电脑系统输入并统计,不仅大大减少了时间与精力,也是财务管理更系统化,便捷化,清
2、晰化,减少金钱上的缺失。C语言是国内外广泛使用的一种计算机语言,学会使用C语言进行程序设计是计算机工作者的一项基本功。对于我们大学生来说,学习这样一门“C程序设计教程”更是必要的。程序设计是一门实践性很强的课程,既要掌握概念,又要动手编译,还要上机调试运行,通过这一次的课程设计我们从实践中更进一步的学习和了解C语言, 二 总体设计1.需求分析现在的家庭,不少的的账目都是随手拿来张纸记录,就算是用记事本来记录也会因为各种原因出现字迹混淆的现象,长时间后再查阅,会发现不知道当时记了什么,随手用纸张来记录,不易于管理,东一张西一张容易造成遗漏、丢失数据等现象导致统计数据错误,去银行存取后的打印单不能
3、及时的记录管理,会泄漏帐号和现有金额,形成安全隐患,不经过记录,卡折同时使用也会使得账目不清楚对家里资产的预估形成误差,有时候支出收入过多,大量数据的计算,错误常会伴随而来,使得账目错误,导致投资理财的失误。2.功能分析家庭财务系统主要对家庭的各项财务收支管理进行在计算机上的信息存储和处理,从而简化用户的工作量。本报告设计的家庭财务管理系统主要是负责给家庭成员提供了一个在Windows操作系统上运行的管理平台,家庭财务管理者可以对其成员编号、姓名以及收入、支出构成进行增加、删除、修改,查找等管理操作,还可以对全家庭财务合计排序浏览。3.系统功能结构图开始打开文件,载入信息用户菜单界面1添加记录
4、2查询记录3删除记录4显示记录5统计信息0退出保存结束4.流程图4.1查找信息4.1.1录入信息开始是否找到记录是显示记录结束录入信息否4.1.2查找信息输入年月开始输入编号是否找到记录是显示记录信息结束按任意键返回菜单页否4.1.3删除信息4.1.4修改信息开始输入编号是否找到记录是重新录入信息结束按任意键返回菜单页否4.1.5统计信息开始是否存在记录是显示一共有几条记录结束按任意键返回主菜单否三 详细设计1.主要的算法描述1.1录入信息模块家庭成员财务信息的录入structfinancial/定义家庭成员信息intnum;/编号charname15;/家庭成员姓名intmonth;/月份i
5、ntyear;/年份floatincome;/收入floatoutput;/支出floattotal;/总金额1.2查找信息模块在菜单界面选择“2查找信息”选项,界面会让你选择所查找的信息的编号,确认后,系统会进行查询,如果有就显示该条记录。printf(请输入编号:);scanf(%d,&snum);for(i=0;im;i+)if(snum=memberi.num)printf(已经找到该记录,是否显示?(y/n);scanf(%s,ch);if(strcmp(ch,Y)=0|strcmp(ch,y)=0)printf(编号成员月份年份收入支出总金额tn);printf(FFORMAT,D
6、ATA);break;elsereturn;if(i=m)printf(没有找到相应的记录!n);1.3删除信息模块选择删除选项后,界面会让使用者输入要删除信息的编号,并根据输入的编号显示该条记录,并且为了防止意外删除而有提示是否删除,经使用者再三确认后便删除该记录。printf(请输入编号:);scanf(%d,&snum);for(i=0;im;i+)if(snum=memberi.num)break;if(i=m)printf(没有找到!);return;printf(已经找到该记录,是否删除?(y/n);scanf(%s,ch);if(strcmp(ch,Y)=0|strcmp(ch,
7、y)=0)/判断是否要进行删除for(j=i;jm;j+)memberj=memberj+1;/将后一个记录移到前一个记录的位置m-;/记录的总个数减1printf(成功删除!n);1.4修改信息模块信息的修改printf(请输入要修改的记录信息的编号!n);scanf(%d,&snum);for(i=0;im;i+)if(snum=memberi.num)/检索记录中是否有要修改的信息printf(已经找到该记录,是否修改?(y/n)n);scanf(%s,ch);if(strcmp(ch,Y)=0|strcmp(ch,y)=0)printf(家庭成员姓名:);scanf(%s,member
8、i.name);/输入家庭成员姓名printf(请输入月份:);scanf(%d,&memberi.month);/输入月份printf(请输入年份:);scanf(%d,&memberi.year);/输入年份printf(请输入收入:);scanf(%f,&memberi.income);/输入收入printf(请输入支出:);scanf(%f,&memberi.output);/输入支出memberi.total=memberi.income-memberi.output;/汇总printf(保存成功!);1.5统计信息模块在界面选择“5统计信息”后,屏幕上会把每条记录依次显示出来,并把
9、总收入和总支出及目前余额也统计并显示出来。printf(请输入编号:);scanf(%d,&snum);for(i=0;im;i+)if(snum=memberi.num)printf(已经找到该记录,是否显示?(y/n);scanf(%s,ch);if(strcmp(ch,Y)=0|strcmp(ch,y)=0)printf(编号成员月份年份收入支出总金额tn);printf(FFORMAT,DATA);break;elsereturn;if(i=m)printf(没有找到相应的记录!n);2.菜单界面system(cls);printf(|-|n);printf(|-家庭财务信息系统-|n
10、);printf(|0.退出|n);printf(|1.录入信息|n);printf(|2.查找信息|n);printf(|3.删除信息|n);printf(|4.修改信息|n);printf(|5.统计信息|n);printf(|-|n);printf(选择(0-5):);四 调试与测试1.2.程序运行结果2.1菜单界面2.2录入信息2.3查找信息2.4删除信息2.5修改信息2.6统计信息五 总结随着科学技术发展的日新日异,当今计算机应用在是生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机技术十分重要的。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼
11、实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。经过本学期C语言课程设计实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它。在这次进行的课程设计中,也遇到了一些问题,比如程序运行不了,课程设计说明书不会写等等,但是有同小组的小伙伴一起想办法,也是很快就解决了这些问题。参考文献1谭浩强,张基温C语言程序设计教程(第3版)M北京:高等教育出版社,20062吕凤煮C语言基础教程基础理论与案例M北京:清华大学出版社,20053黄明,梁旭,万洪莉C语言课程设计M北京:电子工业出版社,20064郭宁,郑小玲管理信息系统M北京:人民邮电出版社,20065赵池龙,杨林,陈伟实用软件工程M北京:电子工业出版社