Структуры: Напишите программу 1

Сообщения
1 471
Реакции
271
Сайт
tehadm.ru
Вам необходимо реализовать структуру со свойствами-полями On, Ammo и Power, с типами bool, int, int соответственно. У этой структуры должны быть методы: Shoot и RideBike, которые не принимают аргументов, но возвращают значение bool.

Если значение On == false, то оба метода вернут false.

Делать Shoot можно только при наличии Ammo (тогда Ammo уменьшается на единицу, а метод возвращает true), если его нет, то метод вернет false. Метод RideBike работает также, но только зависит от свойства Power.

Чтобы проверить, что вы все сделали правильно, вы должны создать указатель на экземпляр этой структуры с именем testStruct в функции main, в дальнейшем программа проверит результат.

Закрывающая фигурная скобка в конце main() вам не видна, но она есть.
 
C-подобный:
type Bike struct {
    On    bool
    Ammo  int
    Power int
}

func (b *Bike) Shoot() bool {
    if !b.On {
        return false
    }
    if b.Ammo > 0 {
        b.Ammo--
        return true
    }
    return false
}

func (b *Bike) RideBike() bool {
    if !b.On {
        return false
    }
    if b.Power > 0 {
        b.Power--
        return true
    }
    return false
}
func main() {
    testStruct := new(Bike)
    // testStruct :=
    /*
     * Экземпляр созданной вами структуры необходимо передать в качестве
     * аргумента функции testStruct, которая выполнит проверку соблюдения
     * всех условий задания/
     */

// }

Полный код:
C-подобный:
package main

type Bike struct {
    On    bool
    Ammo  int
    Power int
}

func (b *Bike) Shoot() bool {
    if !b.On {
        return false
    }
    if b.Ammo > 0 {
        b.Ammo--
        return true
    }
    return false
}

func (b *Bike) RideBike() bool {
    if !b.On {
        return false
    }
    if b.Power > 0 {
        b.Power--
        return true
    }
    return false
}

func main() {
    testStruct := new(Bike)
}
 
Назад
Верх Низ