班级财务管理程序

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

程序设计与算法综合实习I 实验题目:班级财务管理程序

学院

《班级财务管理程序》

1. 系统分析

1.1 问题描述

设计一个班级财务管理系统,该程序具有以下功能:

(1)用户登录:输入用户名和密码,并判断是管理员还是普通成员,管理员和普

通成员具有不同的功能选择界面。

(2)录入信息:各项财务信息(包括1用途、2收入、3支出、4收入(或支出)时间、5总计、6使用人等。)。

(3)修改班级成员信息。

(4)删除班级成员信息。

(5)查询班级财务状况。

(6)统计班级财务情况:班级每月共收入、支出各多少,整个学期共收入、支出

多少。

(7)分类统计:根据用途对支出进行统计排序输出。

(8)新功能:导出财务信息至Excel表格。

1.2 系统功能分析

(1)登录功能:由于这是一个班级财务管理程序,所以使用人应该是全班同学。

为了后期调试的便捷性,我将管理员帐号设置为自己的学号:201330330414,其余同学的学号为普通帐号。所有帐号密码设置为学号后6位。管理员帐号拥有所有权限,能进行所有操作。普通帐号可以进行查询班级财务状况、统计班级财务情况、分类统计、导出财务信息至Excel表格等操作。

(2)录入信息:用途、收入、支出、使用时间、使用人,由于我将“总计”这一项信息理解为余额,所以余额交由程序自动计算。

(3)修改班级成员信息:要修改信息的时候,先输入要修改信息条的使用人的名字,也就是说本功能是以“使用人”为关键字来进行的,可以修改的信息包括:用途、收入、支出、使用时间、使用人。

(4)删除班级成员信息:与修改信息一样,要删除的时候以“使用人”为关键字,输入使用人名字以进行删除。

(5)查询班级财务状况:包括历史总收入、历史总支出、现存余额。

(6)统计班级财务情况:根据要查询的月份或学期,输入其对应日期,程序再做统计。

(7)分类统计:根据用途,列出各种用途及其对应的支出信息。

(8)导出财务信息至Excel表格:一个财务管理程序虽然可以对财务信息进行各种统计,但如果要了解细则,显然导出一个表格来看更加清晰明了,因此我就想到了添加这个新的功能。

(9)保存文件:程序开始的时候会进行读取信息的操作,信息存在文件名为

“money.in”里面。每次退出要进行保存操作,虽然手动保存显得不够便利,但是如果出现误操作,可以直接退出程序,这样原来的信息就不会被改变。

2. 系统设计

1.1 系统总体结构设计

(1)开始时,程序先要求输入帐号密码,若验证通过,判断帐号权限,赋予相应菜单界面。登录完成后,文件读取函数(函数名:Rfile)会自动读取名为“money.in”

的文件,里面存有历史财务信息。若该文件不存在,程序将会自动创建该文件。读取的信息将会按顺序创建链表,所有的信息暂存在链表里。

(2)一级菜单:若为管理员则printf出所有功能选项提供用户选择,如果是普通用户,则printf无法改变信息文件的选项,选择操作以switch语句实现。

(3)录入信息:一次输入使用人、收入、支出、用途、使用时间,余额交由程序自动计算。每次录入的信息插在链表末尾。

(4)修改班级成员信息:先输入要修改信息条的使用人的名字,也就是说本功能是以“使用人”为关键字来进行的,可以修改的信息包括:用途、收入、支出、使用时间、使用人。如果修改的项目是收入或者支出,将会影响该条目及之后所有条目的余额,所以此时会调用余额修正函数(函数名:Sumrevise),以修正受影响的余额,保证正确性。

(5)删除班级成员信息:与修改信息一样,要删除的时候以“使用人”为关键字,输入使用人名字后,程序会检索所有该使用人的财务记录并列出,之后可以选择相应序号以删除条目。同样地,删除操作将会影响余额的正确性,所以删除之后同样会调用余额修正函数进行修正。

(6)查询班级财务状况:遍历链表,计算历史总收入、历史总支出、现存余额。

(7)统计班级财务情况:根据要查询的月份或学期,先输入年份或者学年,再输入月份或者学期,程序将年、月作为关键字,在链表中检索符合日期的条目,计算收入和支出。

(8)分类统计:根据用途,每遇到一个未统计过的用途,就将该用途作为关键字,检索后面相同用途的信息,以此类推,余下的用途用同样的方法计算,最后列出各种用途及其对应的支出信息。

(9)导出财务信息至Excel表格:创建新的文件指针,将链表里的信息写入名为“report.xls”的Excel文件里,输出的时候包括跳格符、’\n’符号,保证输出格式的正确性。

(10)保存文件(函数名:Save):程序开始的时候会进行读取信息的操作,信息存在文件名为“money.in”里面。每次退出要进行保存操作,虽然手动保存显得不够便利,但是如果出现误删除这类操作,可以直接退出程序,这样原来的信息就不会被改变。

1.2 系统各个功能模块详细设计及功能模块之间关系设计

1.2.1系统各个功能模块详细设计

(1)登录模块(图1.1):首先输入帐号和密码,如果出错,程序会提示出错的是帐号还是密码,并要求重新输入,输入正确后,程序根据帐号类型赋予权限,进入一级菜单。

(1.1)登录模块

(1.2)添加信息模块

(3)修改信息:输入姓名之后,程序会列出所有该姓名的财务信息,此时可以选择编号以修改。(图1.3)

(1.3)修改信息模块

(4)删除信息:输入姓名之后,程序会列出所有该姓名的财务信息,此时可以选择编号以删除。(图1.4)

(1.4)删除信息模块

(5)查询财务状况:(图1.5)

(1.5)查询财务模块

(6)统计财务信息:第一步是选择统计月度信息还是学期信息,然后输入年份、月度或学期。(图1.6)

(1.6)统计财务模块

(7)分类统计财务:(图1.7)

(1.7)分类统计模块

(8)导出Excel报告:(图1.8)

(1.8)导出Excel模块

功能模块之间关系设计:(图1.9)

相关文档
最新文档