Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2022, 20:56   #1
Максим 3550
 
Регистрация: 25.10.2022
Сообщений: 4
Восклицание Задание по с++

Как выполнить задание, тему плохо понял, времени в обрез, надо сдать.
ЗАДАНИЕ
Мы предлагаем вам написать некоторый функционал для вендинговой машины (торговый автомат, со снеками (англ. snack — «лёгкая закуска») или чем-то еще), используя изученный в этом модуле материал.

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

Главным требованием является возможность использования классов следующим образом:

int main(){
Snack *bounty = new Snack("Bounty");
Snack *snickers = new Snack("Snickers");
SnackSlot *slot = new SnackSlot(10/*количество батончиков, которые помещаются в слот*/);
slot->addSnack(bounty); //Добавляем батончик в слот
slot->addSnack(snickers);
VendingMachine* machine = new VendingMachine(slotCount /*Количество слотов для снеков*/);
machine->addSlot(slot); // Помещаем слот обратно в аппарат

cout << machine->getEmptySlotsCount(); // Должно выводить количество пустых слотов для снеков
delete machine;
delete slot;
delete snickers;
delete bounty;
}

Задание следует выполнять в установленной среде разработки, создав под него новый проект.

Ваш код будет оцениваться ментором курса, а значит, вы сможете получить вместе с баллом развёрнутый комментарий эксперта. Оцениваться задание будет максимум в баллов по трём критериям:

Использование принципа инкапсуляции (модификаторы доступа, геттеры и сеттеры);
Реализация функционала максимально приближена к техническому заданию (реализованы классы, все необходимые функции, конструкторы и деструкторы при необходимости);
Оформление кода (использованы .h и .cpp файлы).


Вот часть моего кода
#pragma once

#include <iostream>



using namespace std;



class Snack

{

public:

void SnackProp(const char* name, short cost, int calories);

private:

const char* SnackName;

short SnackCost;

int SnackCalories;

};



class SnackSlot

{

public:

void addSnack(const char* SnackName, short SnackCount);

private:

const char* VendingMachineName;

short SnackCount;

};



class VendingMachine

{

public:

void VendingMachineProp(const char* name, short slotCount);

private:

const char* VendingMachineName;

short VendingMachineSlotCount;

public:

int getEmptySlotsCount();

void addSlot();

};


#include "Header.h"

#include<iostream>



using namespace std;



void Snack::SnackProp(const char* name, short cost, int calories)

{

SnackName = name;

SnackCost = cost;

SnackCalories = calories;

}

#pragma once
#include <iostream>

using namespace std;

namespace study
{
class Module
{
public:

Module(const char* name, short slot, short snickers, short bounty);
Module(const char* name, short slot);
Module(const char* name);
Module(const Module& other);

~Module() = default;

Module& operator++();
Module& operator--();

friend ostream& operator<<(ostream& output, const Module& m);

const char* getModuleName() const;
void setModuleName(const char* value);

short getSlotCount() const;
void setSlotCount(short value);

short getSnickersCount() const;
void setSnickersCount(short value);

short getBountyCount() const;
void getBountyCount(short value);

void setBountyCount(short value);

private:
const char* moduleName;
short SlotCount;
short SnickersCount;
short BountyCount;
};

}



Последний раз редактировалось Максим 3550; 25.10.2022 в 21:29.
Максим 3550 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тестовое задание на PHP - как лучше попросить оплату за тестовое задание? vinniepooh Свободное общение 2 23.07.2020 23:06
Тех задание stanislav77 Фриланс 0 31.01.2019 15:25
Задание на проверку.Задание:Изменить порядок следования элементов массива на обратный. Valiev1 Помощь студентам 1 26.10.2015 20:06
Задание МФУ Наталья Баева Помощь студентам 11 26.10.2013 20:32
Запутаное задание задание с массивом.Буду очень благодарен. Riko1 Общие вопросы C/C++ 2 22.10.2011 10:23