家庭财务管理系统
目录
一、需求分析 ................................................................................................................................... 2
(一)系统需求背景 ........................................................................................................... 2 (二)系统要求 ................................................................................................................... 2 (三)系统开发环境 ........................................................................................................... 2
二、概要设计 ................................................................................................................................... 3
(一)其中所涉及的类及其说明 ....................................................................................... 3 cost类的声明 .................................................................................................................. 3 water_rate类的声明 ...................................................................................................... 3 elec_rate类的声明 ........................................................................................................ 3 comm_rate类的声明 ........................................................................................................ 4 gas_rate类的声明 .......................................................................................................... 4 shop_rate类的声明 ........................................................................................................ 5 pin_rate类的声明 .......................................................................................................... 5 inter_f类的声明 ............................................................................................................ 5 user类的声明 .................................................................................................................. 6 (二)系统流程图 ............................................................................................................... 7
三、详细设计 ................................................................................................................................... 8
3.1查询函数 ........................................................................................................................ 8 3.2用户登记 ........................................................................................................................ 8 3.3用户注销 ........................................................................................................................ 9 3.4显示账单函数 .............................................................................................................. 10
四、调试分析 ................................................................................................................................. 11
(一)存在不足 ................................................................................................................. 11 (二)相应对策 ................................................................................................................. 12
五、源代码..................................................................................................................................... 12 六、心得体会 ................................................................................................................................. 33
一、需求分析
(一)系统需求背景
家庭财务管理对于社区工作人员来说有着重要的意义,随着科技的发达,财务的管理由原先的手写账本发展到现今的电脑系统输入并统计,不仅大大减少了时间与精力,也是财务管理更系统化,便捷化,清晰化,减少金钱上的缺失。家庭财务系统主要对家庭的各项财务收支管理进行在计算机上的信息存储和处理,。许多家庭财务的管理都实现了办公自动化,这种自动化管理方式不仅管理简单,而且效率非常高。为了能够高效地管理家庭财务的信息,使用计算机进行信息的管理,使财务信息管理科学化,可以最大限度地减少信息损失,提高家庭理财的利益。
(二)系统要求
本系统要达到的目标有以下几点:
1.以管理员的视角进行操作,对用户的支出进行输入操作。并汇总显示。 2.保存每次输入的收支记录,并提供查询方式:按姓名和用户编号; 3.家庭现金的收入/支出进行管理,实现收支记录的增加,修改,查询,删除以及相关用户的增加和删除。
4.可以对单个用户的支出进行查询操作。
(三)系统开发环境
系统开发平台:windows 7 旗舰版 系统开发工具:VC++ 6.0简体中文版 系统开发语言:C++
二、概要设计
(一)其中所涉及的类及其说明
cost类的声明
class cost //定义抽象类,虚函数 {
public:
double *s; //费用成员指针
virtual int get_n()=0; //定义一个费用总个数虚函数 virtual double get_cost()=0; //定义计算费用的虚函数 cost()
virtual ~cost() };
water_rate类的声明
class water_rate:public cost//水费类继承费用类
{ public:
double *t; //用水量
int nT; //用户用水个数
water_rate();//构造函数
~water_rate();//析构函数 void set();//输入信息函数 void set_water(); //显示水费函数 int get_n(); //返回用户水费个数函数
double get_cost(); //返回用户用水总费用函数
}; elec_rate类的声明
class elec_rate:public cost//电费类继承费用类 {
public:
double *d;
int nT;//计算用电的用户个数 elec_rate(); //电费类的构造 ~elec_rate(); //析构
void set();//输入用电度数函数 void set_elec();//显示电费信息
int get_n();//返回用户电费费个数函数
double get_cost(); //返回用户用电总费用函数 };
comm_rate类的声明
class comm_rate:public cost //定义一个通信类函数 {
public:
double *tp;//定义一个电话费用函数 double *cp;//定义一个上网费用函数 int nT; //计算通信用户个数 comm_rate(); //通信类构造 ~comm_rate();//通信类析构
void set(); //输入电话用和上网费用 void set_comm(); //计算通信费用 int get_n();
double get_cost(); //计算通信总费用 };
gas_rate类的声明
class gas_rate:public cost//定义一个煤气费类 {
public:
double *g;
int nT; //计算用煤气用户的个数 gas_rate(); //构造
~gas_rate(); //析构
void set(); //输入煤气用量 void set_gas(); //计算煤气费用 int get_n(); //返回煤气用户个数 double get_cost(); //返回煤气总费用 };
shop_rate类的声明
class shop_rate:public cost //定义一个购物类 {
public:
double *sp; //衣服费用成员
double *hp; //其他用品费用成员 int nT; //计算购物用户个数 shop_rate(); //购物类构造 ~shop_rate(); //析构
void set(); //输入购物费用
void set_shop(); //计算购物费用 int get_n(); //返回购物用户个数 double get_cost(); //返回购物总消费 };
pin_rate类的声明
class pin_rate:public cost//定义一个零用费类 {
public:
double *pc;//定义一个吃饭费用成员 double *pa; //定义一个其他成员 int nT; //计算用户零用个数 pin_rate(); //构造 ~pin_rate(); //析构
void set(); //输入吃饭费用,其他费用函数 void set_pin(); //显示零用费用 int get_n(); //返回用户零用个数
double get_cost(); //返回用户的零用总费用 };
inter_f类的声明
class inter_f//定义一个界面类 {
public:
inter_f(){};//构造 ~inter_f(){}; //析构
void display(); //声明显示用户信息界面函数 void check(user* p); //声明用户登记函数
void seek(user* p); //声明用户查询函数
void show(user* p); //声明显示用户信息函数
void add(user* p); //声明用户新增函数
void cancel(user* p); //声明用户注销函数
void exit(); //声明用户退出函数
void limit(user& ru); //声明用户操作界面函数 void display2(); //键入消费明细界面函数 void water_cost(user* p); //水费函数 void elec_cost(user* p); //电费函数 void comm_cost(user* p); //通信费函数 void shop_cost(user* p); //购物费函数 void gas_cost(user* p); //煤气费函数 void pin_cost(user* p); //零用函数 void exit2(); //声明退出消费明细函数
void limit2(user& ru); //声明消费明细操作界面函数 void display1(); //声明显示总信息界面
void personal_bill(user* p); //声明个人账单函数 void amount_bill(user* p); //账单总计函数
void show1(user* p); //声明显示所有用户账务函数 void exit1(); //声明财务退出函数 void limit1(user& ru);//总界面函数 }; user类的声明
class user {
int *a; //用户的户号
string *name; //用户姓名 string *tel; //用户电话 public:
water_rate water_c; //定义一个水费类对象 elec_rate elec_c; //定义一个电费类对象 comm_rate comm_c; //定义一个通信费类对象 shop_rate shop_c; //定义一个购物类对象
gas_rate gas_c; //定义一个煤气费用类对象 pin_rate pin_c; //定义一个零用费用类对象 int N; //统计用户个数
void set(int m); //初始化函数 void inquire(); //查询用户函数
int inquire1(); //查询用户水费函数 饭+其 void show(); //显示用户函数 void show1(); //显示用户及费用函数 void add(); //添加数据成员函数 void cancel(); //删除函数
double amount(int m); //一个用户的费用总计 double all_amount(); //所有用户的所有账单总计 };
(二)系统流程图
三、详细设计
3.1查询函数
3.2用户登记
3.3用户注销
3.4显示账单函数
四、调试分析
(一)存在不足
由于能力和时间有限,这次设计与实现并没有对数据的存储导入到文件中,因而只是在缓存中,并不能对数据进行长期的保存和利用,再者也没有对管理员进行密码操作,直接就进入到系统中了,安全性不太高。而且容错率也不是很低,如
11
果输出不正确的数据,对于一些不正确的输入可能会造成一些难以预料的结果,因此,请不要故意输入错误信息。这些不足还希望老师谅解。
(二)相应对策
对于文件的操作可以在代码中添加,相应的读取与写入时要特别注意文件的名字与格式,不要照应错误了。
加入密码,是在系统开始时就直接进行密码层的运行,初始的密码应该提前写入密码文件里。
五、源代码
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
六、心得体会
通过这次的课程设计实验,才发现C++语言的各种难为,不仔细研究根本就是得不到精髓,无法运用的合理,也会出现各种各样的错误,在本次实验中,我采用类的形式。过程中,由于对类的参数的相互调用有一些问题,导致程序一直出现错误。让我一度无法理解,在多次实验之后,依据参考书上的解释和事例,才使得程序得意运行成功。对于参数的调用方面,有一定的问题,对于定义的函数参量在各个类中,要对所定义的变量引用,但尤其要注意的是定义的参数过多时,要以一个函数内部用为主,两个不同的类中来回使用会容易引发重大错误,使整个程序发生致命性错误,并且因此出现的一个问题,定义的变量查询不到,原因是定义的变量由于重复定义,换了另一个变量后便恢复了正常。这有让我明白了在这种比较多的函数块来回调用的情况下,要有相应逻辑顺序。才不会使自己手忙脚乱。这次课程设计让我认识到了自己的不足之处,在以后的学习中我会多加学习,多多锻炼,让自己的逻辑思维变得丰富一些,思考问题更加全面。
33
需要源代码,请加q473479100.
34