Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Aldenro
1

Не могу исправить ошибки

19.10.2012, 20:07. Показов 694. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь учиться, но пока ничего не могу понять. Нет опыта. Пытаюсь наработать. Прошу сильно не бить))

Код программы.

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
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
// Проект Task1_2
///////////////////////////////////////////////////////////
// Point.h
#ifndef POINT_H
#define POINT H
class Point {
public:
// Конструктор
Point(double= 0, double= 0) : х(), у() {}
// Другие методы
void Show() const;
public;
double x, у;
};
#endif /* POINT_H */
///////////////////////////////////////////////////////////
// Point.cpp
#include <iostream>
#include "Point.h"
using namespace std;
void Point::Show() const {
    cout « "("« X «" , "« У « ")";
}
///////////////////////////////////////////////////////////
//triangle
#ifndef TRIANGLE_H
#define  TRIANGLE_H
#include "Point.h"
class Triangle {
public:
Triangle(Point, Point, Point, const char*); // конструктор
Triangle(const char*);// конструктор пустого (нулевого) треугольника
~Triangle();// деструктор
Point Get_v1() const {return v1; } // Получить значение vl
Point Get_v2() const {return v2; } // Получить значение v2
Point Get_v3() const {return v3; } // Получить значение v3
char* GetName() const {return name;} // Получить имя объекта
void Show() const;// Показать объект
void ShowSideAndArea()const;// Показать стороны и площадь объекта
public:
static int count;// количество созданных объектов
private:
char* objID;// идентификатор объекта
char* name;// наименование треугольника
Point v1,v2, v3;// вершины
double a;// сторона, соединяющая v1 и v2
double b;// сторона, соединяющая v2 и v3
double c;// сторона, соединяющая v1 и v3
};
#endif /* TRIANGLE Н */
 
 
//Triangle.срр
// Реализация класса Triangle
#include <math.h>
#include <iostream>
#include <iomanip>
#include <cstring>
//#inclucle "CyrlOS.h" // for Visual C++ 6.0
#include "Triangle.h"
using namespace std;
// Конструктор
Triangle::Triangle(Point _v1, Point _v2, Point _v3, const char* ident)
: v1(_v1), v2(_v2), v3(_v3) {
char buf[16];
objID = new char[strlen(ident) + 1];
strcpy(objID. ident);
count++ ;
sprintf(buf. "Треугольник %d" , count);
name = new char[strlen(buf) + 1 ] ;
strcpy(name, buf);
a = sqrt((v1.x - v2.x) * (v1.x - v2.x) + (v1.y - v2.y) * (v1.y - v2.y));
b = sqrt((v2.x - v3.x) * (v2.x - v3.x) + (v2.y - v3.y) * (v2.y - v3.y));
с = sqrt((v1.x - v3.x) * (v1.x - v3.x) + (v1.y - v3.y) * (v1.y - v3.y));
cout « "Constructor_l for: " « objID
« " (" « name « " ) " « endl; // отладочный вывод
          
}
 
//Конструктор пустого (нулевого) треугольника
Triangle::Triangle(const char* ident) {
char buf[16];
objID = new char[strlen(ident) + 1];
strcpy(objID, ident);
count++;
sprintf(buf,"Треугольник %d", count);
name = new char[strlen(buf) +1];
strcpy(name, buf);
a = b = с =0;
cout «"Constructor_2 for: "«ObjID
 «:"(" « name « ")" endl // отладочный вывод
}
 
 
 
// Деструктор
Triangle::~Triangle() {
cout « "Destructor for: " « objID « endl;
delete [] objID;
delete [] name;
}
 
 
// Показать объект
void Triangle::Show() const {
cout « name « ":";
v1.Show(); v2.Show(); v3.Show();
cout « endl;
}
// Показать стороны и площадь объекта
void Triangle::ShowSideAndArea() const {
double p = (a + b + с) / 2;
double s = sqrt(p * (p - a) *(p - b) *(p - c));
cout « " _______________ " « endl;
cout « name « ":";
cout.precision(4); 
cout « " a= " « setw(5) « a;
cout « ", b= " « setw(5) « b;
cout « ", c= " « setw(5) « c;
cout « ";\ts= " « s « endl;
}
 
 
 
 
///////////////////////////////////////////////////////////
// Main.cpp
#include <iostream>
#include "Triangle.h"
//#include "CyrlOS.h" // for Visual C++ 6.0
using namespace std;
int Menu();
int GetNumber(int, int);
void ExitBack();
void ShowCTriangle* [], int);
void Move(Triangle* [], int);
void FindMax(Triangle*[],int);
void IsIncluded(Triangle*[],int);
 
 
// Инициализация глобальных переменных
int Triangle::count = 0;
 
// главная функция
int main() {
// Определения точек
Point p1(0, 0);
Point p3(1,0);
Point p5(2, 1);
Point p7(2, 2);
Point p2(0.5,1);
Point p4(0,4.5);
Point p6(2, 0);
Point p8(3, 0);
 
 
// Определения треугольников
Triangle triaA(pl, р2, рЗ, "tr1aA");
Triangle triaB(pl, р4, р8, "triaB");
Triangle triaC(pl, p5, p6, "triaC");
Triangle triaD(pl, p7, p8, "triaD");
 
// Определение массива указателей на треугольники
Triangle* pTria[] = { &triaA, &triaB, &triaC, &triaD};
int n = sizeof (pTria) / sizeof (pTria[0]);
// Главный цикл
bool done = false;
while (!done) {
switch (Menu()){
case 1:Show(pTria,n); break;
case 2:Move(pTria,n); break;
case 3:FindMax(pTria,n); break;
case 4:IsIncluded(pTria, n); break;
case 5:cout « "Конец работы." « endl;
done = true; break;
}
}
return 0;
}
 
 
 
 
// Вывод меню
int Menu() {
cout « "\n===================Главное меню===================" «endl;
 
вывод меню
 
cout « "1 - вывести все oбъeкты\t 3 - найти максимальный" « endl;
cout « "2 - nepeместить\t\t 4 - определить отношение включения" « endl;
cout « "\t\t 5 - выход" « endl;
return GetNumber(1.5);
}
 
 
// ввод целого числа в заданном диапазоне
int GetNumber(int min, int max) {
int number = min - 1;
while (true) {
cin » number;
if ((number >= min) && (number <= max) && (cin.peek() == '\n'))
break;
else {
cout « "Повторите ввод (ожидается число от " « min
« " до " « max « " ) : " « endl;
cin.clear();
while (cin.get() != '\n') {};
}
}
return number;
}
// возврат в функцию с основным меню
void ExitBack() {
cout « "Нажмите Enter." « endl;
cin.get(); cin.get();
}
 
 
 
// вывод всех треугольников
void Show(Triangle* p_tria[], int k) {
cout « "======= Перечень треугольников ========" « endl;
for int i = 0; i < k; i++) p_tria[i]->Show():
for (i = 0 ; i < k; i++) p_tria[i]->ShowSideAndArea():
ЕхitBаск();
}
// перемещение
void Move(Triangle* p__tria[], Int k) {
cout « "============= Перемещение =============" « endl;
// здесь будет код функции...
ЕхitBack();
}
// поиск максимального треугольника
void FindMax(Triangle* p_tria[], Int к) {
cout « "=== Поиск максимального треугольника ==" « endl;
// здесь будет код функции...
ЕхitBack();
}
// определение отношения включения
void IsIncluded(Triangle* p_tria[], Int к) {
cout « "======== Отношение включения ==========" « endl;
// здесь будет код функции...
ЕхitBack;
}
// конец проекта Taskl_2
/// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / //


Если что то задание взято с книги Щупак, павловская ООП. стр.33-53
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2012, 20:07
Ответы с готовыми решениями:

Не могу исправить ошибки
Я запускаю одно и тоже на одном компе в одной вижуалке - все работает, а в другой не работает, а...

Не могу исправить ошибки
// Если сумма трёх попарно различных действительных чисел x, y и z меньше 1, // то наименьшее из...

Не могу исправить ошибки(
List.h (декларация класса) #pragma once template &lt;typename T&gt; class List : public list &lt;T&gt; {...

Не могу исправить ошибки
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;stdio.h&gt; #include &lt;cctype&gt; #include...

0
19.10.2012, 20:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2012, 20:07
Помогаю со студенческими работами здесь

Не могу исправить ошибки....
Всем приветик!!! Помогите пожалуйста исправить ошибки......... ))) #include&quot;stdafx.h&quot;...

Не могу исправить ошибки в коде
#pragma once #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; const int MAX_SIZE =...

не могу исправить ошибки в программе
с массивами что-то совсем напутала, и исправить не получается, целый день сижу, мозг скис уже...

не могу исправить ошибки в коде
Никак не могу исправить ошибки в коде,помогите. #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; ...

Не могу исправить синтаксические ошибки
не могу исправить,помогите пожалуйста. всяко разно пробывала с этими скобками не получилось. ...

У меня ошибки не могу их исправить
#include &quot;Header.h&quot; movie::movie() { name = &quot; &quot;; info = &quot; &quot;; length = 0; age_of_visitor =...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru