Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Caaake
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 11
#1

Программа-магазин - C++

21.06.2013, 19:24. Просмотров 1022. Ответов 9
Метки нет (Все метки)

Ребят, есть задание:
Кликните здесь для просмотра всего текста

САМЫЙ ЧТО НИ НА ЕСТЬ ОБЫЧНЫЙ МАГАЗИН

В задании 7 классов. Четыре абстрактных: Товар, Одежда, На ноги, На руки. Три обычных: Обувь, Носки, Перчатки.

ОПИСАНИЯ КЛАССОВ

Класс "Товар"

Свойства:
- артикул.
- цена
Методы:
- установить артикул
- установить цену
- выдать артикул
- выдать цену
- показать всю информацию о товаре
- посчитать оптимальную цену. Должны учитываться категория товара, размер, материал и т.д.

Класс "Одежда"

Свойства:
- марка. Это свойство влияет на рекомендуемую цену. Установите зависимость сами.
- название
Методы:
- установить марку
- установить название
- выдать марку
- выдать название

Класс "На руки"

Свойства:
- размер. Буквенное обозначение (XS, S, M, L, XL, XXL). Это свойство влияет на рекомендуемую цену. Установите зависимость сами.
Методы:
- установить размер
- выдать размер

Класс "Перчатки"

Свойства:
- с пальцами или без. Это свойство влияет на рекомендуемую цену. Установите зависимость сами.
Методы:
- установить с пальцами или без
- выдать с пальцами или без

Класс "На ноги"

Свойства:
- размер. Обозначение цифрами (35 - 45). Это свойство влияет на рекомендуемую цену. Установите зависимость сами.
Методы:
- установить размер
- выдать размер

Класс "Носки"

Свойства:
- материал основы. Это свойство влияет на рекомендуемую цену. Установите зависимость сами.
Методы:
- установить материал основы
- выдать материал основы

Класс "Обувь"

Свойства:
- материал колодки. Это свойство влияет на рекомендуемую цену. Установите зависимость сами.
Методы:
- установить материал колодки
- выдать материал колодки

ОПИСАНИЕ ИЕРАРХИИ НАСЛЕДОВАНИЯ

Наследование Одежда ---> На ноги

Наследуются все свойства и методы

Наследование Одежда ---> На руки

Наследуются все свойства и методы.

Наследование На ноги ---> Носки

Наследуются все свойства и методы.

Наследование На руки ---> Перчатки

Наследуются все свойства и методы.

Наследование Товар ---> Носки

Наследуются все свойства и методы. Переопределяются методы "Посчитать оптимальную цену" и "Показать всю информацию о товаре".

Наследование Товар ---> Перчатки

Наследуются все свойства и методы. Переопределяются методы "Посчитать оптимальную цену" и "Показать всю информацию о товаре".

Наследование Носки ---> Обувь

Наследуются все свойства и методы. Переопределяются методы "Посчитать оптимальную цену" и "Показать всю информацию о товаре".

Вот написанный код:
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
class Goods
{
protected:
int article;
double cost;
public:
int GetArticle()
{
return article;
}
 
void SetArticle(int value)
{
article = value;
}
 
double GetCost()
{
return cost;
}
 
void SetCost(double value)
{
cost = value;
}
 
virtual char* GetInfo()
{
char* tmp;
sprintf(tmp, "Article: %d\nCost: %d\n", article, cost); 
return tmp;
}
 
virtual double GetOptimalCost();
};
 
class Clothes
{
protected:
int mark;
char* name;
public:
int GetMark()
{
return mark;
}
 
void SetMark(int value)
{
mark = value;
}
 
char* GetName()
{
return name;
}
 
void SetName(char* value)
{
name = value;
}
};
 
class OnFoot: public Clothes
{
private:
int size;
public:
int GetSize()
{
return size;
}
 
void SetSize(int value)
{
size = value;
}
};
 
class OnHand: public Clothes
{
private:
char* size;
public:
char* GetSize()
{
return size;
}
 
void SetSize(char* value)
{
size = value;
}
};
 
class Gloves: public OnHand, public Goods
{
private:
bool polen;
public:
bool GetPolen()
{
return polen;
}
 
void SetPolen(bool value)
{
polen = value;
}
 
virtual char* GetInfo()
{
char* tmp;
sprintf(tmp, "Article: %d\nCost: %d\nMark: %d\nName: %s\nWith polen: " + GetPolen() ? "yes" : "no\n", GetArticle(), GetCost(), GetMark(), GetName());
}
 
virtual double GetOptimalCost()
{
return GetCost() + GetMark() * 30 + GetPolen() ? 100 : 0; 
}
};
 
class Socks: public OnFoot, public Goods
{
private:
int materialOfBasis;
public:
int GetMaterialOfBasis()
{
return materialOfBasis;
}
 
void SetMaterialOfBasis(int value)
{
materialOfBasis = value;
}
 
virtual char* GetInfo()
{
char* tmp;
sprintf(tmp, "Article: %d\nCost: %d\nMark: %d\nName: %s\nMaterial of basis: %d\n", GetArticle(), GetCost(), GetMark(), GetName(), GetMaterialOfBasis());
}
 
virtual double GetOptimalCost()
{
return GetCost() + GetMark() * 30 + GetMaterialOfBasis() * 40; 
}
};
 
class Shoes: public Socks
{
private:
int materialOfShoes;
public:
int GetMaterialOfShoes()
{
return materialOfShoes;
}
 
void SetMaterialOfShoes(int value)
{
materialOfShoes = value;
}
 
virtual char* GetInfo()
{
char* tmp;
sprintf(tmp, "Article: %d\nCost: %d\nMark: %d\nName: %s\nMaterial of basis: %d\nMaterial of shoes: %d\n", GetArticle(), GetCost(), GetMark(), GetName(), GetMaterialOfBasis(), GetMaterialOfShoes());
}
 
virtual double GetOptimalCost()
{
return GetCost() + GetMark() * 30 + GetMaterialOfBasis() * 40 + GetMaterialOfShoes() * 50; 
}
};
 
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
Не подскажете, в чем ошибки?)
0
Миниатюры
Программа-магазин  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2013, 19:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа-магазин (C++):

Магазин в консоли - C++
#include<iostream> using namespace std; class system_bloc { private: char *proc ; int cina_proc; char *mother; int...

Что такое магазин? - C++
Подскажите что такое магазин? Как я понял - это что-то типо стека?

Магазин - начислить премию от объема продаж - C++
Магазин продал продукции за квартал (январь, февраль, март). Значение продажу за каждый месяц вводится с клавиатуры. Для магазина...

Сколькими способами человек может попасть в магазин - C++
МАГАЗИН На расстоянии N шагов от магазина стоит человек. Каждую минуту он выбирает, куда сделать шаг: к магазину или в противоположном...

Построить иерархию классов: Аптека, Магазин, Гастроном - C++
:hysteric:Практическое задание "Наследование" Построить иерархию классов: Аптека, Магазин, Гастроном. Один класс должен быть...

Создать на форме чат, форум и интернет магазин - C++
Задали создать, чат, форум и интернет магазин(. отдельные программы), на форме, с кнопочками, надписями местами для ввода данных, и для...

9
MrGluck
Модератор
Эксперт CЭксперт С++
7492 / 4607 / 693
Регистрация: 29.11.2010
Сообщений: 12,605
21.06.2013, 19:30 #2
@Caaake, неправильная скорее всего у вас схема. Иначе выходит, что все свойства должны быть открытыми, собственно для чего тогда классы?

Добавлено через 53 секунды
Что за классы "На руки", "На ноги" ?
0
Caaake
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 11
21.06.2013, 23:29  [ТС] #3
@MrGluck, схема - дурдом (разве разумный человек будет эдакое писать?). это университетское задание :/
0
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
21.06.2013, 23:56 #4
+1 Переделайте схему, у вас вы ходит что обувь, это носки, которые на ноги (кроме того что они ещё и товар), которые одежда. Бредятина = )
0
Caaake
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 11
22.06.2013, 00:01  [ТС] #5
@Демик, на пост выше, пожалуйста.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7492 / 4607 / 693
Регистрация: 29.11.2010
Сообщений: 12,605
22.06.2013, 00:20 #6
@Caaake, без 100 грамм тут не разобраться

Вот с этим
Цитата Сообщение от Caaake Посмотреть сообщение
разве разумный человек будет эдакое писать?
я согласен. Помог бы вам, но хрен поймет как эти классы должны друг от друга методы наследовать. По коду скажу вот что: protected быть не должно, он обозначается # (private -), здесь же везде +
А если выучить материал, подойти к преподу и обосновать почему он не прав тет а тет?
Могу выложить свои нормальные лекции по UML.
1
Caaake
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 11
22.06.2013, 00:23  [ТС] #7
@MrGluck, благодарю за отклик. лекции не нужны, спасибо
0
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
22.06.2013, 00:58 #8
@Caaake, вообще-то я отвечал топик стартеру, а не вам, как вы могли ошибиться?=)

Добавлено через 8 минут
@Caaake, Все, понял. Признаю, я дурак = ). Ну если схема нарисована не вами то, вопросов нет = )
1
Croessmah
22.06.2013, 01:00
  #9

Не по теме:

Удивило, что обувь - это разновидность носок судя по схеме

1
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
22.06.2013, 03:37 #10
Ладно в схеме может быть ошибка, но в пояснении к задаче, написано тоже самое что в схеме
0
22.06.2013, 03:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2013, 03:37
Привет! Вот еще темы с ответами:

Описать структуру с полями: товар, цена, количество (Магазин) - C++
. Магазин. Описать структуру с полями: товар, цена, количество. Написать программу, выполняющую следующие действия: • Заполнение массива...

Интернет магазин: Сделать таблицу товаров с раскрывающимися разделами - C++
Подскажите пожалуйста как сделать таблицу товаров с раскрываюшимся разделами примерно как здесь "microtron.com.ua" или ссылку на...

Создать класс, содержащий сведения об ассортименте игрушек в магазин - C++
Помогите решить задачку. вот условие. Создать класс, содержащий сведения об ассортименте игрушек в магазине. класс должен содержать...

Создать иерархию классов для моделирования взаимодействия “Магазин-склад- Заказчик” - C++
Для проверки функционирования созданных классов написать программу, использующую эти классы. В программе должны быть продемонстрированы все...


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

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

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