GO版本家庭记账系统

这篇博客介绍了如何使用Go语言分别以面向过程和面向对象的方式实现一个家庭记账系统。在面向过程的实现中,详细展示了主菜单、收支明细、登记收入和支出的功能。而在面向对象的实现中,通过创建`FamilyAccount`结构体,将功能封装到方法中,提高了代码的可读性和复用性。两种实现方式都有明确的用户交互流程,并包含了退出系统的确认操作。

GO版本家庭记账系统

面向过程

package TestMyAccount

import (
	"fmt"
)
//1.先完成可以显示主菜单,并可以退出
// 2.完成显示明细功能
// 3.完成登记收入功能
// 4.完成登记支出功能


// 显示主菜单
//思路分析 :打印显示   输入4 退出系统
func Show()string{
   
   
	//用户操作
	key:=""

	// 账户余额 
	blance:=10000.0

	//每次收支的金额
	money:=0.0

	// 每次收支说明
	note :=""

	// 收支详情
	details :="状态\t收支金额\t总金额\t说明"




	//确定退出
	var is_out string

	for;;{
   
   

	fmt.Println("\n——————家庭记账收支系统———————")
	fmt.Println("\t1.收支明细")
	fmt.Println("\t2.登记收入")
	fmt.Println("\t3.登记支出")
	fmt.Println("\t4.退    出\n")

	fmt.Println("\t请选择(1-4):")
	fmt.Scanln(&key)
	
		switch key{
   
   
		case "1":
			fmt.Println("显示收支明细")
			
			//思路
			// 1.需要显示明细 定义details string 记录
			// 2.定义 余额(balance) 每次收支的 金额(money) 每次收支的说明(note)
			
			// 提示添加信息优化
			if details == "状态\t收支金额\t总金额\t说明"{
   
   
				fmt.Println("你还没有收支信息,请添加")
			}else{
   
   
				fmt.Println(details)
			}
		case "2":
			fmt.Println("登记收入")
			fmt.Println("收入金额:")
			fmt.Scanln(&money)
				//账户余额添加处理 
				blance += money
			fmt.Println(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值