Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.10.2011
Сообщений: 14

не могу найти ошибки...тема классы в с++

16.11.2011, 00:23. Показов 589. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот код задания
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
#include<iostream.h>
#include<math.h>
 
class Prism_Inscribed_Rectilineal_Triangl{
     double r,a,h;
public:
     void set_Init(double r,double a,double h);
     void print();
     void skan();
     double get_So();
     double get_Sb();
     double get_Sp();
 };
 void skan(Prism_Inscribed_Rectilineal_Triangl *t);
 
 int main(){
 
 
     Prism_Inscribed_Rectilineal_Triangl my_pr;
     Prism_Inscribed_Rectilineal_Triangl *my_pr1 =new Prism_Inscribed_Rectilineal_Triangl ;
 
     cout<<"1 \n";
     skan(&my_pr);
     my_pr.print();
 
     cout<<"2\n";
     skan(my_pr1);
     my_pr1->print();
 
     delete my_pr1;
     system ("pause");
 
     return 0;
 }
 
 void Prism_Inscribed_Rectilineal_Triangl::set_Init (double rr,double aa,double hh){
     r=rr; a=aa; h=hh;
 }
 
 void Prism_Inscribed_Rectilineal_Triangl::print(){
     cout<<"r="<<r<<" "<<"a="<<a<<" "<<"h="<<h<<endl;
     cout<<"So="<<get_So()<<" Sb="<<get_Sb()<<" Sp="<<get_Sp()<<endl;
 }
 
 double Prism_Inscribed_Rectilineal_Triangl:: get_So(){
     return a*a*sqrt(3/4.0); }
 
 double Prism_Inscribed_Rectilineal_Triangl:: get_Sb() {
     return 3*a*h;
 }
 
 double Prism_Inscribed_Rectilineal_Triangl:: get_Sp() { 
     return 2* get_So()+ get_Sb(); 
 }
 
void skan(Prism_Inscribed_Rectilineal_Triangl *t){
      double r,a,h;
      cout<<" r=";
      cin>>r;
      cout<<" "<<"a=";
      cin>>a;
      cout<<" "<<"h=";
      cin>>h;
      t->set_Init(r,a,h);
 }
Нужно изменить программу так, чтобы инициализация объекта производилась с помощью конструктора с параметрами.
Ввести еще одну закрытую переменную класса для хранения имени объекта.
Выделение памяти для имени объекта (посредством оператора new) и его инициализацию провести в конструкторе, освобождение выделенной памяти (посредством оператора delete) - в деструкторе.
Создать несколько объектов разработанного класса , вывести значения площадей их оснований, боковой и полной поверхностей.
Вот что я написала....
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
#include <math.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
class Prism_Inscribed_Rectilineal_Triangl
{
protected:
    char*   fName;
    double  fR;
    double  fH;
    double  fA;
public:
Prism_Inscribed_Rectilineal_Triangl ( char*  Name,double R, double H,double A);
~ Prism_Inscribed_Rectilineal_Triangl()
 double get_So();
 double get_Sb();
 double get_Sp();
void set_Init (char*  Name,double R, double H,double A);
void print ();
};
Prism_Inscribed_Rectilineal_Triangl::Prism_Inscribed_Rectilineal_Triangl(char *Name,double R,double H,double A)
{
  strcpy ( Prism_Inscribed_Rectilineal_Triangl::R,R);
  strcpy ( Prism_Inscribed_Rectilineal_Triangl::H,H);
  strcpy ( Prism_Inscribed_Rectilineal_Triangl::A,A);
  Prism_Inscribed_Rectilineal_Triangl:: Name=Name;
}
Prism_Inscribed_Rectilineal_Triangl::~Prism_Inscribed_Rectilineal_Triangl()
{
  delete[] this->fName;
}
{
cout<<" Destruction of the object!"<< endl;
}
void  Prism_Inscribed_Rectilineal_Triangl ::set_Init (char* Name, double R, double H,double A)
{
  delete[] this->fName;
  this->fName = new char[strlen(Name)];
  strcpy(this->fName, Name);
  this->fR = R;
  this->fH = H;
  this->fA = A;
}
void Prism_Inscribed_Rectilineal_Triangl::Print ()
{
     cout<<"R="<<R<<" "<<"A="<<A<<" "<<"H="<<H<<endl;
     cout<<" So="<<get_So()<<" Sb="<<get_Sb()<<" Sp="<<get_Sp()<<endl;
 }
 
 double Prism_Inscribed_Rectilineal_Triangl:: get_So(){
     return A*A*sqrt(3/4.0); }
 
 double Prism_Inscribed_Rectilineal_Triangl:: get_Sb() {
     return 3*A*H;
 }
 
 double Prism_Inscribed_Rectilineal_Triangl:: get_Sp() { 
     return 2* get_So()+ get_Sb(); 
 }
int main ()
{
Prism_Inscribed_Rectilineal_Triangl *a  = new Prism_Inscribed_Rectilineal_Triangl(13, "F= ", 7.0);
  Prism_Inscribed_Rectilineal_Triangl *b  = new Prism_Inscribed_Rectilineal_Triangl(13, "F= ", 1.0);
 
  a->Print();
  b->Print();
 
  delete a;
  delete b;
 
  getch();
  return 0;
}
 Комментарий модератора 
нона, используйте тег вставки кода :
[CPP ]без пробелов[ /CPP] или кнопка C++ на панели окна редактирования сообщения
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.11.2011, 00:23
Ответы с готовыми решениями:

классы,не могу найти ошибку!
задание... вот то что я написала!!! #include &lt;iostream.h&gt; #include&lt;math.h&gt; class...

Непонятна тема (Классы содержащие другие классы, как данные члены )
Изучаю книгу Джесс Либерти(в частности эту главу в данный момент) #include &lt;iostream&gt; class Point { public: void...

Не могу найти .index Тема: neighborhood
Здравствуйте, не могу найти .index Тема neighborhood На сайте через &quot;Поиск элемента&quot; нахожу нужную строку, которую хочу изменить....

1
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
16.11.2011, 05:38
не могу найти ошибки...
в компилировать код не пробовали? отладчик влёт нашел бы все ошибки, если они есть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2011, 05:38
Помогаю со студенческими работами здесь

Шаблонные классы: найти и исправить ошибки в коде
Разбираюсь тут с шаблонами, вроде сделал все как в работающей программе, но не компилируется #include &quot;stdafx.h&quot; #include...

Не могу понять, почему программа работает неправильно( Знаю, что где-то ошибки, но не могу найти
{Ввести последовательность натуральных чисел Aj j=1...n (n&lt;=1000). Упорядочить последовательность по неубыванию наименььшей цифры...

Где то вроде по делфям была тема, хочу ответить, не могу найти
Вроде &quot;калькулятор&quot;, ТС хотел посчитать математическое выражение, я сначала написал, что надо писать разбор. Вчера принёс свой разбор, хочу...

Не могу найти ошибку, классы С++ (-)
Добрый день! Помогите пожалуйста найти ошибку в функции cut(), почему не работает? В целом задача заключается в том, что создать класс...

Конструкторы и классы. Не могу найти ошибку
Подскажите в чем ошибка вроде должно выводица 3 и 5 а выводица хаотичный набор цифр(( #include &lt;iostream&gt; using namespace std; ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru