0 / 0 / 0
Регистрация: 05.04.2015
Сообщений: 10
1

Работа с классами

10.04.2015, 16:48. Показов 362. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите найти косяки в программе.Задание:Дан класс figura.Найти площадь трапеции.данные высота и основания.С использованием конструктора по умолчания.с параметрами.копирования.и деструктор.
дано три файла.

figura.h

#ifndef FIGURA_H
#define figura_h
class figura
{
int a, b, c;
double p;
public:
double s();

void In();
double R(figura &H);
void Out();
figura operator++ ();
figura& operator++ (int d);
figura operator+ (figura &V);
figura operator* (figura &V);
figura operator= (figura &V);
bool operator== (figura &V);
figura();
figura(double f);
figura(figura & A);
~figura(){};

};
#endif

figura.cpp :

#include <iostream>
#include <Math.h>
#include <time.h>
#include <stdlib.h>
#include "figura.h"
using namespace std;
void figura::In()
{
cout << "Введите основания и высоту: " << endl;
cout << "a=";
cin >> a;
cout << "b=";
cin >> b;
cout << "c=";
cin >> c;
return;
}
void figura::Out()
{
cout << "(" << a << ";" << b << ";" << c <<")" << endl;
return;
}
double figura::R(figura &h)
{
if (((a != 0) || (b != 0) || (c != 0)) )
{cout<< "Такая трапеция существует" << endl;
p = (0.5*(a + b) * c);}
else
{cout<<"Трапеции нет"<<endl;
p=0;

return p ;
}
}
figura& figura::operator++(int d)
{
++a;
++b;
++c;
return *this;
}
figura figura::operator++()
{
figura temp(*this);
++a;
++b;
++c;
return temp;
}
figura figura::operator+ (figura &V)
{
figura M;
M.a=a+V.a;
M.b=b+V.b;
M.c=c+V.c;
return M;
}

figura figura:: operator* (figura &V)
{figura M;
M.a=a*V.a;
M.b=b*V.b;
M.c=c*V.c;
return M;
}

figura figura:: operator= (figura &V)
{
a=V.a;
b=V.b;
c=V.c;
return *this;
}

bool figura::operator== (figura &V)
{
if( (a==V.a)&&(b==V.b ))
return true;
else
return false;
}

figura::figura()
{
srand(time(NULL));
a=rand()%201-100;
b=rand()%201-100;
c=rand()%201-100;
}

figura::figura(double f)
{
a=f;
b=f;
c=f;
}

main.cpp

#include <iostream>
#include "figura.h"
using namespace std;
int main()
{
setlocale(0, "");
double J,f=5;
figura A,B,C,Q,D(f),K(A),Z;


Z.In();
Z.Out();
cout << "площадь тропеции: " << A.s()<< endl;


C.Out();
cout<<"rabota konstructora s parametramy"<<endl;
D.Out();
cout<<"rabota konstructora kopirovaniya"<<endl;
K.Out();
cout<<"\n ввод основания A"<<endl;
A.In();
cout<<"\n вывод основания А "<<endl;
A.Out();
cout<<"ввод основания B"<<endl;
B.In();
cout<<"\n вывод основания B"<<endl;
B.Out();
cout<<" ввод высоты C"<<endl;
Q.Out();
cout<<"вывод высоты C"<<endl;
J=A.R(B);
cout<<"\n расстояние между основаниями: "<<"\n"<<J;

cout<<"\n работа переопределена ++: "<<endl;
J=0;
J=(++A).R(B++);
cout<<"\n Другое расстояние между основаниями: "<<"\n"<<J;

cout<<"\n работа ++ прифексной: "<<endl<<"новое основание A: ";
A.Out();
cout<<"\n работа ++ постфиксная: "<<endl<<"новое основание B: ";
B.Out();


cout<<"\n Работа переопределена +: "<<endl<<"A+B: ";
figura L(A+B);
L.Out();
cout<<"\n Работа переопределена *: "<<endl<<"A*B: ";
figura k(A*B);
k.Out();

cout<<"\n Работа переопределена ==: "<<endl;
if (A==B)
cout<<"Основания равны"<<endl;
else
cout<<"Основания не равны"<<endl;

cout<<"\n Работа в норме =: "<<endl<<"A=B: A= ";
A=B;
A.Out();


system("pause");
return 0;
}




figura::figura(figura & A)
{
a=A.a;
b=A.b;
c=A.c;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2015, 16:48
Ответы с готовыми решениями:

Работа с классами
Почему может вывестись здесь ошибка? #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt;...

Работа с классами
Помогите написать програмку задание следующее: Создать базовый класс «Грузоперевозчик» и...

Работа с классами
Имеется заголовочный файл В нем создаю два класса Vector и MyCamera. class Vector { public:...

Работа с классами
Помогите пожалуйста написать программу. Задан массив действительных чисел. Найти количество...

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

Работа с классами
Привет!!! Есть задачка: &quot;Определите класс Oper, содержащий идентификатор типа ld (string или...

Работа с классами
Ввести прямоугольную матрицу. Элементами матрицы являются символы. Пользователь может переставлять ...

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

Работа с классами
Здравствуйте! Вот у меня есть класс Team team.h#pragma once #include &lt;string&gt; using namespace...


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

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

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