C语言程序设计个人财务管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计个人财

务管理系统

IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

程序设计工程训练

报告

C语言程序设计个人财务管理系统

课程名称C语言程序设计工程训练

姓名

院(系)信息科学与技术学院

专业班级

学号

指导教师

教务处制

目录

1.需求分析

编写一个个人财政支出管理系统,主要解决的问题是作为一个系统而言,它所要面对不只是某一个人而言,而是要面对很多的用户。那么想要解决这一问题,就必须要求这个系统能够存储许多用户的基本信息和记录。同时也要求系统能够对不同的用户的身份进行查找和验证。在验证通过之后,在对其进行用户所要求的操作。

作为一个财政支出系统,那么就要求对于用户关于金钱的每一项操作都要有相应的记录,同时并允许用户对于每一条整体的记录进行操作,例如可以根据时间来查找某一确定日期是否进行了收入或者支出的操作,也可以根据特定的需要来删除某一条整体的记录。但不允许对每条记录的单项数据进行更改,因为不管是收入还是支出,所涉及的金额都是固定的,时间也是固定的,所以系统不允许用户对其进行操作。除此之外,还必须有足够大的空间来存储新的记录。所以此程序就是基于这个思想而编写出来的,基本满足了用户对于一个财政支出管理系统所要求的相关功能。

2系统总框图和功能模块说明

系统总框图

功能模块说明

(1)old_record():此函数由系统自行调用,作用是将所有用户信息存入系统。

(2)voidsave():此函数的作用是将结构体数组中的信息写入文件存储,由系统调用。

(3)load():此函数的作用是将结构体数组中写入文件的信息读出,由系统调用。

(4)lookup_accounts():此函数的作用是将用户输入的帐号与系统中的所有帐号进行对比,查看系统中是否有此帐号。

(5)check_code():此函数是作用是在系统查询到了帐号之后,对用户输入的帐号和密码进行检验,看是否相对应。

(6)print_message():此函数的功能是在系统检查了用户输入的帐号和密码之后,如果用户通过了系统的检查,在此显示用户可见的基本信息。

(7)find_record():此函数的作用是根据用户输入的日期进行查找操作。

(8)insert_record():此函数的功能是在记录中增加一条新的记录,这个记录由用户输入。

(9)del_record():此函数的功能是根据用户的输入的位置,将相应位置的记录删除。

(10)sum_num():此函数的功能是计算所有收入和支出的总和,计算全部的收入的总合,计算全部输出的总合。

(11)打印输出记录的函数:在本程序中一共有三个打印输出记录的函数,分别为all_print()、acc_print()、pay_print()这三个函数。它们的功能依次是打印输出全部记录,打印输出输入记录,打印输出支出记录。

(12)mian():在主函数中,可以根据用户的选择来操作系统允许用户使用的功能,也可以随时退出这个系统。

3系统设计

主要结构体

个人信息

账户信息

主要功能函数

old_record()ec_len=4;

strcpy(r[0].account,"1001");

strcpy(r[1].account,"1002");

strcpy(r[2].account,"1003");

strcpy(r[0].code,"111111");

strcpy(r[1].code,"222222");

strcpy(r[2].code,"333333");

strcpy(r[0].name,"wang");

strcpy(r[1].name,"li");

strcpy(r[2].name,"zhang");

strcpy(r[0].rec[0].date,"07-01-01"); strcpy(r[0].rec[1].date,"07-02-01"); strcpy(r[0].rec[2].date,"07-03-01"); strcpy(r[0].rec[3].date,"07-04-01"); strcpy(r[1].rec[0].date,"07-01-02"); strcpy(r[1].rec[1].date,"07-02-02"); strcpy(r[1].rec[2].date,"07-03-02"); strcpy(r[1].rec[3].date,"07-04-02"); strcpy(r[2].rec[0].date,"07-01-03"); strcpy(r[2].rec[1].date,"07-02-03"); strcpy(r[2].rec[2].date,"07-03-03"); strcpy(r[2].rec[3].date,"07-04-03"); strcpy(r[0].rec[0].operate,"in"); strcpy(r[0].rec[1].operate,"out"); strcpy(r[0].rec[2].operate,"in"); strcpy(r[0].rec[3].operate,"out"); strcpy(r[1].rec[0].operate,"out"); strcpy(r[1].rec[1].operate,"in"); strcpy(r[1].rec[2].operate,"out"); strcpy(r[1].rec[3].operate,"in"); strcpy(r[2].rec[0].operate,"in"); strcpy(r[2].rec[1].operate,"out"); strcpy(r[2].rec[2].operate,"in"); strcpy(r[2].rec[3].operate,"out");

r[0].rec[0].num=3000;

r[0].rec[1].num=-1500;

r[0].rec[2].num=2500;

r[0].rec[3].num=-1000;

r[1].rec[0].num=-3000;

相关文档
最新文档