中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

廈門市同安區(qū)建設局公開網站網站優(yōu)化軟件

廈門市同安區(qū)建設局公開網站,網站優(yōu)化軟件,網頁制作分工明細,云優(yōu)cms家庭收支記賬軟件實現基本功能(先使用面向過程,后面改成面向對象)項目代碼實現改進面向過程源碼面向對象源碼utils包中main包中實現基本功能(先使用面向過程,后面改成面向對象) 編寫文件TestMyAccount.go完成基本功能 功能一:先完成可以顯示…

家庭收支記賬軟件

    • 實現基本功能(先使用面向過程,后面改成面向對象)
      • 項目代碼實現改進
    • 面向過程源碼
    • 面向對象源碼
      • utils包中
      • main包中

實現基本功能(先使用面向過程,后面改成面向對象)

編寫文件TestMyAccount.go完成基本功能

  • 功能一:先完成可以顯示主菜單,并且可以退出
  • 功能二:完成可以顯示明細和登記收入的功能
  • 功能三:完成登記支出的功能

項目代碼實現改進

1,用戶輸入4退出時,給出提示“你確定要退出嗎y/n”,必須輸入正確的y/n,否則循環(huán)輸入指令,知道輸入y或者n

2,當沒有任何收支明細時,提示"當前沒有收支明細…"

3,在支出時,判斷余額是否夠,并給出相應的提示

4,將面向過程的代碼修改成面向對象的方法,編寫myFamilyAccount.go,并使用testMyFanillyAccount.go去完成測試

面向過程源碼

package main
import ("fmt"
)func main() {//聲明一個變量,保存接受用戶輸入的選項key := ""//聲明一個變量,控制是否退出for循環(huán)loop := true//定義賬戶的金額balance := 10000.0//每次收支的金額money := 0.0//每次收支的說明note := ""//定義一個變量,記錄是否有收支行為flag := false//收支的詳情使用字符串來記錄//當有收支的時候,只需要對details進行拼接處理details := "收支\t賬戶余額\t收支金額\t說   明"//循環(huán)顯示菜單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.Println("-----------------當前收支明細記錄----------------")if flag {fmt.Println(details)} else {fmt.Println("你的卡里沒錢錢,存一筆吧")}case "2":fmt.Println("本次收入的金額:")fmt.Scanln(&money)balance += money //修改賬戶余額fmt.Println("本次收入說明:")fmt.Scanln(&note)//將這個收入的情況,拼接到details//收入    11000      10000       血汗錢details += fmt.Sprintf("\n收入\t%v\t%v\t%v", balance, money, note)flag = truecase "3":fmt.Println("本次支出的金額:")fmt.Scanln(&money)//這里做一個必要的判斷if money > balance {fmt.Println("余額不足")break}balance -= moneyfmt.Println("本次支出的說明:")fmt.Scanln(&note)details += fmt.Sprintf("\n支出\t%v\t%v\t%v", balance, money, note)flag = truecase "4":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("你退出了家庭記賬軟件的使用")}

面向對象源碼

思路:

把記賬軟件的功能,封裝到一個結構體中,然后調用該結構體的方法,來實現記賬,顯示明細

再通過在main方法中,創(chuàng)建一個結構體FamilyAccount實例,實現記賬即可

utils包中

package utils
import ("fmt"
)type FamilyAccount struct {//聲明必須的字段//聲明一個字段,保存接受用戶輸入的選項key string//聲明一個字段,控制是否退出for循環(huán)loop bool//定義賬戶的金額balance float64//每次收支的金額money float64//每次收支的說明note string//定義一個變量,記錄是否有收支行為flag bool//收支的詳情使用字符串來記錄//當有收支的時候,只需要對details進行拼接處理details string
}//編寫一個工廠模式的構造方法,返回一個*FanilyAccount實例
func NewFamilyAccount() *FamilyAccount {return &FamilyAccount{key :"",loop : true,balance : 10000.0,money: 0.0,note : "",flag :false,details : "收支\t賬戶余額\t收支金額\t說   明"}
}//將顯示明細寫成一個方法
func (this *FamilyAccount) showDetails() {fmt.Println("-----------------當前收支明細記錄----------------")if this.flag {fmt.Println(this.details)} else {fmt.Println("你的卡里沒錢錢,存一筆吧")}
}//將登記收入寫成一個方法
func (this *FamilyAccount) income() {fmt.Println("本次收入的金額:")fmt.Scanln(&this.money)this.balance += this.money //修改賬戶余額fmt.Println("本次收入說明:")fmt.Scanln(&this.note)//將這個收入的情況,拼接到details//收入    11000      10000       血汗錢this.details += fmt.Sprintf("\n收入\t%v\t%v\t%v", this.balance, this.money, this.note)flag = true
}//將支出寫成一個方法
func (this *FamilyAccount) pay() {fmt.Println("本次支出的金額:")fmt.Scanln(&this.money)//這里做一個必要的判斷if this.money > this.balance {fmt.Println("余額不足")//break}this.balance -= this.moneyfmt.Println("本次支出的說明:")fmt.Scanln(&this.note)this.details += fmt.Sprintf("\n支出\t%v\t%v\t%v", this.balance, this.money, this.note)this.flag = true
}//將退出寫成一個方法
func (this *FamilyAccount) exit() {fmt.Println("你確定要退出嗎? y/n")choice := ""for {fmt.Scanln(&choice)if choice == "y" || choice == "n" {break}fmt.Println("你的輸入有誤,請重新輸入 y/n")}if choice == "y" {this.loop = false}}//給該結構體綁定相應的方法
//顯示主菜單
func (this *FamilyAccount) MainMenu() {for{fmt.Println("\n--------------------家庭收支記賬軟件------------------")fmt.Println("                      1 收支明細")fmt.Println("                      2 登記收入")fmt.Println("                      3 登記支出")fmt.Println("                      4 退出軟件")fmt.Println("                      請選擇(1-4):")fmt.Scanln(&this.key) switch this.key {case "1":this.showDetails()case "2":this.income()case "3":this.pay()case "4":this.exit()default :fmt.Println("請輸入正確的選項")}if !this.loop {break}fmt.Println("你退出了家庭記賬軟件的使用")}
}

main包中

package main
import ("go_code/Familycount/main"
)func main(){utils.NewFamilyAccount().MainMenu()
}
http://www.risenshineclean.com/news/44225.html

相關文章:

  • 衡陽的房地產網站建設打開百度搜索網站
  • 全國知名網站建設市場營銷四大基本策略
  • wordpress淘寶客api排名優(yōu)化公司哪家好
  • 微商城建設購物網站網絡營銷方法有哪些?
  • 做網站用vue嗎網上教育培訓機構
  • wordpress 知識共享長尾詞seo排名優(yōu)化
  • 網上購物系統(tǒng)功能描述seo簡單優(yōu)化
  • 汕頭企業(yè)建站百度官網進入
  • 百度網盟推廣怎么做網絡優(yōu)化的內容包括哪些
  • 注冊一個網站營銷團隊找產品合作
  • wordpress獲取指定目錄的文章百度網站排名優(yōu)化
  • 裝飾公司網站seo公司排名教程
  • 公司網站建設行業(yè)怎么樣老鬼seo
  • 網站維護需要多少錢全網引流推廣
  • 中國電商建站程序seo運營是做什么的
  • 個人做網站需要備案嗎bt兔子磁力天堂
  • 用什么軟件做網站最快搜索量排行
  • 桂林做網站公司seo網絡優(yōu)化
  • 日照網站制作seo診斷站長
  • 博客網站如何建設互聯網推廣渠道
  • 做飛機票預訂網站如何做網站推廣的策略
  • 做彩票生意要登陸哪個網站百度最怕哪個投訴電話
  • 上海 網站制作公司網絡建站工作室
  • 有什么做服裝的網站蘭州seo網站建設
  • div css網站邊框模板疫情防控最新政策
  • 網站建設公司的公眾號百度官網平臺
  • 網站制作需要哪些軟件有哪些網站宣傳推廣策劃
  • 上海做網站 公司關鍵詞排名優(yōu)化怎么做
  • 舟山建設信息港門戶網站seo網絡推廣技術員招聘
  • 成都疫情實時狀況seo搜索優(yōu)化 指數