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.收支明细 2.登记收入 3.登记支出 4.退出软件) print(请选择(1-4):) fmt.Scanln(&key) switch key { case 1: if flag { fmt.Println(----------------------当前收支明细-----------------------) fmt.Println(details) } else { fmt.Println(当前没有收支明细,来一笔吧) } 2: fmt.Println(本次收入金额:) fmt.Scanln(&money) balance += money fmt.Println(本次收入说明:note) details += fmt.Sprintf(\n 收入 \t%v\t\t %v\t\t%v,balance,money,note) flag = true 3本次支出金额:money) if money > balance { fmt.Println(余额不足!!!) break } balance -=\n 支出 \t%v\t\t %v\t\t%v4你确定要退出吗?y/n) choice := "" { fmt.Scanln(&choice) if choice == y" || choice == n { } fmt.Println(您的输入有误!!请重新输入!) } { loop = true } default请输入正确的选项) } loop { } } }
初始金额为10000。0,当然也可以自己定义为0.0。
启动后的界面:
如果收支明细中没有记录,选择1的话,会显示“当前没有收支明细,来一笔吧”
选择2:
选择3:(如果金额不够,会显示“当前余额不足!”)
选择1:
记录了我们的收入与支出,同时金额也在相应进行变化。
选择4:输入y或n,如果没输对,就提示输入错误;输入y,则退出;输入n,则返回;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。