golang实战

您所在的位置:网站首页 家庭收支记录软件 golang实战

golang实战

2024-04-29 01:48| 来源: 网络整理| 查看: 265

1.开发流程

 

 

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(¬e) 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(¬e) 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。

启动后的界面:

 

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

选择2:

 

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

 

 选择1:

 

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

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3