- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言课程设计-个人财务管理系统汇
个人财政支出管理
付欣 05计算机四班
指导老师:梁新元
一、问题描述及分析 1
二、实验程序设计思想及功能描述 1
3、主要函数模块的设计思想和具体实现 2
三、实验程序测试 4
1、程序开始执行时系统的所显示的页面: 4
2、选择退出系统: 5
3、选择登陆,并且输入的帐号和密码都正确: 5
4、用户输入的帐号不正确: 5
5、用户输入的帐号正确,密码不正确: 6
四、实验程序自我评价 7
五、课程设计创新 7
六、课程设计总结 7
七、参考书目: 7
八、实验程序源代码 8
一、问题描述及分析
编写一个个人财政支出管理系统,主要解决的问题是作为一个系统而言,它所要面对不只是某一个人而言,而是要面对很多的用户。那么想要解决这一问题,就必须要求这个系统能够存储许多用户的基本信息和记录。同时也要求系统能够对不同的用户的身份进行查找和验证。在验证通过之后,在对其进行用户所要求的操作。
作为一个财政支出系统,那么就要求对于用户关于金钱的每一项操作都要有相应的记录,同时并允许用户对于每一条整体的记录进行操作,例如可以根据时间来查找某一确定日期是否进行了收入或者支出的操作,也可以根据特定的需要来删除某一条整体的记录。但不允许对每条记录的单项数据进行更改,因为不管是收入还是支出,所涉及的金额都是固定的,时间也是固定的,所以系统不允许用户对其进行操作。除此之外,还必须有足够大的空间来存储新的记录。所以此程序就是基于这个思想而编写出来的,基本满足了用户对于一个财政支出管理系统所要求的相关功能。
二、实验程序设计思想及功能描述
根据前面对于编写一个个人财政支出管理系统的程序的问题描述和分析,确定了此程序的基本思想和相关功能。
基本思想
首先定义一个结构体数组,这个数组的功能便是用来所有用户的所有信息。它的成员为每个用户的帐号(account)、密码(code)、姓名(name)、记录(record rec[max]),以及记录的条数(rec_len)。其中记录(record rec[max])这个成员本身也是一个结构体数组。它包含了用户所有的记录(record),并且根据用户的操作,记录这个成员变量也会有所跟改,例如如果拥护增加了一条记录,那么这一条记录就会存储在此成员变量中。除了这个成员变量是动态变化之外,记录的条数(rec_len)也会根据用户的操作进行变化,例如如果用户增加了一条记录,则rec_len就会自加1,如果用户删除了一条记录,则rec_len就会自减1。记录(record rec[max])这个成员变量是以后函数中操作的主要内容。除了这两个成员变量之外,其它的成员变量则不会被改变,系统只允许用户对其进行访问,但不允许进行操作,因为这几个成员变量的作用主要是用来验证用户的身份用的,所以不可以更改。其中的密码(code)甚至只能别系统调用,而不能对用户进行显示的,也就是说密码(code)对于用户是不可预知的,这样做的目的是为了系统自身的安全性,以免用户的信息被其他人看到。这就是这个结构体数组的功能和基本成员变量及各个成员变量的功能。
定义了结构体数组之后,首先要做的就是要把所有的记录都存入这个结构体数组中,以方便用户的操作。所以在main函数中有系统自行调用了old_record这个函数来存入信息。在此之后进行的操作便是让用户选择所要进行的是登陆系统的操作还是退出系统的操作。如果选择登陆,则要输入帐号和密码。之后由系统来检查帐号的存在性和密码的正确性。如果这两项都通过了系统的检查,那么用户便可以进行具体记录的操作了。这便是这个程序的基本设计思想。
2、各个函数模块的功能
(1)old_record( ):此函数由系统自行调用,作用是将所有用户信息存入系统。
(2)void save( ): 此函数的作用是将结构体数组中的信息写入文件存储,由系统调用。
(3)load( ):此函数的作用是将结构体数组中写入文件的信息读出,由系统调用。
(4)lookup_accounts( ):此函数的作用是将用户输入的帐号与系统中的所有帐号进行对比,查看系统中是否有此帐号。
(5) check_code( ):此函数是作用是在系统查询到了帐号之后,对用户输入的帐号和密码进行检验,看是否相对应。
(6)print_message( ):此函数的功能是在系统检查了用户输入的帐号和密码之后,如果用户通过了系统的检查,在此显示用户可见的基本信息。
(7)find_record( ):此函数的作用是根据用户输入的日期进行查找操作。
(8)insert_record( ):此函数的功能是在记录中增加一条新的记录,这个记录由用户输入。
(9)del_record( ):此函数的功能是根据用户的输入的位置,将相应位置的记录删除。
(10)sum_num(
文档评论(0)