c语言个人财务管理系统[1]
个人财政支出管理 付欣05计算机四班 指导老师:梁新元 一、问题描述及分析门 二、实验程序设计思想及功能描述1 3、主要函数模块得设计思想与具体实现2 三、实验程序测试4 1、程序开始执行时系统得所显示得页面:4 2、选择退出系统:5 3、选择登陆,并且输入得帐号与密码都正确:5 4、用户输入得帐号不正确:。5 5、用户输入得帐号正确,密码不正确:6 四、实验程序自我评价7 五、课程设计创新7 六、课程设计总结,7 七、参考书目:7 八、实验程序源代码8 一、问题描述及分析 编写一个个人财政支出管理系统,主要解决得问题就是作为一个系统而言,它所要面对不 只就是某一个人而言,而就是要面对很多得用户。那么想要解决这一问题,就必须要求这个系 统能够存储许多用户得基本信息与记录。同时也要求系统能够对不同得用户得身份进行查找 与验证。在验证通过之后,在对其进行用户所要求得操作。 作为一个财政支出系统,那么就要求对于用户关于金钱得每一项操作都要有相应得记录, 同时并允许用户对于每一条整体得记录进行操作,例如可以根据时间来查找某一确定日期就 是否进行了收入或者支出得操作,也可以根据特定得需要来删除某一条整体得记录。但不允 许对每条记录得单项数据进行更改,因为不管就是收入还就是支出,所涉及得金额都就是固定 得,时间也就是固定得,所以系统不允许用户对其进行操作。除此之外,还必须有足够大得空间 来存储新得记录。所以此程序就就是基于这个思想而编写出来得,基本满足了用户对于一个 财政支出管理系统所要求得相关功能。 二、实验程序设计思想及功能描述 根据前面对于编写一个个人财政支出管理系统得程序得问题描述与分析,确定了此程序 得基本思想与相关功能、 1、基本思想 首先定义一个结构体数组,这个数组得功能便就是用来所有用户得所有信息、它得成员为每 个用户得帐号(a c c oun t )>密码(code)、姓名(name)、记录(r e c ord rec [ma x ]),以及 记录得条数(r ec_len)o其中记录(reco r d rec [max])这个成员本身也就是一个结构体数 组、它包含了用户所有得记录(r ecord),并且根据用户得操作,记录这个成员变量也会有所跟 改,例如如果拥护增加了一条记录,那么这一条记录就会存储在此成员变量中。除了这个成员 变量就是动态变化之外,记录得条数(rec_l en)也会根据用户得操作进行变化,例如如果用 户增加了一条记录,则rec_l en就会自加1,如果用户删除了一条记录,则recjen就会自减 lo记录(recor d rec [max ])这个成员变量就是以后函数中操作得主要内容。除了这 两个成员变量之外,其它得成员变量则不会被改变,系统只允许用户对其进行访问,但不允许 进行操作,因为这几个成员变量得作用主要就是用来验证用户得身份用得,所以不可以更改。 其中得密码(c ode)甚至只能别系统调用,而不能对用户进行显示得,也就就是说密码(co de) 对于用户就是不可预知得,这样做得目得就是为了系统自身得安全性,以免用户得信息被其她 人瞧到。这就就是这个结构体数组得功能与基本成员变量及各个成员变量得功能、 定义了结构体数组之后,首先要做得就就是要把所有得记录都存入这个结构体数组中,以 方便用户得操作。所以在ma i n函数中有系统自行调用了 old_r e cord这个函数来存入信息。 在此之后进行得操作便就是让用户选择所要进行得就是登陆系统得操作还就是退出系统得 操作。如果选择登陆,则要输入帐号与密码。之后由系统来检查帐号得存在性与密码得正确 性。如果这两项都通过了系统得检查,那么用户便可以进行具体记录得操作了。这便就是这 个程序得基本设计思想。 2、各个函数模块得功能 (1 ) o 1 d _record():此函数由系统自行调用,作用就是将所有用户信息存入系统。 (2 )voi d save():此函数得作用就是将结构体数组中得信息写入文件存储,由系统调 用。 (3) 1 o a d():此函数得作用就是将结构体数组中写入文件得信息读出,由系统调用。 (4) 1 o okup_acc o unts():此函数得作用就是将用户输入得帐号与系统中得所有帐号 进行对比,查瞧系统中就是否有此帐号。 (5) c heck_ c ode():此函数就是作用就是在系统查询到了帐号之后,对用户输入得帐号 与密码进行检验,瞧就是否相对应。 (6 )pr i n t _messa g e ():此函数得功能就是在系统检查了用户输入得帐号与密码之后, 如果用户通过了系统得检查,在此显示用户可见得基本信息。 (7) f ind_ recor d():此函数得作用就是根据用户输入得日期进行查找操作、 (8) i ns e rt_record():此函数得功能就是在记录中增加一条新得记录,这个记录由用户输 入。 (9) del_rec o rd():此函数得功能就是根据用户得输入得位置,将相应位置得记录删除、 (1 0)sum_n u m():此函数得功能就是计算所有收入与支出得总与,计算全部得收入得总 合,计算全部输出得总合。 (1 1)打印输出记录得函数:在本程序中一共有三个打印输出记录得函数,分别为all_p rint()、a c c_p r i nt( )> pay—print()这三个函数。它们得功能依次就是打印输出全 部记录,打印输出输入记录,打印输出支出记录。 (12)mi a n():在主函数中,可以根据用户得选择来操作系统允许用户使用得功能,也可以 随时退出这个系统、 3、主要函数模块得设计思想与具体实现 (l) voidsave()函数与 lo a d()函数。 这两个函数得功能就是在系统调用了 old_re c o r d()这个函数之后,结构体内就有了 所有用户得所有信息。Save()函数得作用就是将所有得信息都存入文件中,便于数据得保 存与读取、Load()函数得作用则就是把存入得文件中得信息读出来、这两个函数所涉及得 知识点为文件得读入与写出。主要就是freadhe与fwri t e两个函数得应用、它们得一般调 用形式为: f re a d (bu f fer,s i z e ,c o unt,f p ); fwr i te( b uf f e r ,s i ze , c o u nt,f p ); 其中: Bu f f e r:就是一个指针,对fread来说,它就是读入数据得存放地址。对fwr i t e来说, 就是要输出数据得地址。 Size:要读写得字节数。 Count :要进行读写多少个size字节得数据项。 Fp;文件型指针。 调用这两个函数之后,如果调用成功,则函数返回值为count得值,即输入或输出数据项 得完整个数、 (2) looku p _accounts()函数与 c h e c k_ c o de()函数: 这两个函数得功能主要就是用来核对用户得身份、系统先检验得就是axxo unt