Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 16.09.2020, 17:49   #1
Александр222
 
Регистрация: 15.04.2020
Сообщений: 7
Вопрос Класс "Товары" С++

Текст задачи:
Создать класс Goods (товар). В классе должны быть представлены данные−члены: наименование товара, дата оформления, цена товара, количество единиц товара, номер накладной, по которой товар поступил на склад. Реализовать методы изменения цены товара, изменения количества товара (увеличения и уменьшения), вычисления стоимости товара. Метод toString() должен выдавать в виде строки стоимость товара.

Код, который удалось написать:
1)Goods.h
Код:
#include <string>
#include <iostream>

#ifndef GOODS_H
#define GOODS_H

using namespace std;

class Goods
{
    private:

        string name;   //название
        string date;    //дата оформления
        int price;       //цена
        int amount;   //количество
        int number;   //номер накладной

    public:

        //конструктор по умолчанию
        Goods()
        {
            name = "";
            date = "";
            price = 0;
            amount = 0;
            number = 0;

        }

        //конструктор с параметрами
        Goods(string s1, string s2, int p, int a, int n)
        {
            name = s1;
            date = s2;
            price = p;
            amount = a;
            number = n;
        }
};


#endif // GOODS_H
2)Goods.cpp
Код:
#include "Goods.h"

using namespace std;

Goods::Goods()
{
     //получить название товара
        string GetName()
        {
            return name;
        }

        //задать название товара
        void SetName(string s)
        {
            name = s;
        }

        //получить дату оформления
        string GetDate()
        {
            return date;
        }

        //задать дату оформления
        void SetDate(string s)
        {
            date = s;
        }

        //получить цену товара
        int GetPrice()
        {
            return price;
        }

        //задать цену товара
        void SetPrice(int p)
        {
            price = p;
        }

        //получить количество товара
        int GetAmount()
        {
            return amount;
        }

        //задать количество товара
        void SetAmount(int a)
        {
            amount = a;
        }

        //получить номер накладной
        int GetNumber()
        {
            return number;
        }

        //задать номер накладной
        void SetNumber(int n)
        {
            number = n;
        }

        //получить цену товара в виде строки
        string ToStringPrice()
        {
            string s = "";
            int i;

            for (i = price; i > 9; i /= 10) s += to_string(i % 10);

            s += to_string(i);
            reverse(s.begin(), s.end());
            return s;
        }

        //получить общую стоимость
        int GetTotalCost()
        {
            return price * amount;
        }

        //получить стоимость заданного числа товара
        int GetCost(int n)
        {
            return price * n;
        }

        //количество товара увеличить на заданное число
        void AmountIncrease(int n)
        {
            amount += n;
        }

        //количество товара уменьшить на заданное число
        void AmountDecrease(int n)
        {
            amount -= n;
        }

    //ctor
}
Вопросы:
a) Что я должен написать в аргументах конструктора (Goods::Goods())?
б)Как мне реализовать ввод через cin?
в)Верен ли написанный код, что переделать?

P.S. ООП начал изучать недавно, за глупые вопросы извиняюсь)

Последний раз редактировалось BDA; 17.09.2020 в 20:59.
Александр222 вне форума Ответить с цитированием
Старый 17.09.2020, 11:47   #2
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 242
По умолчанию

Александр222,

вот компилирующаяся версия. Экспериментируй на ней ))
https://onlinegdb.com/SJg_MjeSv

(жми fork this)
Алексей1153 вне форума Ответить с цитированием
Старый 17.09.2020, 13:02   #3
Александр222
 
Регистрация: 15.04.2020
Сообщений: 7
По умолчанию

Понял, спасибо)
Александр222 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не читаемые символы при чтении файла из структуры "Товары" nightofpromises Visual C++ 1 20.06.2017 23:47
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" Бахтиёр1916 Windows 1 05.04.2017 12:53
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" link90 Общие вопросы C/C++ 2 27.03.2016 12:34
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 16:40


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840