Форум программистов, компьютерный форум CyberForum.ru

ООП(Класс обработчик определяет количественный состав элементов мебельного изделия и вычисляет площадь и стоимость изделия) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ НОВИЧКУ!Если вы не знаете с чего начать то советую вам Лафоре http://www.cyberforum.ru/cpp-beginners/thread753790.html
Книга - вырезано Подобного рода ссылки на скачивание книг да еще и с файлообменников запрещены! http://www.cyberforum.ru/cpp-beginners/thread152353.html
C++ Какие операции должно поддерживать дерево? На днях решил на C++ закодить дерево. Дерево никакое(небинарное и т.д.) и шаблонное; скорее всего буду лепить в виде STL контейнера с двунаправленными итераторами. Вопрос: какие операции должно(на ваш взгляд) поддерживать такое дерево(удаление, слияние и т.д.)? http://www.cyberforum.ru/cpp-beginners/thread753789.html
C++/CLI WinForms Переменная в программе тестирования не работает
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { int s=0, i=0, vidp, n=0; if(checkBox1->Checked==true)i=1; if(checkBox2->Checked==true)i=2; if(checkBox3->Checked==true)i=3; if(checkBox4->Checked==true)i=4; if(i==vidp)s++; i=0;
Странная вещь с gcc C++
Здравствуйте. наткнулся на странную вещь такого рода: Имею вектор QVector<UINode*> m_nodesVector; Когда пишу так *(m_nodesVector.end()-2)->hide(); Компилятор gcc 4.7.3 ругается и говорит /Users/antonbikineev/QtSDK/C:/Users/Anton/Documents/MatrixCalculator/drawpanel.cpp:31: ошибка: request for member 'hide' in '((DrawPanel*)this)->DrawPanel::m_nodesVector. QVector<T>::end ()', which is of...
C++ Посимвольно считать из переменной строку http://www.cyberforum.ru/cpp-beginners/thread753759.html
Добрый вечер Нам задали написать программу "Азбука МОРЗЕ" Какой функцией считать посимвольно строку, например ".--." Мне нужен цикл while() Только вот ни как не возьму в голову как это реализовать char str; str = ".--."; while(.... str)
C++ Работа сортировки с любыми типами данных Есть вот такая сортировка: typedef struct node_t *node, node_t; struct node_t { int v; node next; }; typedef struct { node head, tail; } slist; void push(slist *l, node e) { if (!l->head) l->head = e; if (l->tail) l->tail->next = e; l->tail = e; подробнее

Показать сообщение отдельно
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
09.01.2013, 02:54     ООП(Класс обработчик определяет количественный состав элементов мебельного изделия и вычисляет площадь и стоимость изделия)
Цитата Сообщение от dimadjs Посмотреть сообщение
Миниатюры
Меняйте с 83 - 176 строку моего послед. кода на этот
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
// Класс обработчик определяет количественный состав элементов мебельного изделия и вычисляет суммарную площадь всего изделия а также стоимость материала
  class Handler //  Обработчик
{
private:          
        Handler(const Handler& root);
        Handler& operator=(const Handler&);
        Handler() 
    {}
 
public:
    static  std::string getName(const FurnitureProduct & furnitureProduct) 
       {
          return  furnitureProduct.getName();
       }
 
    // количественный состав элементов мебельного изделия
static  std::string  getComposition( const FurnitureProduct & furnitureProduct)
    {
          outString.clear() ;
          inElements = furnitureProduct.getElements();
          std::map<std::string, int >   inMap;  
        for(
              std::vector<ElementFurnitureProduct>::iterator it = inElements.begin();
              it != inElements.end(); it++
            )
            inMap[it->getName()]++;
 
            for(
              std::map<std::string, int >::iterator mapit = inMap.begin(); mapit != inMap.end(); mapit++
            )
                {
                      std::stringstream ss;
                      ss << (*mapit).second;
                      outString += (*mapit).first + " : " + ss.str() + "\n";               
                }
        return outString;
       }
 
    // суммарную площадь мебельного изделия
static  std::string  getVolume(const FurnitureProduct & furnitureProduct) 
    {       
        sumVolume = 0;
        inElements = furnitureProduct.getElements();
        // суммарный  объем всех эл-тов         
        for(
              std::vector<ElementFurnitureProduct>::iterator it = inElements.begin();
              it != inElements.end(); it++
            )
            sumVolume +=  ( it->getHeigth() * it->getLength() * it->getWidth() );
    
         std::stringstream ss;
         ss << sumVolume;
         return ss.str();
    }
 
    // стоимость всего материала мебельного изделия
static std::string getPrice( const FurnitureProduct & furnitureProduct )
    {
        sumPrice = 0;
        inElements = furnitureProduct.getElements();
        
        for(
              std::vector<ElementFurnitureProduct>::iterator it = inElements.begin();
              it != inElements.end(); it++
            )
            sumPrice += ( it->getPrice()* it->getHeigth() * it->getLength() *  it->getWidth() );
         std::stringstream ss;
         ss << sumPrice;
         return ss.str();        
    }
 
    private:
            static  int                                  sumVolume;
            static  int                                  sumPrice;
            static  std::string                          outString ;
            static  std::vector<ElementFurnitureProduct> inElements;
};
 
          int                                   Handler::sumVolume;
          int                                   Handler::sumPrice;
          std::string                           Handler::outString ;
          std::vector<ElementFurnitureProduct>  Handler::inElements;
  
    typedef  std::string (*PtrMethods)(const FurnitureProduct & p);
int main()
{       
    const int LEN = 4;
    
    
    PtrMethods  ptrMethods[]  =  { 
                         &Handler::getName,
                         &Handler::getComposition , 
                         &Handler::getVolume,
                         &Handler::getPrice
                       };
 
Текущее время: 13:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru