java面向对象数组实现家庭收支记账软件_golang实战--家庭收支记账软件(面向过程)...

1.开发流程

bba0a136785b052df578f18d79aca0fc.png

2.目标

模拟实现一个基于文本界面的(家庭记账软件) ;

初步掌握编程技巧和调试技巧;

主要包含以下知识点:局部变量和基本数据类型、循环语句、分支语句、简单屏幕格式输出、面向对象编程;

该软件能够记录家庭的输入、支出,并能够打印家庭明细表;

采用分级菜单的方式:

--------------家庭收支记账软件-----------------

1.收支明细

2.登记收入

3.登记支出

4.退出

请选择(1-4)

3.实现(具体细节看代码吧)

package main

import (

"fmt"

)

func main() {

//申明一个变量,保存输入的选择

key := ""

//申明一个变量判断是否退出循环

loop := false

//定义账户的余额

balance := 10000.0

//每次收支的金额

money := 0.0

//每次收支的说明

note := ""

//收支的详情,使用字符串来记录

details := " 收支\t账户金额\t收支金额\t说 明"

//定义一个变量记录是否有收支行为

flag := false

//显示菜单

for {

fmt.Println("----------------------家庭收支软件-----------------------")

fmt.Println(" 1.收支明细")

fmt.Println(" 2.登记收入")

fmt.Println(" 3.登记支出")

fmt.Println(" 4.退出软件")

print("请选择(1-4):")

fmt.Scanln(&key)

switch key {

case "1":

if flag {

fmt.Println("----------------------当前收支明细-----------------------")

fmt.Println(details)

} else {

fmt.Println("当前没有收支明细,来一笔吧")

}

case "2":

fmt.Println("本次收入金额:")

fmt.Scanln(&money)

balance += money

fmt.Println("本次收入说明:")

fmt.Scanln(&note)

details += fmt.Sprintf("\n 收入 \t%v\t\t %v\t\t%v", balance, money, note)

flag = true

case "3":

fmt.Println("本次支出金额:")

fmt.Scanln(&money)

if money > balance {

fmt.Println("余额不足!!!")

break

}

balance -= money

fmt.Println("本次收入说明:")

fmt.Scanln(&note)

details += fmt.Sprintf("\n 支出 \t%v\t\t %v\t\t%v", balance, money, note)

flag = true

case "4":

fmt.Println("你确定要退出吗?y/n")

choice := ""

for {

fmt.Scanln(&choice)

if choice == "y" || choice == "n" {

break

}

fmt.Println("您的输入有误!!请重新输入!")

}

if choice == "y" {

loop = true

}

default:

fmt.Println("请输入正确的选项")

}

if loop {

break

}

}

}

初始金额为10000。0,当然也可以自己定义为0.0。

启动后的界面:

3c01814a6cbc819ae8ab52cd744fb814.png

如果收支明细中没有记录,选择1的话,会显示“当前没有收支明细,来一笔吧”

选择2:

76a9f497875fc04151068a841715289d.png

选择3:(如果金额不够,会显示“当前余额不足!”)

ed51a9eeefed54c301199a95d303cecf.png

选择1:

d4d651d8c42d356854c1ebe9c68d3a2c.png

记录了我们的收入与支出,同时金额也在相应进行变化。

选择4:输入y或n,如果没输对,就提示输入错误;输入y,则退出;输入n,则返回;

be1fbe312c92f3dee7a18839172674f1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值