如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
计算机科学与信息工程学院课程设计报告2011-2012第二学期课程设计名称C语言课程设计设计题目个人收支管理系统学生姓名学号专业班级指导教师2012年7月4日ﻬ个人收支管理一、设计目得一些比较发达国家人得生活中对理财有着很严格得计划,因此国外得理财系统总体来说比较普遍,做得也比较完善、国内得理财系统主要偏重于办公财务软件,而个人理财与家庭理财方面得比较少,因此需要开发相关得系统软件,从而达到引导理性消费,合理安排收支。进行账目得统计,如果就是手动统计得话,首先,如果每天统计得话,用于统计得账本与记录会越来越多,不利于保管,容易造成丢失;其次,随着纪录得增多,如果要查找以前得记录,会变得越来越困难。因此,需要一个功能比较完善得记账系统来代替传统得手工统计。个人收支管理系统可以方便地记录您家庭得每日收支情况。二、功能描述如图1所示,本系统主要有8个板块构成:1、个人收支管理系统显示界面。个人收支管理系统必须在系统运行后第一时间显示出来。此界面显示了一个收入模式、一个支出模式、一个明细表、一个查询与统计、一个记录数据写入文件、一个读取文件得功能。2、收入模式。用户可以在收入模式中输入以下数据:顺序号、日期、摘要、金额、余额、币种,收入或支出标志。默认币种为人民币,也可以就是美圆、欧元、日币或英镑。3、支出模式。用户可以在支出模式中输入以下数据:顺序号、日期、摘要、金额、余额、币种,收入或支出标志。默认币种为人民币,也可以就是美圆、欧元、日币或英镑。4、明细表。用户可以根据需要输入起止时间来查询一段时间内得收入支出情况,系统会通过列表得形式把内容展示出来。5、查询与统计。在此功能模式下,用户可以对一段时间得收入支出情况进行查询,可以得到总收入、总支出与余额。此数据就是按月或按年份统计计算得。6、此板块属于拓展功能1---写入文件,记录数据。在此模块下,用户可以根据需要爆当前输入得数据保存下来,以备后用。7、此板块属于拓展功能2—读取文件,读取数据。在此模块下,用户可以读取以前所记录得数据并进行查瞧。8、退出系统。个人收支管理系统退出系统读取文件写入文件查询与统计明细表支出模式收入模式图1简易系统功能模块图三、总体设计1、系统执行主程序本系统执行主程序如图2所示。首先,调用main函数,就是系统进入主显示面。然后由用户选择所需要得功能,并进入相应功能程序,按照用户需求进行相应操作后回到主显示界面,等待用户继续按键选择功能进行操作。2、系统显示界面此系统界面主要由可供选择得功能组成:收入、支出、明细表、查询与统计、写入文件、读取文件。用户在进行选择后可通过switch语句进行跳转进入相应分程序。主显示界面开始退出系统摘要写入文件查询与统计币种金额日期明细表支出收入起始日期截止日期列表按年查询按月查询总收入总支出余额输入文件名保存文件读取文件输入文件名读取文件图2系统执行主流程图四、数据结构设计data结构体structdata{intn;//顺序ﻩinty,m,d;ﻩcharzy[100];//摘要ﻩfloatmoney,rmoney;//金额,余额ﻩcharbiz[5];//币种intx;//收支类型(标记,明细表或查询统计用)}p[100];本程序中主要数据都需要显示顺序、日期、摘要、金额、余额、币种与收支类型,所以需要定义data结构体。Intn:表示顺序。Inty,m,d:用来定义日期。Charzy:摘要。Floatmoney、rmoney:金额、余额。Charbiz[5]:币种。Intx:定义收支类型。五、函数功能描述1.check():函数原型:intcheck()check函数主要用于检查输入日期得合法性、日期得先后顺序就是否正确,并查找符合日期要求得数据。2.fflush()函数原型:fflush(stdin)主要用于清除缓存,方便用户接下来得操作。3、gets()函数原型:gets()函数主要用于把用户输入得数据保存到指定数据中。4、strlen()函数原型:size_tstrlen(constchar*s)该函数就是用来计算字符串得长度,用于用户接下来得操作。5、strcpy()函数原型:char*strcpy(char*s1,constchar*s2)该函数用于把字符串s2复制给字符串s1。6、file*()函数原型:file*fp1;通过文件指针便于对流得访问。7.Fopen()函数原型:fopen(,”r或w”)该函数用于打开文件,进行读取或写入。8.Fclose()函数原型:fc