家庭收支記賬項目介紹----面向過程

package main

import “fmt”

/*
項目1,家庭收支記賬軟件項目

/*
類型斷言的最佳實踐3[學院自己完成]
在前面代碼的基礎上,增加判斷student類型和*student類型
項目開發流程説明
項目需求説明
項目的界面

項目代碼實現
實現基本功能(先使用面嚮過程,後面改成面嚮對象)
編寫文件testmyaccount.go完成基本功能
功能1先完成可以顯示主菜單,并且可以退出
功能2完成可以顯示明細的功能
功能3完成了等級收入的功能
完成了等級指出的功能

項目代碼實現改進
1)用戶輸入4退出時,給出提示“你確定要退出嗎?y/n,必須輸入正確的y/n,否則循環輸入指令,知道輸入y或者n。
2)儅沒有任何收支明細時,提示”當前沒有收支明細…來一筆吧!"
3)在支出時,判斷餘額是否夠,並給出相應的提示。
4)將民巷過程的代碼修改成面向對象的方法,編寫myfamilyaccount.go并使用testmyfamilyaccount.go去完成測試。
/
//模拟实现基于文本界面的《家庭记账软件》。
//该软件能够记录家庭的收入、指出,并能够打印收支明细表。
//项目的界面
//项目采用分级菜单方式。主菜单如下:
/
————————家庭收支记账软件——————————
1收支明细
2登记收入
3登记支出
4退出
请选择(1-4):1
——————————当前收支明细记录————————
收支 帐户金额 收支金额 说明
——————————————————————————————
——————————————家庭收支记帐软件————————————————
1收支明细
2登记收入
3登记支出
4退出
请选择(1-4):2
本次收入金额1000
本次收入说明:有人发红包

————————————登记完成————————————————
————————————家庭收支记账软件————————————————
1收支明细
2登记收入
3登记支出
4退出
请选择(1-4):1
————————当前收支明细记录————————————
收支 账户金额 收支金额 说明
收入 11000 1000 有人发红包

/
//项目需求说明
/

项目需求说明
1)模拟实现基于文本界面的《家庭记账软件》
2)该软件能够记录家庭的收入、支出,并能够打印收支明细表
项目的界面
*/
//功能1先完成可以顯示主菜單,并且可以退出
//思路分析:
//更加给出的界面完成,主菜单的显示当用户输入4时,就退出该程序
//走代码
func main() {
//声明一个变量,保存接受用户输入的选项
key := “”
//声明一个变量,控制是否退出for
loop := true
//定義賬戶的餘額
balance := 10000.0
//每次收支的金額
money := 0.0
//每次收入的説明
note := “”
//定義個變量,記錄是否有收支的行爲
flag := false
//當有收支時,只需要對details進行拼接處理即可
//儅有收支時,只需要對details 進行拼接處理。
details := “收支\t賬戶金額\t收支金額\t説 明”
//收支的詳情使用字符串來記錄
//显示这个主菜单
for {
fmt.Println("\n------------家庭收支记账软件-------------")
fmt.Println(" 1收支明细")
fmt.Println(" 2登记收入")
fmt.Println(" 3登记支出")
fmt.Println(" 4退出软件")
fmt.Print(“请选择(1-4):”)
fmt.Scanln(&key)
switch key{
case “1”:
fmt.Println("-----------当前收支明细记录------------")
if flag{
fmt.Println(details)
}else{
fmt.Println(“當前沒有手指明細…來一筆吧”)
}
fmt.Println(details)

case "2":
	/*
    功能2完成可以顯示明細和登記收入功能
    思路分析:
     1)因爲需要顯示明細,我們定義一個變量details string來記錄
     2)還需要定義變量來記錄餘額(balance)、每次收支的金額(money),每次收支的説明(note)
    */
	fmt.Println("本次收入金額:")
	fmt.Scanln(&money)
	balance += money //修改賬戶金額
	fmt.Println("本次收入説明:")
	fmt.Scanln(&note)
	//收入    11000     1000     有人發紅包
	//將這個收入情況,拼接到details變量
	details += fmt.Sprintf("\n收入\t%v\t%v\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("&note")
	details += fmt.Sprintf("\n指出\t%v\t%v\t%v",balance,money,note)
	flag = true

case "4":
	/*
	1)用戶輸入4退出時,給出提示"你確定要推出嗎?yin",必須輸入整的yin,否則循環輸入指令,知道輸入y或者n。
	2)當沒有任何收支明細時,提示"當前沒有手指明細..來一筆吧"!
	3)在之處是,判斷餘額是否夠,并給出相應的提示。
	4)將面嚮過程的代碼修改成面向對象的方法,編寫myFamilyAccount.go,并使用testMyFamilyAccount.go去完成測試。
	 */
	 fmt.Println("你確定要退出嗎?y/n")
	 choice :=""
	for  {
		fmt.Scanln(&choice)
		if choice =="y"|| choice =="n"{
			break
		}
		fmt.Println("你輸入有誤,請重新輸入y/n")
	}
	if choice =="y"{
		loop = false
	}
default:
	fmt.Println("请输入正确的选项..")
}
if !loop {
    break
	}
}
fmt.Println("你退出家庭记账软件的使用...")

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值