Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

Программирование на go.

Пожалуйста помогите вот условия :
Итак, у Гоши уже есть задачи, но зачем задачи сами по себе, без списка дел? Помогите Гоше воплотить его мечту и создайте его идеальный список дел.

Напишите структура Note (сущность заметок, у которых в отличие от задач нет чётких дедлайнов и приоритета):

1. title - заголовок (тип string)

2. text - текст заметок (тип string)


Создайте структуру ToDoList с такими полями:

1. name - название списка (тип string)

2. tasks - список дел на сегодня (тип слайс структур Task (из предыдущего задания))

3. notes - список дополнительных заметок (тип слайс структур Note)

Для этой структуры реализуйте методы TasksCount и NotesCount, которые возвращают общее количество задач и заметок соответственно.

Также реализуйте метод CountTopPrioritiesTasks, который возвращает количество приоритетных задач. А также метод CountOverdueTasks, который возвращает количество просроченных задач.

Сама структура Task и все её методы из предыдущего задания также должны быть реализованы в этом.

По дате
По рейтингу
Аватар пользователя
Новичок
9мес

Ты в четвёртый раз за сутки публикуешь один и тот же вопрос, на который только нейросеть и "ответила", да и то только потому, что не понимает смысл задаваемых ей вопросов.

Для написания кода, решающего эту задачу, необходимы текст предыдущей задачи и "твой" Go-код, который предыдущую задачу полностью решает. А раз ты это не публикуешь, то и ответа быть не может.

Нет, эту задачу я решать не буду даже при наличии всех данных - слишком скучная. Но если ты опубликуешь достаточный для её решения объём информации, возможно, всё же найдётся кто-то, кто напишет за тебя код.

Аватар пользователя
Мыслитель
9мес
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
 import "time" 
 
type Note struct { 
    title string 
    text  string 
} 
 
type Task struct { 
    title       string 
    description string 
    priority    int 
    deadline    time.Time 
    completed   bool 
} 
 
func (t *Task) MarkCompleted() { 
    t.completed = true 
} 
 
func (t *Task) IsOverdue(currentTime time.Time) bool { 
    return !t.completed && currentTime.After(t.deadline) 
} 
 
func (t *Task) IsPriority() bool { 
    return t.priority > 3 
} 
 
type ToDoList struct { 
    name  string 
    tasks []Task 
    notes []Note 
} 
 
func (tdl *ToDoList) TasksCount() int { 
    return len(tdl.tasks) 
} 
 
func (tdl *ToDoList) NotesCount() int { 
    return len(tdl.notes) 
} 
 
func (tdl *ToDoList) CountTopPrioritiesTasks() int { 
    count := 0 
    for _, task := range tdl.tasks { 
        if task.IsPriority() { 
            count++ 
        } 
    } 
    return count 
} 
 
func (tdl *ToDoList) CountOverdueTasks(currentTime time.Time) int { 
    count := 0 
    for _, task := range tdl.tasks { 
        if task.IsOverdue(currentTime) { 
            count++ 
        } 
    } 
    return count 
}