【Golang】家庭收支记账软件

时间:2025-03-08 07:35:40
  • //model/文件(模块文件,包含各功能函数)
  • package model
  • import "fmt"
  • type Account struct {
  • account string  //账户
  • pwd     string  //密码
  • key     int     //用户输入的选项
  • money   float64 //收支金额
  • note    string  //收支说明
  • balance float64 //余额
  • details string  //收支详情
  • choice  string  //是否退出
  • flag    bool    //退出循环的标志位
  • }
  • //将各函数封装到NewAccount中,返回一个*Account实例
  • func NewAccount() *Account {
  • return &Account{
  • key:     0,
  • money:   0.0,
  • note:    "",
  • balance: 10000.0,
  • details: "",
  • choice:  "",
  • flag:    true,
  • }
  • }
  • //显示收支明细
  • func (this *Account) showDetails() {
  • ("--------------当前收支明细记录--------------")
  • if == "" {
  • ("当前没有收支明细,快来添加吧")
  • return
  • }
  • ("收支\t账户金额\t收支金额\t详细说明")
  • ()
  • }
  • //登记收入
  • func (this *Account) income() {
  • ()
  • ("本次收入金额:")
  • (&)
  • ("本次收入说明:")
  • (&)
  • +=
  • ("-----------------登记完成-----------------")
  • ()
  • += ("收入\t%v\t%v\tv%v\n", , , )
  • }
  • //登记支出
  • func (this *Account) pay() {
  • ()
  • ("本次支出金额:")
  • (&)
  • if > {
  • ("余额不足")
  • return
  • }
  • ("本次支出说明:")
  • (&)
  • -=
  • ("-----------------登记完成-----------------")
  • ()
  • += ("支出\t%v\t%v\t%v\n", , , )
  • }
  • //退出
  • func (this *Account) quit() {
  • ("确定要退出吗?y/n:")
  • (&)
  • if == "y" {
  • ("成功退出系统")
  • = false
  • } else {
  • = true
  • }
  • }
  • //显示主菜单
  • func (this *Account) MainMenu() {
  • for {
  • ("请输入账号:")
  • (&)
  • if != "lichan" {
  • ("账号输入错误,请重新输入")
  • continue
  • }
  • for == "lichan" {
  • ("请输入密码:")
  • (&)
  • if != "123456" {
  • ("密码输入错误,请重新输入")
  • continue
  • } else {
  • break
  • }
  • }
  • ("恭喜您,登录成功")
  • break
  • }
  • for == true {
  • ("--------------家庭收支记账软件--------------")
  • ("               1 收支明细")
  • ("               2 登记收入")
  • ("               3 登记支出")
  • ("               4 退   出")
  • ("               请选择(1-4):")
  • (&)
  • switch {
  • case 1:
  • ()
  • case 2:
  • ()
  • case 3:
  • ()
  • case 4:
  • ()
  • }
  • }
  • }
  • //输出
  • 请输入账号:lichan
  • 请输入密码:123456
  • 恭喜您,登录成功
  • --------------家庭收支记账软件--------------
  •                1 收支明细
  •                2 登记收入
  •                3 登记支出
  •                4 退   出
  •                请选择(1-4):1
  • --------------当前收支明细记录--------------
  • 当前没有收支明细,快来添加吧
  • --------------家庭收支记账软件--------------
  •                1 收支明细
  •                2 登记收入
  •                3 登记支出
  •                4 退   出
  •                请选择(1-4):2
  • 本次收入金额:500
  • 本次收入说明:红包收入
  • -----------------登记完成-----------------
  • --------------家庭收支记账软件--------------
  •                1 收支明细
  •                2 登记收入
  •                3 登记支出
  •                4 退   出
  •                请选择(1-4):1
  • --------------当前收支明细记录--------------
  • 收支    账户金额        收支金额        详细说明
  • 收入    10500   500     v红包收入
  • --------------家庭收支记账软件--------------
  •                1 收支明细
  •                2 登记收入
  •                3 登记支出
  •                4 退   出
  •                请选择(1-4):3
  • 本次支出金额:20000
  • 余额不足
  • --------------家庭收支记账软件--------------
  •                1 收支明细
  •                2 登记收入
  •                3 登记支出
  •                4 退   出
  •                请选择(1-4):3
  • 本次支出金额:100
  • 本次支出说明:红包支出
  • -----------------登记完成-----------------
  • --------------家庭收支记账软件--------------
  •                1 收支明细
  •                2 登记收入
  •                3 登记支出
  •                4 退   出
  •                请选择(1-4):4
  • 确定要退出吗?y/n:y
  • 成功退出系统