Go语言实现记账本


使用面向过程思想实现

package main
import (
    "fmt"
)
func main(){
    key := ""
    //设置初始金额
    sum := 10000.0
    //收入 支持金额
    money := 0.0
    //说明
    note := ""
    //账本
    info :="类型\t余额\t金额\t说明"
    for{
        fmt.Println("=====================家庭记账本=====================")
        fmt.Println("                      1:收入明细")
        fmt.Println("                      2:登记收入")
        fmt.Println("                      3:登记支出")
        fmt.Println("                      4:退出系统")
        fmt.Println("请输入选择1-4:")
        fmt.Scanln(&key)
        switch key {
            case "1" :
                fmt.Println("==============收入明细==============")
                if info == ""{
                    fmt.Println(
                }
                fmt.Println(info)
            case "2" :
                fmt.Println("==============登记收入==============")
                fmt.Println("输入收入金额")
                fmt.Scanln(&money)
                sum += money
                fmt.Println("输入收入说明")
                fmt.Scanln(&note)
                info += fmt.Sprintf("\n收入\t%v\t%v\t%v",sum,money,note)
            case "3" :
                fmt.Println("==============登记支出==============")
                fmt.Println("输入支出金额")
                fmt.Scanln(&money)
                if money > sum{
                    fmt.Println("余额不足...")
                    break;
                }
                sum -= money
                fmt.Println("输入支出说明")
                fmt.Scanln(&note)
                info += fmt.Sprintf("\n支出\t%v\t%v\t%v",sum,money,note)
            case "4" :
                fmt.Println("确定退出吗?输入y/n...")
                chice := ""
                for{
                    fmt.Scanln(&chice)
                    if chice == "y" || chice == "n"{
                        break
                    }
                    fmt.Println("输入正确的选项")
                }
                if chice == "y"{
                    return
                }
            default:
                fmt.Println("输入正确的选项")
        }
    }
}

相关