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()
}
}