一、模拟实现一个基于文本界面的《家庭记账软件》
掌握初步的编程技巧和调试技巧
主要涉及以下知识点:
- 局部变量
- 基本数据类型
- 循环语句
- 分支语句
- 简单的屏幕输出格式控制
进阶编程:面向对象编程使用
二、需求说明
模拟实现基于文本界面的《家庭记账软件》。
该软件能够记录家庭的收入、支出,并能够打印收支明细表。
1、项目采用分级菜单方式。主菜单如下:
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):_
1)、假设家庭起始的生活基本金为10000元。
2)、每次登记收入(菜单2)后,收入的金额应累加到基本金上,并记录本次收入明细,以便后续的查询。
3)、每次登记支出(菜单3)后,支出的金额应从基本金中扣除,并记录本次支出明细,以便后续的查询。
4)、查询收支明细( 菜单1)时,将显示所有的收入、支出名细列表
2、 “登记收入”的界面及操作过程如下所示:
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):2
本次收入金额:1000
本次收入说明:劳务费_
3、 “登记支出”的界面及操作过程如下所示:
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):3
本次支出金额:800
本次支出说明:物业费_
4、“收支明细”的界面及操作过程如下所示:
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):1
-----------------当前收支明细记录-----------------
收支 收支金额 账户金额 说 明
收入 1000 11000 劳务费
支出 800 10200 物业费
--------------------------------------------------
提示:明细表格的对齐,可以简单使用制表符‘\t’来实现
5、 “退 出”的界面及操作过程如下所示:
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):4
确认是否退出(Y/N):_
1) 基本金的记录可以使用int类型的局部变量来实现:
balance := 10000
2) 收支明细记录可以使用sting类型的变量来实现,其初始值为明细表的表头。例如:
details := "收支\t账户金额\t收支金额\t说 明\n"
3)在登记收支时,将收支金额与balance相加或相减,收支记录直接串接到details后面即可。
三、流程图
1、流程图(活动图) — 主流程
2、流程图(活动图) — 收入和支出处理流程
四、界面
运行程序后的界面:
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):1
-----------------当前收支明细记录-----------------
收支 账户金额 收支金额 说 明
--------------------------------------------------
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):2
本次收入金额:1000
本次收入说明:有人发红包
---------------------登记完成---------------------
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):1
-----------------当前收支明细记录-----------------
收支 账户金额 收支金额 说 明
收入 11000 1000 有人发红包
--------------------------------------------------
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):3
本次支出金额:50
本次支出说明:给别人发红包
---------------------登记完成---------------------
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):1
-----------------当前收支明细记录-----------------
收支 账户金额 收支金额 说 明
收入 11000 1000 有人发红包
支出 10950 50 给别人发红包
--------------------------------------------------
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):2
本次收入金额:2000
本次收入说明:工资
---------------------登记完成---------------------
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):1
-----------------当前收支明细记录-----------------
收支 账户金额 收支金额 说 明
收入 11000 1000 有人发红包
支出 10950 50 给别人发红包
收入 12950 2000 工资
--------------------------------------------------
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):4
确认是否退出(Y/N):x
选择错误,请重新输入:x
选择错误,请重新输入:r
选择错误,请重新输入:n
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):4
确认是否退出(Y/N):x
选择错误,请重新输入:x
选择错误,请重新输入:y
请按任意键继续. . .