Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 5.00
[C0DER]
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 10
#1

Основы ООП [С++] - C++

30.05.2010, 13:02. Просмотров 2933. Ответов 5
Метки нет (Все метки)

Немного знаю Java, написал программу которая по заданным 2-м сторонам и углом между нимию Попробовал перевести на С++
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
#include <math.h>
#include <iostream.h>
#define PI 3.1415
class Main{
     int C;
     float  a, b;
    Main(){
        a=2;
        b=4;
        C=45;
    }
    Main(float a, float b, int C){
        a=a;
        b=b;
        C=C;
    }
 float storona_c(float a, float b, int C) {
   float c=(float)(a * a + b * b - 2 * a * b * cos(C));
     return (float) sqrt(c);
 }
 float ygol_A(float a, int C, float c){
        float A = (float) asin((a * sin(C)) / c);
     return (float) (180 * A / PI);
 }
 float ygol_B(float A, int C){
     return 180 - (A + C);
 }
 float perimetr(float a, float b, float c){
    return a+b+c;
 }
 float area(float P, float a, float b, float c){
    float p = P/2;
    float S = (float) sqrt(p*(p-a)*(p-b)*(p-c));
    return S;
}
 void logic(float A, float B, int C){
    if (A>90 || B>90 || C>90){
        cout<<"Тупоугольный";
    }  else if ( A==90 || B==90 || C==90){
        cout<<"Прямоугольный";
    }  else {
        cout<<"Остроугольный";
    }
}
void main(){
    float  x = 0, y = 0;
    int z = 0;
    cin>>x>>y>>z;
    Main p = Main(x, y, z);
    float A, B, c, P, S;
       c = storona_c(p.a, p.b, p.C);
         cout<<"сторона c = "<<c;
       A = ygol_A( p.a, p.C, c);
        cout<<"Угол А = "<<(int)A;
       B =  ygol_B (A,  p.C);
        cout<<"Угол B = "<<(int)B;
       P =  perimetr(p.a, p.b, c);
        cout<<"Периметр = "<<P;
       S =  area(P, p.a, p.b, c);
        cout<<"Площадь = "<<S;
       logic(A, B, p.C);
    system("pause");
}
}
Выдает ошибку: [BCC32 Error] File1.cpp(67): E2040 Declaration terminated incorrectly.
Помогите запустить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2010, 13:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Основы ООП [С++] (C++):

Основы моделирования физических процессов - C++
Здравствуйте! Я магистрант физ-теха. В &quot;экспериментальной&quot; части магистерской работы стоит молекулярная динамика (нужно написать программу...

Об ООП - C++
Появился такой вопрос. Все мы знаем о шумихе вокруг ООП, спорной идее наследования, других невнятных идей которых можно добиться...

Немного философии ООП - C++
На днях на работе возник холивар с коллегами, к правильному решению пришли только на следующий день, почитав Мейерса и Саттера (один из...

Моделирование предметной области ООП - C++
В универе задали проект по ООП. Задача звучит таким образом: 1. Выбрать любую предметную область для моделирования. 2. Обеспечить...

Помогите пожалуйста с тестом по ООП - C++
Помогите пожалуйста с тесттом! What does OOP stand for? Object-Oriented Programming Object-Oriented Post Organization-Object...

Не статическая ссылка не член должна указываться относительно заданного объекта (ООП) - C++
Доброго времени суток. Собственно, возникла данная проблема: у меня есть один родительский класс (shape) и несколько дочерних. В...

5
Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
30.05.2010, 13:15 #2
Первое что увидел: все члены Main обьявлены как private(в классах С++ private - спецификатор доступа по умолчанию), line 44: }};
0
[C0DER]
0 / 0 / 0
Регистрация: 30.05.2010
Сообщений: 10
30.05.2010, 14:19  [ТС] #3
Сделал все методы "public: "? ошибка осталась прежняя.
И я не догнал что значит
line 44: }}
Метод Main нужно вынести в другой класс?
0
M128K145
Эксперт С++
8299 / 3519 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
30.05.2010, 15:16 #4
[C0DER], С++ в отличие от Java - не объектно ориентированный, поэтому main должен быть за пределами какого-либо класса или структуры. К тому же, по стандарту main должен возвращать значение типа int, в отличие от Java, где main объявлен как public static void
Цитата Сообщение от C0DER Посмотреть сообщение
C++
1
Main p = Main(x, y, z);
Вот этот код должен выглядеть так:
C++
1
Main* p = new Main(x, y, z);
Странно, что вы не написали слово new, ведь оно используется и в C++, и в C#, и в Java

Да, после закрывающей скобки класса должна быть точка с запятой
0
Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
30.05.2010, 15:39 #5
Я имел ввиду что не хватает одной скобки и ;

ПС. А какой же С++, процедурный? Мейн может быть и войд, просто переносимость обеспечивается только для инт.
0
M128K145
Эксперт С++
8299 / 3519 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
30.05.2010, 15:43 #6
Цитата Сообщение от Manjak Посмотреть сообщение
А какой же С++, процедурный?
Он не объектно ориентированный, он просто с поддержкой ООП.


Цитата Сообщение от Manjak Посмотреть сообщение
Мейн может быть и войд, просто переносимость обеспечивается только для инт.
Я не сказал, что он всегда должен быть инт, я сказал, что по стандарту он инт
0
30.05.2010, 15:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2010, 15:43
Привет! Вот еще темы с ответами:

основы трояна - C++ Builder
все мы знаем что большинство троянов состоят из Клиента и Сервера. Мне нужно чтобы серверная часть у меня выполняла три действия...

Основы Builder C++ - C++ Builder
Ребят, не nодскажете какие-нибудь источники , где оnисываются все функции и свойства в C++ Builder ?

Основы визуального программирования - C++ Builder
Прошу помочь с основами визуального программирования в builder с++) у меня собственно несколько вопросов: 1) как на кнопке сделать...

основы работы с классами подскажите - C++ Builder
доброго времени суток. читаю про классы но че та не понимаю вот вроде создал новый класс class TForm1 : public TForm { ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.