收支软件-登记支出和完善退出 | 学习笔记

简介: 快速学习收支软件-登记支出和完善退出

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程收支软件-登记支出和完善退出】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/626/detail/9714


收支软件-登记支出和完善退出

 

一、 功能3:完成登记支出的功能

1. 思路分析:

登记支出功能和登记收入的功能类似,做部分修改即可。

2. 走代码:

package main

import(

“fmt”

)

func main(){

//声明一个变量,保存接受用户输入的选项

key:=””

//声明一个变量,控制是否退出for

loop:=true

//定义账户的余额[初始的时候预设有10000元]

balance:=10000.0

//每次收支的金额

money:=0.0

//每次收支的说明

note:=””

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

//当有收支时,只需要对 details 进行拼接处理即可

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

//显示这个主菜单

for{

fmt.Println(“\n-----家庭收支记账软件-----”)

fmt.Println(“1 收支明细”)

fmt.Println(“2 登记收入”)

fmt.Println(“3 登记支出”)

fmt.Println(“4 退出软件”)

fmt.Println(“请选择(1-4)”)

fmt.Scanln(&key)

switch key{

case”1”:

fmt.PrintIn(“-----当前收支记录-----”)

fmt.PrintIn(details)

case”2”:

fmt.PrintIn(“本次收入金额“)

fmt.Scanln(&money)

balance += money  //修改账户余额

fmt.PrintIn(“本次收入说明“)

fmt.Scanln(¬e)

//将这个收入情况拼接到details变量

//收入     11000      1000       有人发红包

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

case”3”:

fmt.PrintIn(“本次支出金额”)

fmt.ScanIn(&money)

//这里需要做一个必要的判断

if money > balance{

fmt.PrintIn(“余额的金额不足”)

break

}

balance -= money

fmt.PrintIn(“本次支出说明”)

fmt.ScanIn(¬e)

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

case”4”:

loop=false

default:

fmt.PrintIn(“请输入正确的选项”)

}

if !loop{

break

}

}

fmt.PrintIn(“退出家庭记账软件的使用”)

}

 

二、 项目代码实现改进

1. 用户输入4退出时,给出提示”你确定要退出吗?y/n”,必须输入正确的 y/n,否则循环输入指令,直到输入 y 或者 n。

(1) 改进:

case”4”:

loop=false

改为

case”4”:

fmt.PrintIn(“你确定要退出吗?y/n“)

choice :=””

for{

fmt.ScanIn(&choice)

if choice == “y”|| choice == “n”{

break

}

fmt.PrintIn(“你的输入有误,请重新输入y/n”)

}

if choice == “y”{

loop=false

2. 当没有任何收支明细时,提示“当前没有收支明细...来一笔吧!”

3. 在支出时,判断余额是否够,并给出相应的提示。

4. 将面向过程的代码修改成面向对象的方法,编写 myFamilyAccount.go,并使用 testMyFamilyAccount.go 去完成测试。

相关文章
|
1月前
|
存储 供应链 安全
合同与订单管理:CRM自动化的商业价值
在快节奏的商业环境中,CRM系统已成为企业提升效率、优化客户体验和增强竞争力的关键工具。本文探讨CRM自动化管理在合同签署和订单处理中的作用与优势。通过电子签名集成、合同模板管理、审批流程自动化和合同状态跟踪,CRM系统显著提高了合同签署的效率和准确性。订单处理方面,自动化的订单创建与同步、库存管理和调度、发货和物流跟踪以及发票和付款处理,确保了订单信息的准确性和及时性。CRM自动化不仅提升了运营效率,减少了人为错误,还增强了客户体验和数据安全性,成为企业数字化转型的重要推动力。
|
2月前
|
存储 供应链 数据可视化
2024年采购管理新趋势:最适合记录和更新采购清单的在线看板工具
在现代企业中,采购部门的任务高效协作与管理至关重要。本文介绍了六款适合采购部门的在线看板工具:板栗看板、Trello、Miro、Zoho Projects、Airtable和TeamGantt,分别从关键功能、优势、劣势及适用对象等方面进行了详细对比,帮助企业选择最合适的工具,提升采购效率和透明度。
2024年采购管理新趋势:最适合记录和更新采购清单的在线看板工具
|
7月前
|
存储 运维 BI
云HIS综合管理系统源码,门诊预约挂号、收费结算、排班、医护协同、药房、药库、电子病历等功能模块
_HIS系统摘要:_ HIS是医院信息管理系统,涵盖门诊、住院、药房、药库管理等,支持财务、病人及物资信息处理。门诊医生工作站具备友好的交互,与多系统接口集成。功能包括医生就诊、查询、住院预约、数据设置及用户管理。云HIS采用SaaS模式,适合基层医疗机构,提供综合管理和业务支持,确保运营监管并易于扩展。系统展示包括业务首页、综合管理系统、费用统计和出院结算界面。
167 8
云HIS综合管理系统源码,门诊预约挂号、收费结算、排班、医护协同、药房、药库、电子病历等功能模块
|
7月前
|
监控 数据挖掘 数据安全/隐私保护
ERP系统中的应收应付管理与风险控制解析
【7月更文挑战第25天】 ERP系统中的应收应付管理与风险控制解析
438 2
|
7月前
|
SQL 数据库连接 数据库
医院网络预约系统咨询预约登记OA系统
医院网络预约系统咨询预约登记OA系统
71 2
|
8月前
|
前端开发 JavaScript Java
计算机Java项目|月度员工绩效考核管理系统
计算机Java项目|月度员工绩效考核管理系统
|
9月前
|
小程序
智慧医院预约挂号平台源码,可直接线上预约挂号、快捷缴费,查看报告
医院线上预约挂号平台既可以让患者足不出户就可以利用微信进行在线挂号,实现分时段就诊,就诊后也可以直接使用手机微信缴费,还可以通过微信实现查询费用明细及药品清单,检查、检验报告,住院服务等功能。
165 1
智慧医院预约挂号平台源码,可直接线上预约挂号、快捷缴费,查看报告
|
9月前
|
自然语言处理 供应链 BI
提升外贸企业财务效率!必备功能的财务记账软件推荐!
外贸企业在如今加速发展的全球化背景下面临着数不胜数的挑战和机会,在这种情况下,一款高效又精准的财务记账软件对于外贸企业的运营和管理至关重要。
108 0
|
9月前
|
小程序
大中型医院线上预约挂号系统源码,对接HIS,支持预约挂号、预约记录、在线支付、医保支付、医保信息、电子报告、住院每日清单查看等功能
预约挂号管理系统具备后台管理端和用户使用端,用户使用端包括:微信公众号、支付宝小程序。 技术架构:C#+.net+uni-app+ SqlServer 2012+ VS2019 ,自主研发,自主版权,多家三甲医院应用案例,有演示。
149 0
大中型医院线上预约挂号系统源码,对接HIS,支持预约挂号、预约记录、在线支付、医保支付、医保信息、电子报告、住院每日清单查看等功能
|
Oracle 关系型数据库 Java
工地收支财务管理系统开发程式编写规则解析
工地收支财务管理系统开发程式编写规则解析