From f2ecbcb8441a929870dd398735c3a681e47ca7bc Mon Sep 17 00:00:00 2001 From: tovarishchgamma Date: Fri, 19 Jan 2024 21:22:03 +0300 Subject: [PATCH 1/3] Lab5 ot Daniila Chudova --- golang/internal/lab5/Lab5.go | 139 +++++++++++++++++++++++++++++++++++ golang/main.go | 13 ++++ 2 files changed, 152 insertions(+) create mode 100644 golang/internal/lab5/Lab5.go diff --git a/golang/internal/lab5/Lab5.go b/golang/internal/lab5/Lab5.go new file mode 100644 index 0000000..40cf7d1 --- /dev/null +++ b/golang/internal/lab5/Lab5.go @@ -0,0 +1,139 @@ +package Lab5 + +import ( + "errors" + "fmt" +) + +type Mouse struct { + Gender string + MouseName string + Age int + Color string +} + +func (m *Mouse) GetGender() string { + return m.Gender +} + +func (m *Mouse) SetGender(Gender string) { + m.Gender = Gender +} + +func (m *Mouse) GetMouseName() string { + return m.MouseName +} + +func (m *Mouse) SetMouseName(MouseName string) { + m.MouseName = MouseName +} + +func (m *Mouse) GetAge() (int, error) { + if m.Age < 0 { + return 0, errors.New("мышь ещё не родилась, приходите позже") + } + if m.Age > 10 { + return 0, errors.New("мышь умрёт от старости, лучше передумайте") + } + return m.Age, nil +} + +func (m *Mouse) SetAge(Age int) { + m.Age = Age +} + +func (m *Mouse) GetColor() string { + return m.Color +} + +func (m *Mouse) SetColor(Color string) { + m.Color = Color +} + +func Lab5() *Mouse { + fmt.Println("Выберите пол:") + fmt.Println("1. Девочка") + fmt.Println("2. Мальчик") + + var GenderChoice int + fmt.Scanln(&GenderChoice) + + var Gender string + + switch GenderChoice { + case 1: + Gender = "Девочка" + case 2: + Gender = "Мальчик" + default: + fmt.Println("Я конечно всё понимаю...но боевой вертолёт") + } + + MyMouse := Mouse{} + MyMouse.SetGender(Gender) + + if Gender == "Девочка" { + fmt.Println("Выберите вариант:") + fmt.Println("1. Гаечка") + fmt.Println("2. Сирень") + fmt.Println("3. Марта") + + var nameChoice int + fmt.Scanln(&nameChoice) + + switch nameChoice { + case 1: + MyMouse.SetMouseName("Гаечка") + case 2: + MyMouse.SetMouseName("Сирень") + case 3: + MyMouse.SetMouseName("Марта") + default: + fmt.Println("Имя не имя") + } + + } else if Gender == "Мальчик" { + fmt.Println("Выберите вариант:") + fmt.Println("1. Болт") + fmt.Println("2. Шуруп") + fmt.Println("3. Гвоздь") + + var nameChoice int + fmt.Scanln(&nameChoice) + + switch nameChoice { + case 1: + MyMouse.SetMouseName("Болт") + case 2: + MyMouse.SetMouseName("Шуруп") + case 3: + MyMouse.SetMouseName("Гвоздь") + default: + fmt.Println("Имя не имя") + } + } + + var AgeChoice int + fmt.Println("Введите возраст мышки:") + fmt.Scanln(&AgeChoice) + MyMouse.SetAge(AgeChoice) + + fmt.Println("Какого цвета ваша мышка:") + fmt.Println("1. Коричневая") + fmt.Println("2. Чёрная") + fmt.Println("3. Белая") + var ColorChoice int + fmt.Scanln(&ColorChoice) + switch ColorChoice { + case 1: + MyMouse.SetColor("Розовая") + case 2: + MyMouse.SetColor("Чёрная") + case 3: + MyMouse.SetColor("Белая") + default: + fmt.Println("Подумай ещё раз") + } + + return &MyMouse +} diff --git a/golang/main.go b/golang/main.go index 54cd8c2..6599fb7 100644 --- a/golang/main.go +++ b/golang/main.go @@ -4,6 +4,7 @@ import ( "fmt" Lab4 "isuct.ru/informatics2022/internal" + Lab5 "isuct.ru/informatics2022/internal/lab5" ) func main() { @@ -15,4 +16,16 @@ func main() { fmt.Println("Чудов Даниил") fmt.Println("17") fmt.Println("Не женат") + myMouse := Lab5.Lab5() + + fmt.Println("Поздравляю, вы собрали свою мышку!!!") + fmt.Println("Имя мышки:", myMouse.GetMouseName()) + fmt.Println("Пол мышки:", myMouse.GetGender()) + age, err := myMouse.GetAge() + if err != nil { + fmt.Println("Ошибка получения возраста:", err) + } else { + fmt.Println("Возраст мышки:", age) + } + fmt.Println("Цвет мышки:", myMouse.GetColor()) } From bdde683ae3fd3f586cec257bc3b64bf00ecef670 Mon Sep 17 00:00:00 2001 From: tovarishchgamma Date: Fri, 19 Jan 2024 21:28:33 +0300 Subject: [PATCH 2/3] Lab5 fix --- golang/internal/lab5/Lab5.go | 7 ------- golang/main.go | 1 - 2 files changed, 8 deletions(-) diff --git a/golang/internal/lab5/Lab5.go b/golang/internal/lab5/Lab5.go index 40cf7d1..da1f5ca 100644 --- a/golang/internal/lab5/Lab5.go +++ b/golang/internal/lab5/Lab5.go @@ -54,12 +54,9 @@ func Lab5() *Mouse { fmt.Println("Выберите пол:") fmt.Println("1. Девочка") fmt.Println("2. Мальчик") - var GenderChoice int fmt.Scanln(&GenderChoice) - var Gender string - switch GenderChoice { case 1: Gender = "Девочка" @@ -68,7 +65,6 @@ func Lab5() *Mouse { default: fmt.Println("Я конечно всё понимаю...но боевой вертолёт") } - MyMouse := Mouse{} MyMouse.SetGender(Gender) @@ -77,7 +73,6 @@ func Lab5() *Mouse { fmt.Println("1. Гаечка") fmt.Println("2. Сирень") fmt.Println("3. Марта") - var nameChoice int fmt.Scanln(&nameChoice) @@ -97,7 +92,6 @@ func Lab5() *Mouse { fmt.Println("1. Болт") fmt.Println("2. Шуруп") fmt.Println("3. Гвоздь") - var nameChoice int fmt.Scanln(&nameChoice) @@ -117,7 +111,6 @@ func Lab5() *Mouse { fmt.Println("Введите возраст мышки:") fmt.Scanln(&AgeChoice) MyMouse.SetAge(AgeChoice) - fmt.Println("Какого цвета ваша мышка:") fmt.Println("1. Коричневая") fmt.Println("2. Чёрная") diff --git a/golang/main.go b/golang/main.go index 6599fb7..9ed0a1f 100644 --- a/golang/main.go +++ b/golang/main.go @@ -17,7 +17,6 @@ func main() { fmt.Println("17") fmt.Println("Не женат") myMouse := Lab5.Lab5() - fmt.Println("Поздравляю, вы собрали свою мышку!!!") fmt.Println("Имя мышки:", myMouse.GetMouseName()) fmt.Println("Пол мышки:", myMouse.GetGender()) From 62dc2f5d32ef8c00a8df6235908ddfbdfba42907 Mon Sep 17 00:00:00 2001 From: tovarishchgamma Date: Fri, 19 Jan 2024 21:31:43 +0300 Subject: [PATCH 3/3] Lab5 fix2 --- golang/internal/lab5/Lab5.go | 1 - 1 file changed, 1 deletion(-) diff --git a/golang/internal/lab5/Lab5.go b/golang/internal/lab5/Lab5.go index da1f5ca..e3d1859 100644 --- a/golang/internal/lab5/Lab5.go +++ b/golang/internal/lab5/Lab5.go @@ -86,7 +86,6 @@ func Lab5() *Mouse { default: fmt.Println("Имя не имя") } - } else if Gender == "Мальчик" { fmt.Println("Выберите вариант:") fmt.Println("1. Болт")