Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 29.09.2015
Сообщений: 1
1

Организовать цикл худения и кормежки жирафа

11.05.2016, 15:22. Просмотров 846. Ответов 2
Метки нет (Все метки)

Если кому нетрудно написать, помогите решить эту задачу

Сделать через конструктор (2 класса) , жираф (1 класс) , весит 1000кг, каждую секунду он худеет на 3кг, как только он достигает веса 940кг, смотритель (2) дает ему 70кг корма, в консольку должен выводиться цикл.
Для очистки консоли использовать System cls.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2016, 15:22
Ответы с готовыми решениями:

Цикл: Как грамотно организовать цикл с получением количества верных и неверных ответов?
Доброго времени суток, товарищи. Вот есть у меня два рандомно генерируемых числа, проверка...

Цикл: Организовать цикл расчёта текущего члена ряда и текущей суммы ряда, используя их предыдущие значения.
Ввести переменную X с клавиатуры, задать начальные значения для члена ряда, суммы ряда....

Нарисовать цветы, слона, ежа, жирафа, скунса
В общем, нужно в короткие сроки (лучше сейчас) сделать много программ, но они простые, но их нужно...

Организовать цикл
Организовать цикл для х, заданного в интервале от -3 до 8 с шагом 0.4. Подсчитать число повторений...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
2
Просто Лис
Эксперт Python
4246 / 2656 / 911
Регистрация: 17.05.2012
Сообщений: 7,916
Записей в блоге: 9
11.05.2016, 18:02 2
Лучший ответ Сообщение было отмечено Cheize как решение

Решение

C++
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
#include <iostream>
using namespace std;
 
 
class Class1 {
private:
    int _;
    
public:
    Class1() {
        _ = 1000;
    }
    
    void tick() {
        _ -= 3;
        cout << "Жираф весит " << _ << " кг." << endl;
    }
    
    int get() {
        return _;
    }
    
    void eat(int a) {
        _ += a;
    }
};
 
class Class2 {
public:
    void _(Class1 *a1, int a2) {
        a1->eat(a2);
        cout << "Смотритель дал жирафу " << a2 << " кг. еды" << endl;
    }
};
 
int main(){
    Class1 *a1 = new Class1();
    Class2 *a2 = new Class2();
    while (1){
        a1->tick();
        if (a1->get() <= 940) {
            a2->_(a1, 70);
        }
    }
}
0
670 / 286 / 99
Регистрация: 04.07.2014
Сообщений: 807
11.05.2016, 22:30 3
Cheize, Читаем сказку:

C++
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
#include <iostream>
#include <chrono>
#include <thread>
 
class Giraffe {
  double m_weight;
  double m_lose_weight;
 
public:
  Giraffe(double weight = 1000, double lose_weight = 3)
      : m_weight(weight)
      , m_lose_weight(lose_weight)
  {};
 
  void slim() { m_weight -= m_lose_weight; };
 
  void eat(double food_weight) { m_weight += food_weight; };
 
  double getWeight() { return m_weight; };
};
 
class Caretaker {
  Giraffe *m_giraffe;
  double m_minimum_giraffe_weight;
  double m_food_weight_for_giraffe;
 
public:
  Caretaker(Giraffe *giraffe,
            double minimum_giraffe_weight = 940,
            double food_weight_for_giraffe = 70)
      : m_giraffe(giraffe)
      , m_minimum_giraffe_weight(minimum_giraffe_weight)
      , m_food_weight_for_giraffe(food_weight_for_giraffe)
  {};
 
  enum class WatchResult { DidNothing, FedGiraffe };
 
  WatchResult watch()
  {
    if (m_giraffe->getWeight() <= m_minimum_giraffe_weight) {
      m_giraffe->eat(m_food_weight_for_giraffe);
      return WatchResult::FedGiraffe;
    } else {
      return WatchResult::DidNothing;
    }
  };
};
 
int main()
{
  Giraffe giraffe;
  Caretaker caretaker = Caretaker(&giraffe);
  uint64_t i = 1;
 
  while (true) {
    std::cout << "Этап №" << i << "\n";
    std::cout << "  Жираф весит: " << giraffe.getWeight() << " кг\n";
    std::cout << "  Жираф худеет\n";
    giraffe.slim();
    std::cout << "  Теперь он весит: " << giraffe.getWeight() << " кг\n";
    auto result = caretaker.watch();
    if (result == Caretaker::WatchResult::FedGiraffe) {
      std::cout << "  Смотритель заметил, что жираф слишком похудел и покормил его\n";
      std::cout << "  Теперь жираф весит: " << giraffe.getWeight() << " кг\n";
    };
 
    std::this_thread::sleep_for(std::chrono::milliseconds(1000));
    ++i;
  };
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2016, 22:30

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

организовать цикл
Пожалуйста помогите организовать цикл: while ((A!+a) &amp;&amp; (A!+b)) { далее подряд идут 4...

Организовать цикл
Здравствуйте! Помогите пожалуйста с решением. Нужно из строки StrBuff удалить все элементы массива...

Организовать цикл
Добрый день! Помогите, пожалуйста! Решаю одну задачу. Всю задачу не буду рассказывать. На...

Организовать цикл
как в маткаде организовать такой цикл? int count = 4; int whole = 4;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.