源码分享:Go语言开发一个收支记账软件

社区管理,社交媒体和开发关系主管

概要 作为以太坊经典(Ethereum Classic)的社区负责人,你将负责定义和实施跨社区,跨地区的社交媒体和社区平台的全球社区战略。 你将与开发者社区和全球ETC社区紧密合作,负责管理我们目前的社区团队,该团队在三大洲进行远程操作。 作为以太坊经典的资深…

主程序代码:

package main
import ( "fmt" "go_code/zhangxueliang/FamilyAccount_OOP/utils")
func main(){ fmt.Println("欢迎访问学亮编程手记官方微信公众号") util_01.NewFamilyAccount().ShowMenu()}

封装成一个结构体FamilyAccount,便于后期维护和功能扩展:

package util_01
import ( "fmt")
type FamilyAccount struct { key string loop bool balance float64 money float64 note string details string flag bool}
func NewFamilyAccount() *FamilyAccount{ return &FamilyAccount{ key: "", loop: true, balance:10000.0, money:0.0, note:"", details:"收支t账户金额t收支金额t说 明", flag:false, }}
func (this *FamilyAccount) showDetail(){ fmt.Println("----------------------------收支明细----------------------------") if this.flag{ fmt.Println(this.details) }else{ fmt.Println("当前没有任何收支记录") }}
func (this *FamilyAccount) income(){ fmt.Println("----------------------------登记收入----------------------------") fmt.Println("本次收入金额:") fmt.Scanln(&this.money) fmt.Println("本次收入说明:") fmt.Scanln(&this.note) this.balance += this.money this.details += fmt.Sprintf("n收入t%vt%vt%v",this.balance,this.money,this.note) this.flag=true}
func (this *FamilyAccount) pay(){ fmt.Println("----------------------------登记支出----------------------------") fmt.Println("本次支出金额:") fmt.Scanln(&this.money) fmt.Println("本次支出说明:") fmt.Scanln(&this.note) if this.money <= this.balance{ this.balance -= this.money this.details += fmt.Sprintf("n支出t%vt%vt%v",this.balance,this.money,this.note) this.flag=true }else{ fmt.Println("余额不足!") }}
func (this *FamilyAccount) exit(){ choice := "" fmt.Println("你确定要退出吗?(y/n)") for{ fmt.Scanln(&choice) if choice=="y" || choice=="n"{ break }else{ fmt.Println("输入有误,请重新输入(y/n):") } } if choice=="y"{ this.loop = false }}
func (this *FamilyAccount) ShowMenu(){ for { fmt.Println("n----------------------------家庭记账收支软件----------------------------") fmt.Println("----------------------------1 收支明细----------------------------") fmt.Println("----------------------------2 登记收入----------------------------") fmt.Println("----------------------------3 登记支出----------------------------") fmt.Println("----------------------------4 退出软件----------------------------") fmt.Println("请选择(1-4):") fmt.Scanln(&this.key)
switch this.key { case "1": this.showDetail() case "2": this.income() case "3": this.pay() case "4": this.exit() default: fmt.Println("请输入正确的选项") }
if !this.loop { break } }
fmt.Println("你选择了退出软件")}

源码分享:Go语言开发一个收支记账软件

在比特币日报读懂区块链和数字货币,加入Telegram获得第一手区块链、加密货币新闻报道。

西南财经严丽娟:建议南昌发展区块链先瞄准社会治理等领域

比特币日报讯,西南财经大学中国区块链研究中心的教师、成都律信链服科技有限公司创始人严丽娟建议,现在区块链已经应用于金融、物流等各行各业,建议南昌先瞄准社会治理、供应链金融、智慧城管和智慧交通等领域,营造出更公平的社会环境和安居乐业的人居环境,吸引更多的企业来南…

Click to rate this post!
[Total: 0 Average: 0]

人已赞赏
Go语言技术开发Rust开发

写给 Web 开发者的 Rust 语言入门教程(0.引言)

2020-10-4 10:00:35

Go语言技术开发

Go语言开发的一些安全工具

2020-10-4 10:01:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索