Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
15 / 15 / 6
Регистрация: 30.11.2016
Сообщений: 101

Создать класс Рецепт

30.11.2016, 18:15. Показов 4088. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Может кто помочь допилить код. А то сил моих больше нет а вемя поджимает.

Реализовать класс “Рецепт”. Класс должен содержать информацию о рецепте
приготовления определенного блюда. Рецепт должен иметь следующие поля:
- Название;
- Тип блюда (холодное/горячее);
- Описание процесса приготовления;
- Список ингредиентов(динамический массив).
Должен быть реализован следующий функционал:
- Задать/получить название рецепта;
- Задать/получить тип блюда;
- Задать/получить описание процесса приготовления;
- Возможность добавить ингредиент(название и вес в граммах);
- Удаление ингредиента по номеру;
- Распечатка всех данных рецепта.
Реализовать возможность просмотра списка рецептов и списка ингредиентов

Это все задание, большую часть я сделал. Затруднение вызывает вот это:
- Список ингредиентов(динамический массив).
- Возможность добавить ингредиент(название и вес в граммах);
- Удаление ингредиента по номеру;
То бишь надо создать функции которые смогут принимать динамический массив ингридиентов и их веса с возможность добавить или удалить ингридиент.
Спасибо за помощь заранее.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2016, 18:15
Ответы с готовыми решениями:

Класс: Рецепт кулинарного изделия...
Помогите с задачей пожалуйста.Не понимаю как наследовать класс или что здесь нужно делать,как передать эти объекты, и как просуммировать...

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ...
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с...

4
15 / 15 / 6
Регистрация: 30.11.2016
Сообщений: 101
30.11.2016, 21:05  [ТС]
Все скомпилировалось но выполнение выдает пустую консольку и все. Аля "нажмите что бы продолжить..." и все

Добавлено через 3 минуты
Написано хорошо но все же не то что нужно... Нужен интерфейс, не ввод данных в коде а с клавиатуры пользователем. а так же возможность менять кол-во ингридиентов (добавлять удалять по номеру).
0
15 / 15 / 6
Регистрация: 30.11.2016
Сообщений: 101
30.11.2016, 21:14  [ТС]
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream>
#include <string>
#include <vector>
class Recipe {
public:
    enum DishTypes 
    {COLD_DISH,
    HOT_DISH};
    std::wstring getName() const;
    void setName(const std::wstring &name_);
    bool getDishType() const;
    void setDishType(const bool &dishType_);
    std::wstring getCookingProcess() const;
    void setCookingProcess(const std::wstring cookingProcess_);
    void addIngredient(std::wstring ingName, const unsigned int &weight);
    void remIngredient(const int &position);
    void print() const;
private:
    std::wstring name;
    bool dishType;
    std::wstring cookingProcess;
    std::vector<std::wstring> ingredients;
};
 
std::wstring Recipe::getName() const
{
    return this->name;
}
 
void Recipe::setName(const std::wstring &name_)
{
    this->name = name_;
}
 
bool Recipe::getDishType() const
{
    return this->dishType;
}
 
void Recipe::setDishType(const bool &dishType_)
{
    this->dishType = dishType_;
}
 
std::wstring Recipe::getCookingProcess() const
{
    return this->cookingProcess;
}
 
void Recipe::setCookingProcess(const std::wstring cookingProcess_)
{
    this->cookingProcess = cookingProcess_;
}
 
void Recipe::addIngredient(std::wstring ingName, const unsigned int &weight)
{
    ingName.append(L" ")
        .append(std::to_wstring(weight))
        .append(L"gr.");
 
    this->ingredients.push_back(ingName);
}
 
void Recipe::remIngredient(const int &position)
{
    this->ingredients.erase(ingredients.begin() + position);
}
 
void Recipe::print() const
{
    std::wcout << this->name << std::endl;
    std::wcout << (this->dishType ? L"Hot" : L"Cold") << L" dish." << std::endl;
    std::wcout << L"Process cooked:\n" << this->cookingProcess << std::endl;
    std::wcout << L"Ingredients:\n" << std::endl;
    std::vector<std::wstring>::const_iterator p = this->ingredients.begin();
    while (p != this->ingredients.end()) {
        std::wcout << getCookingProcess() << std::endl;
        p++;
    }
}
int main()
{
    Recipe olivie;
    olivie.setName(L"Clasic sailet Olivie");
    olivie.setDishType(Recipe::COLD_DISH);
    olivie.setCookingProcess(L"1. Lower the eggs in a pot of water and cook for 7-10 minutes.\n2. Lower the potatoes and carrots in lightly salted water. Cook until tender (about half an hour) ...");
    olivie.addIngredient(L"Boiled sausage (or boiled meat)", 400);
    olivie.addIngredient(L"Mayonnaise", 100);
    olivie.addIngredient(L"Solt", 25);
    olivie.print();
 
    return 0;
}
Миниатюры
Создать класс Рецепт  
0
15 / 15 / 6
Регистрация: 30.11.2016
Сообщений: 101
30.11.2016, 21:15  [ТС]
Ничего не менял только на англ перервел
0
15 / 15 / 6
Регистрация: 30.11.2016
Сообщений: 101
01.12.2016, 10:26  [ТС]
Спасибо, вы очень помогли.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.12.2016, 10:26
Помогаю со студенческими работами здесь

Создать класс - данные - абстрактный базовый класс. Создать производные классы
Всем привет! У меня вот такая проблема.... Создать класс - данные - абстрактный базовый класс. Создать производные классы - данные типа...

[РЕЦЕПТ] Класс для работы с БД
&lt;?php // класс для работы с БД class DBi { public static $conn; public static $lastquery; public static function...

Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо
Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо. Дополнительно есть марка,...

Создать класс комната, имеющая площадь. Создать класс однокомнатных квартир, двухкомнатных и т.д
Создать класс комната, имеющая площадь. Создать класс однокомнатных квартир, двухкомнатных и т.д. Помогите пожалуйста люди добрые, чем...

Создать абстрактный класс «Товар», на его основе создать класс «Автомобиль»
Вечер добрый, а может и не добрый. В изучении C# столкнулся с такой проблемой - как исключения. Имею такую задачу. Создать абстрактный...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru