2022-5-18 实习Day39
1、行内汇款申报信息若干字段不返现问题排查 – 3小时 100%
2、汇入汇款黑名单前台弹框vue代码修改,可关闭弹窗 – 2小时 100%
Golang编程学习(part 34)
1、家庭记账软件
1 2 3 4 5 6 7 8 9
| package main
import "Test1/course/moudle"
func main() { menu := moudle.GetNewMenu() menu.Start() }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
| package moudle
import ( "fmt" "time" )
type menu struct { number int }
type account struct { account string password string balance float64 detail string describe string payOrGet float64 }
func getAccount() *account { return &account{"20203886", "123", 10000, "", "", 0} }
func GetNewMenu() *menu { return &menu{} }
func (f *menu) Start() { var accountNum, passWord string var acc *account for { fmt.Print("请输入账号:") fmt.Scanln(&accountNum) fmt.Print("请输入密码:") fmt.Scanln(&passWord) acc = getAccount() if acc.account == accountNum && acc.password == passWord { break } else { fmt.Println("账号或者密码输入错误,请重新输入") } } f.GetPublicPart(acc) }
func (f *menu) function(number int, acc *account) int { if number == 1 { fmt.Println("--------------------当前收支明细记录--------------------") fmt.Println("收支 账户金额 收支金额 说明") fmt.Println((*acc).detail) } else if number == 4 { var exit string for { fmt.Println("你确定要退出吗? y/n") fmt.Scan(&exit) if "y" == exit || "Y" == exit { fmt.Println("退出成功,欢迎下次再来") return 1 } else if "n" == exit || "N" == exit { fmt.Println("取消退出") return 0 } else { fmt.Println("请输入n/y!!!") fmt.Println() } }
} else { if number == 2 { fmt.Print("本次收入金额:") fmt.Scan(&(*acc).payOrGet) (*acc).balance += (*acc).payOrGet fmt.Print("本次收入说明:") fmt.Scan(&(*acc).describe) (*acc).detail += fmt.Sprint("收 " + fmt.Sprint((*acc).balance) + " " + fmt.Sprint((*acc).payOrGet) + " " + fmt.Sprint((*acc).describe) + "\n") } else if number == 3 { fmt.Print("本次支出金额:") fmt.Scan(&(*acc).payOrGet) if (*acc).payOrGet > (*acc).balance { fmt.Println("余额不足...") return 0 } (*acc).balance -= (*acc).payOrGet fmt.Print("本次支出说明:") fmt.Scan(&(*acc).describe) (*acc).detail += fmt.Sprint("支 " + fmt.Sprint((*acc).balance) + " " + fmt.Sprint((*acc).payOrGet) + " " + fmt.Sprint((*acc).describe) + "\n") } else { fmt.Println("无此功能") fmt.Println() } }
return 0 }
func (f *menu) GetPublicPart(acc *account) { for { fmt.Println() fmt.Println("--------------------家庭收支记账软件--------------------") fmt.Println(" 1 收支明细 ") fmt.Println(" 2 登记收入 ") fmt.Println(" 3 登记支出 ") fmt.Println(" 4 退出 ") fmt.Println() fmt.Print(" 请选择(1-4):") fmt.Scan(&(*f).number) fmt.Println() flag := f.function((*f).number, acc) if flag == 1 { break } for i := 0; ; i++ { if i == 55 { break } time.Sleep(time.Second / 20) fmt.Print(">") } fmt.Println() } }
|