C语言班级财务管理系统

一、需求分析

1、系统概述:

班级财务管理是班级日常生活必不可少的,反应了班级财务的运作功能与过程,采用计算机来管理班级财务管理系统可方便快捷地查询与管理。本系统是班级财务管理系统,可让使用者明白地记录,反应班级财务的收入,支出,用途与统计。

系统主要功能分类:

1.        登录与注册

1)       管理员登录

2)       普通用户登录

2.        班级财务管理

1)       班级收支信息录入

2)       班级收支信息查询、

3)       班级收支信息修改

4)       班级收支信息删除

5)       班级收支信息统计

2、系统运行环境:

     (1)硬件环境: CPU:奔腾3以上

内存:64M以上

                      显卡:集成显卡

                      硬盘:10M

      (2)软件环境: 操作系统:windows 98/me/2000/XP/vista

                      DOS系统支持中文输出

3、功能需求描述:

(1)  登录模块:输入用户名和密码,并判断是管理员还是普通成员,管理员和普通成员具有不同的功能选择界面。

(2)   录入信息:各项财务收支信息(包括使用人、用途、收入、支出、收入(或支出)时间)。

(3)  修改班级成员信息

(4)  删除班级成员信息

(5)  查询班级财务信息

(6)       统计班级财务信息:包括个人所有的收支,月季班级收支,班级在一年的收支.

(7)       按用途支出排序:根据描述的用途使用链表对其进行排序

 

二、总体设计

1、总体开发思想:

(1)主要的数据结构:

 

系统用一个以为链表将数据录入,并完成查询,修改,等内容。

 

          头指针head

                                                            ……

                                                             

                                                                                   Null

 

 

(2)数据存贮方式:

用二进制码将用户名和密码存储于date.txt文件中

用二进制码将数据存储于shuju.txt文件中

 

(3)使用的语言:   C语言。

 

 


 

2、系统模块结构图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


3、模块设计:以下为各个功能模块的流程图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


按支出从大到小对用途进行排序

 

按用途对支出进行排序

 

                                                                                                  

 

 

 

 

 

 

 

 


三、功能实现

1、主要函数:函数名及参数含义;


 

(1)链表模块主要函数:

int chazhao(char string[40])        //查找用户名和密码

int denglu(int num)               //管理员与普通用户登录 

int creat_manager(int num)         //创建管理员

int creat_normal(int num)          //创建普通用户

struct person *duqu()              //读取文件资料

int luru_person()                  //录入成员信息

int lookup_num()                 //按编号查找

int lookup_name()                //按姓名查找

int lookup_describe()              //按描述查找

int lookup_date()                  //按日期查找

int lookup_all()                   //查询所有收支信息

int xiugai_name()                 //按姓名修改

int xiugai_income()               //按收入修改

int xiugai_outlay()               //按支出修改

int xiugai_describe()             //按描述修改

int xiugai_date()                //按日期修改

int del_num()                   //通过成员编号查找

int del_name()                  //通过成员姓名查找

int del_describe()               //通过项目名称查找

int del_date()                  //通过日期查找

int tongji_name(int i)          //统计个人财务信息

int tongji_month(int i)          //统计月财务信息

int tongji_year(int i)          //统计全体年财务信息

struct person *insert(struct person *head,struct person *p)            //插入链表

struct person *sort(struct person *head)            //排序链表

int fenlei(int i)             //按描述排序支出

struct person

{

       intnum;

       charname[30];

       charpassword;

       intyear;

       intmonth;

       intday;

       floatincome;

       floatoutlay;

       chardescribe[100];

       structperson *next;

};

 

2、使用界面

 

(1)欢迎画面:

       

 

 

 

 

(2)密码输入界面:

 

 

(3)登录界面:

 

 

 

 

(4)录入成员信息:

 

          

(5)修改成员信息:

      

 

 

 

 

(6)查询班级收支信息:

 

                 

 

(7)删除班级收支信息

 

 

 

 

 

 

 

(8)统计班级收支信息:

 

 

 

(9)按描述支出排序:

                 

 

 

 

四、总结

在3月份,我接触到了课程设计,并选择了班级财务管理系统。第一次尝试自己制作一个小型的程序,让我感到无从下手。在两个星期后,才想到了将各部分模块化,应用各种函数,并用链表实现数据的链接,完成基本功能。在这个基础上,不仅让我加大对C语言的熟悉度,并且让我更深入地了解编程。同时在完成过程中,查阅了许多书籍,获取了更多的知识。比如如何能在输入密码时将密码变成星号,如何让计算机自我判断登录者是管理员还是普通用户……种种不明白,在一番努力之后成为我的程序的一部分。

总的来说,第一次尝试,给了我许多新鲜感,让我认识到许多自己的不足,自己明白程序有很多的漏洞需要完善;让我更加清楚自己所需要学的,为我今后的学习指明了方向,也因此让我体验到了编程的乐趣。

  • 8
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值