package cli import ( "fmt" "my/schet/pkg/schet" ) type CLI struct { год *schet.Год } func NewCLI() *CLI { c := &CLI{} return c } func (c *CLI) Печать(год *schet.Год) error { c.год = год fmt.Printf("## Год: %v\n", c.год.Год()) err := c.кварталы() if err != nil { return err } return nil } func (c *CLI) кварталы() error { цели := c.год.Цели() for _, k := range цели.Кварталы { c.квартал(k) } return nil } func (c *CLI) квартал(k *schet.Квартал) error { fmt.Printf("### к%v\n\n", k.Номер()) fmt.Printf("- [ ] ОПС: %v р.\n", k.ОПС.Сумма()) пр, err := k.ПроцентСверх300тр() if err != nil { fmt.Printf("- [ ] 1пр свыше 300тр: ошибка: %v\n", err) return err } fmt.Printf("- [ ] 1пр свыше 300тр: %v р.\n", пр) fmt.Printf("- [ ] УСН: %v р.\n", k.УСН.Сумма()) fmt.Printf("==================================\n\n") return nil } // func (g *CLI) Квартал(in int) (k *Квартал, e error) { // return g.цели.Квартал(in) // } // func (g *CLI) ДобавитьДоход(доход float64, i int) error { // k, err := g.Квартал(i) // if err != nil { // return err // } // g.доход += доход // return k.ДобавитьДоход(доход) // } // func (g *CLI) Доход() float64 { // return g.доход // } // func (g *CLI) ПроцентСверх300тр() (float64, error) { // return ПроцентСверх300тр(g.доход), nil // } // func (g *CLI) Сверх300трвКвартале(квартал int) (float64, error) { // сумматор := NewСумматор300тр() // for i := НомерПервогоКвартала; i <= квартал; i++ { // k, err := g.Квартал(i) // if err != nil { // return 0, err // } // сумматор.ДобавитьКвартал(k.доход) // } // return сумматор.Квартал(квартал) // }