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

Можете скомпилировать и сказать работает ли? - C++

Восстановить пароль Регистрация
 
Doctor_
 Аватар для Doctor_
232 / 232 / 69
Регистрация: 03.02.2011
Сообщений: 1,405
16.03.2012, 20:32     Можете скомпилировать и сказать работает ли? #1
Не хочу качать компилятор для 4-5 заданий, точнее занимали бы они меньше места как, например, Dev-CPP для С.
Можете скомпилировать данный код и сказать работает он вообще или нет? Если нет то какие сообщения выдает.
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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
#include <iostream.h>
#include <string.h>
#include <cstring.h>
#include <conio.h>
 
class OverflowException {
      public:
             OverflowException() {
               cout << endl << "Exception created!" << endl;
             }
             OverflowException(OverflowException&) {
               cout << "Exception copied!" << endl;
             }
             ~OverflowException() {
               cout << "Exception finished!" << endl;
             }
};
 
class Article {
      protected:
           string Kod;
           string Nosaukums;
           float Cena;
      public:
           Article();
           Article(string,string,float);
           virtual ~Article() {
                   cout << "Message from the \"Article\" - destroyed!" << endl;
      }  
       
      string GetKod() const {
             return Kod;
             }
      
      void SetKod(const Kod) {
           this->Kod=kod;
           }
                      
      string GetNosaukums() const {
             return Nosaukums;
             }
             
      void SetNosaukums(const Nosaukums) {
           this->Nosaukums=Nosaukums;
           }
      
      float GetCena() const;
      void SetCena(float);
      virtual void Print() const;
};  
 
class Book : public Article {
      private:
          string Autors;
      public:
          Book():Article(), Autors(0) {
              }
          Book(string,string,float,string);
          virtual ~Book() {
                  cout << endl << "Message from the \"Book\" - destroyed!" << endl;
                  }
          
          string GetAutors() const {
                 return Autors;
                 }
          
          void SetAutors(string Autors) {
               this->Autors=Autors;
               }
               
          virtual void Print() const;
};
 
class BookShop {
      private:
              typedef Book* EPointer;
              EPointer *Nodes;
              static const unsigned int DEG_MAX_LENGHT;
              unsigned int MaxLenght;
                unsigned int Lenght;
                
              public:
                 BookShop(): MaxLenght(DEF_MAX_LENGHT), Lenght(0) {
                    Nodes = new EPointer[MaxLenght];
                    }
                    BookShop(unsigned int MaxLenght) : MaxLenght(MaxLenght), Lenght(0) {
                       Nodes = new EPointer[MaxLenght];
                    }
                    ~BookShop();
                    static unsigned int GetDefaultMaxLenght() {
                           return DEF_MAX_LENGHT;
                    }
                    int GetMaxLenght() const {
                        return MaxLenght;
                    }
                    int GetLenght() const {
                        return Lenght;
                    }
                    void AddNode(const Book&);
                    
                    void Add(const Book&);
                    float GetMaxPrice();
                    void Print() const;
};
const unsigned int BookShop:DEF_MAX_LENGHT = 5;
Article::Artcile() : Kod("12qw"), Nosaukums("Vardnica"),Cena(12.55) {
                   }
                   
Article::Article(string Pkod, string Pnosaukums, float Pcena): Kod(Pkod) {
                        Nosaukums=Pnosaukums;
                        Gads=Pcena;
                        }
 
inline float Article:GetCena() const {
       return Cena;
}
       
inline void Article::SetCena(float Gads) {
       this->Cena=Cena;
}
 
inline void Article::Print() const {
       cout<<"Kod: " << Kod <<", Nosaukums: " << Nosaukums << ", Cena: " << Cena;
}
 
Book::Book(string Kod, string Nosaukums, float Cena, string Pautors) : Article(Kod,Nosaukums,Cena) {
          Autors=Pautors;
}        
       
inline void Book::Print() const {
       Article::Print();
       cout << "Autors: " << Autors;
}
 
BookShop::~BookShop() {
     for(unsigned int i=0;i<Lenght;i++)
     delete Nodes[i];
     delete [] Nodes;
     }
 
void BookShop::Print() const {
     cout << "Dati par gramatam un gramatnicu: " << endl;
     for(unsigned int i=0;i<Lenght;i++) {
                  cout << (i+1) << ". ";
                  Nodes[i]->Print();
                  cout << "." << endl;
     }
}
 
void BookShop:AddNode(const Book& Node) {
     if(Lenght==MaxLenght)
     throw OverflowException();
     else
     Nodes[Lenght++] = new Book(Node.GetKod(),Node.GetNosaukums(),Node.GetCena(),Node.GetAutors());
}
 
float BookShop::GetMaxPrice()
      {
          float Cena;
          Cena=Nodes[0]->GetCena();
          for(int i=1;i<Lenght;i++)
          if(Nodes[i]->GetCena()<Cena)
          {
             Cena=Nodes[i]->GetCena();
             }
          return Cena;
      }  
 
void main(void) {
     BookShop *Line = new BookShop(2);
     Book *B1 = new Book("43rt","Dienasgramata",2.45,"Liene");
     Book B2("56qw","Romans",6.67,"Andris");
     
     try 
     Line->AddNode(*B1);
     cout << "--- Error: maximal lengh exceede! ---" << endl;
     }
     catch (...) { 
           cout << "Unknown error!" << endl;
           }
           delete B1;
           
     cout << " Default maximal lenght(from class)= " << BookShop::GetDefaultMaxLenght() << "." << endl;
     cout << "Default maximal lenght (from object)= " << Line->GetDefaultMaxLenght() << "." << endl;
     cout << "Maximal lenght= " << Line-> GetMaxLenght() << "." << endl;
     cout << "Current lenght= " << Line->GetLenght() << "." << endl;
     
     try {
         Line->AddNode(B2);
         cout << "New node addes successfully!" << endl;
         }
         
         catch (OverflowException&) {
               cout <<"--- Error: maximal lenght exceeded! ---" << endl;
               }
               
         catch (...) {
               cout << "Unknown error!" << endl;
               }
         
     try {
         Line->AddNode(B2);
         cout << "New node addes successfully!" << endl;
         }
         
         catch (OverflowException&) {
               cout <<"--- Error: maximal lenght exceeded! ---" << endl;
               }
               
         catch (...) {
               cout << "Unknown error!" << endl;
               }
     
    Line->Print();
    cout << "Maksimala cena ir= " << (Line->GetMaxPrice());
    delete Line;
 
while (kbhit())
getch();
getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
16.03.2012, 20:40     Можете скомпилировать и сказать работает ли? #2
http://liveworkspace.org/code/8c737e...9b6b3b33adbb54
Doctor_
 Аватар для Doctor_
232 / 232 / 69
Регистрация: 03.02.2011
Сообщений: 1,405
16.03.2012, 20:43  [ТС]     Можете скомпилировать и сказать работает ли? #3
Цитата Сообщение от Kastaneda Посмотреть сообщение
так я пробовал, он там на iostream ругается
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
16.03.2012, 20:44     Можете скомпилировать и сказать работает ли? #4
iostream без .h

Добавлено через 37 секунд
и cstring тоже
Doctor_
 Аватар для Doctor_
232 / 232 / 69
Регистрация: 03.02.2011
Сообщений: 1,405
16.03.2012, 20:46  [ТС]     Можете скомпилировать и сказать работает ли? #5
Цитата Сообщение от Taras_Z Посмотреть сообщение
iostream без .h

Добавлено через 37 секунд
и cstring тоже
и он сразу кучу ошибок выдает, есть одна программка написана так же, переменные другие, знаю что она работает 100%, но там нет

плюс ругается на cionio.h
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
16.03.2012, 21:14     Можете скомпилировать и сказать работает ли? #6
Цитата Сообщение от Doctor_ Посмотреть сообщение
и он сразу кучу ошибок выдает
Осмелюсь предположить, что это происходит потому, что в коде есть ошибки

Цитата Сообщение от Doctor_ Посмотреть сообщение
плюс ругается на cionio.h
Да, там похоже GCC, просто убери conio.h и getch(), kbhit() из кода, в данном случае они не принципиальны.

можешь еще здесь http://codepad.org/ta8HLLaA пробовать.

Добавлено через 10 минут
В общем в коде просте до%@ра опечаток и синтаксических ошибок. Часть я исправил http://liveworkspace.org/code/e9c5c6...fee8fa55e7c71a но еще много осталось.
Doctor_
 Аватар для Doctor_
232 / 232 / 69
Регистрация: 03.02.2011
Сообщений: 1,405
16.03.2012, 22:21  [ТС]     Можете скомпилировать и сказать работает ли? #7
Вроде исправил все ошибки, но на ругается на первый class
http://liveworkspace.org/code/dd16d7...9ea87d1fd5bf07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2012, 08:13     Можете скомпилировать и сказать работает ли?
Еще ссылки по теме:

Можете сказать, я правильно понял задание? C++
C++ можете привести пример программы со структурой данных, и объяснить как она работает
Можете объяснить, как работает следующая проверка (на ввод букв)? C++

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

Или воспользуйтесь поиском по форуму:
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
17.03.2012, 08:13     Можете скомпилировать и сказать работает ли? #8
вот, все работает
http://liveworkspace.org/code/c9b219...28f38b356fa113
конструктор копирования имеет прототип
C++
1
className(const className&);
а у тебя было без const, так работает далеко не во всех компиляторах.
Yandex
Объявления
17.03.2012, 08:13     Можете скомпилировать и сказать работает ли?
Ответ Создать тему
Опции темы

Текущее время: 09:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru