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

Класс треугольников Triangle - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ простая программка с if и switch, пожалуйста!! http://www.cyberforum.ru/cpp-beginners/thread518836.html
составить простую программу сначала с if,а потом и со switch. можно и разные. программка типа: ввеедите число(ручной ввод) если например > 18, то можно идти на дискотеку; или введите число(опять же ручной ввод) если например 10 лет,то идешь в цирк по детскому билету,больше - по взорслому... и т. д. очень нужно!!!:cry:
C++ Не знаю, как работать с элементамми массива Еужно провести кое-какие преобразования с элементами вектора. Для начала нужно считать ненулевые элементы матрицы в вектор values типа double, создать еще один coord вектор, стоящий из чисел, построенных по правилу: i + (j-1)*n , где i - номер строки, j - номер столбца, n - порядок матрицы теперь нужно разделить все элементы строки на диагональный элемент, стоящий в данной строке, т.е.... http://www.cyberforum.ru/cpp-beginners/thread518816.html
C++ Выделить последнее слово из введенной строки
написать программу выделения последнего слова из введенной строки и отображение его на экране
Написать обработчик исключений ситуации при преобразовании указателя на класс B до указателя на абстрактный класс А ... C++
Написать обработчик исключений ситуации при преобразовании указателя на класс B до указателя на абстрактный класс А ... как сделать этот с указателями ??? я делаю вот так но не работает, делал по разному, но уже не знаю как написать 1 сточку правильно A *a; B b(1,2); B *test; test = &b;
C++ Не работает isdigit как задумано http://www.cyberforum.ru/cpp-beginners/thread518793.html
int main() { setlocale(LC_ALL,"Russian" ); cout<<"Введите размерность массива="; int n;//размерность масива char nom_mas; cin>>n; nom_mas=n; if(isdigit(nom_mas)) {//bla bla bla}
C++ Задача из ЕГЭ Есть след. задача(см.текст) Вот как я её решал: #include<iostream> #include<string.h> using namespace std; const int M=100; struct Trains { char Station;//станция char times;//время }; подробнее

Показать сообщение отдельно
Feya
2 / 2 / 0
Регистрация: 14.03.2012
Сообщений: 12
14.03.2012, 19:33  [ТС]     Класс треугольников Triangle
Спасибо большое за помощь, но у меня еще осталисось пару проблем...
Вот Код уже с Вашими исправлениями:
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
// Lab_1.cpp: определяет точку входа для консольного приложения.
//
 
#include"stdafx.h"
#include <iostream>
#include "Math.h"
#include "stdio.h"
using std::cout;
using std::cin;
 
 
class Triangle {
private:
    double x1, y1;
    double x2, y2;
    double x3, y3;
    double angle_k, angle_l, angle_m;
public:
    Triangle();
    Triangle(double, double, double, double, double, double);
    void setx1(double);
    void setx2(double);
    void setx3(double);
    void sety1(double);
    void sety2(double);
    void sety3(double);
    double getx1();
    double getx2();
    double getx3();
    double gety1();
    double gety2();
    double gety3();
    void input();
    void print();
    bool sravnenie (Triangle);
    double perimetr (Triangle);
};
Triangle::Triangle(){
    x1=1;
    x2=1;
    x3=1;
    y1=1;
    y2=1;
    y3=1;
}
Triangle::Triangle(double x1 , double x2, double x3, double y1, double y2, double y3){
    if (x1>0)
    (*this).x1=x1;
    else(*this).x1=1;
    if (x2>0)
    (*this).x2=x2;
    else(*this).x2=1;
    if (x3>0)
    (*this).x3=x3;
    else(*this).x3=1;
    if (y1>0)
    (*this).y1=y1;
    else(*this).y1=1;
    if (y2>0)
    (*this).y2=y2;
    else(*this).y2=1;
    if (y3>0)
    (*this).y3=y3;
    else(*this).y3=1;
}
void Triangle::setx1(double a){
    x1=a;
}
void Triangle::setx2(double b){
    x2=b;
}
void Triangle::setx3(double c){
    x3=c;
}
void Triangle::sety1(double o){
    y1=o;
}
void Triangle::sety2(double f){
    y2=f;
}
void Triangle::sety3(double n){
    y3=n;
}
double Triangle::getx1(){
    return x1;
}
double Triangle::getx2(){
    return x2;
}
double Triangle::getx3(){
    return x3;
}
double Triangle::gety1(){
    return y1;
}
double Triangle::gety2(){
    return y2;
}
double Triangle::gety3(){
    return y3;
}
void Triangle::input(){
    cout<<"Vvedite x1, x2, x3, y1, y2, y3"<<"\n";
        cin>>x1;
    if (x1>0);
    else l:cout<<"Error x1"<<"\n";
    goto l;
    cin>>x2;
    if (x2>0);
    else cout<<"Error x2"<<"\n";
    cin>>x3;
    if (x3>0);
    else cout<<"Error x3"<<"\n";
    cin>>y1;
    if (y1>0);
    else cout<<"Error y1"<<"\n";
    cin>>y2;
    if (y2>0);
    else cout<<"Error y2"<<"\n";
    cin>>y3;
    if (y3>0);
    else cout<<"Error y3"<<"\n";
}
void Triangle::print(){
    cout<<x1<<","<<x2<<","<<x3<<","<<y1<<","<<y2<<","<<y3<<"\n";
}
bool Triangle::sravnenie (Triangle tr2){ 
    if(x1==tr2.x1 && x2==tr2.x2 && x3==tr2.x3 && y1==tr2.y1 && y2==tr2.y2 && y3==tr2.y3 )
       return true;
    return false;
}
double Triangle::perimetr(){
    return sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))+
             sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2))+
             sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
} 
 
int main()
{
    Triangle t1(0,0,100,100,0,100),t2(100,100,0,200,200,200);
    if(t1.sravnenie(t2))
        cout<<"Равны";
    else
        cout<<"Не равны";
    double PP=t1.perimetr();
    cout<<PP;
    cin.get();
    return 0;
}
Visual Studio выбивает вот такие ошибки:
Ошибка 1 error C2511: double Triangle:erimetr(void): перегруженная функция-член не найдена в "Triangle" c:\users\feya\desktop\ооп\triangle_lab_1\triangle_lab_1\triangle_lab_1.cpp 133
Ошибка 2 error C2660: Triangle:erimetr: функция не принимает 0 аргументов c:\users\feya\desktop\ооп\triangle_lab_1\triangle_lab_1\triangle_lab_1.cpp 146
3 IntelliSense: объявление несовместимо с "double Triangle:erimetr(Triangle)" (объявлено в строке 36) c:\users\feya\desktop\ооп\triangle_lab_1\triangle_lab_1\triangle_lab_1.cpp 132
4 IntelliSense: слишком мало аргументов в вызове функции c:\users\feya\desktop\ооп\triangle_lab_1\triangle_lab_1\triangle_lab_1.cpp 145

и еще вопрос он только в начале открывает компилятор, а после ввода трех переменных закрывает и не показывает результат...
Что с этим можно сделать?
 
Текущее время: 14:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru