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

ООП. Класс Angle для работы с углами на плоскости. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как то странно выводит матрицу. http://www.cyberforum.ru/cpp-beginners/thread260063.html
Помогите, пожалуйста. Написал код для вывода матрицы.Но при наборе как то странно выводит матрицу,последние элементы не те!Хотел скриншот выложить, но что то не получилось!Помогите пожалуйста! using namespace std; int main(int argc, char *argv) { int i,j,N; int X; cout << "Razmernost matricy"; cin >> N; for ( i = 0; i < N; i ++ ) for ( j = 0; j < N; j ++ ) {
C++ C++Решите мне пожалуйста через функцию http://img.lds.net.ua/?v=2011/03/18/1300476455.png решите задачу кроме 1 и 2 и 4!!Остальніе нужні!!!!!!!!!!! Добавлено через 47 минут ппц ну решите плиз!!!!!!!!! http://www.cyberforum.ru/cpp-beginners/thread260060.html
C++ Написать прогу в С++
1) Составить программу которая вводит квадратную матрицу и выдает на экран одномерные массивы, каждый элемент которой равен количеству простых чисел в этой строке. 2) Даны два вектора {xi} и {yi}, i = 1, ..., 10, упорядоченные по возрастанию. Слить их в один вектор {zj}, j = 1, ..., 20 так, чтобы сохранилась упорядоченность.
C++ Создание программы на подобии автокликера
Всем привет, хотел написать грамотную программу "автокликер" с хорошим интерфейсом, в голове представляю, как она выглядит и работает, но не знание языков ограничивает работу над этим проектом... Мои знания это: графический дизайн на уровне преподавания и работы создание карт для игры кс - довольно успешный и продвинутый уровень Работа с цифровым и аналоговым звуком - высшее образование ...
C++ Значение, хранящееся по адресу http://www.cyberforum.ru/cpp-beginners/thread260021.html
Как узнать адрес, по которому находится значение переменной, я уже знаю. это с помощью = &var А как узнать значение по адресу вообще? То есть если известен только адрес, и требуется узнать что там на нем. При том не используя переменные и указатели. Вобще, возможно ли такое? Я написал cout << 0x10101010;
C++ Поиск слова в файле Кто знает помогите! Суть проблемы: "Есть файл в котором построчно хранятся слова(каждое слово с новой стоки), программа должна искать в этом файле слово введенное пользователем с клавиатуры.Если нет такого слова - первое слово из файла должно быть удалено, все слова сдвинуты на 1 вверх, и слово введенное пользователем должно быть записано в конец файла." Мне главное понять, как обращаться в файле... подробнее

Показать сообщение отдельно
olegator_1993
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 17
28.06.2012, 16:25     ООП. Класс Angle для работы с углами на плоскости.
вот что получилось на самом деле. Все работает
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
// Задача 2 (2).cpp: главный файл проекта.
 
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <conio.h>
#define M_PI       3.14159
#pragma pack()
 
using namespace std;
 
class Angle
{
private:
    int _gradusy, _minute;
 
public:
    Angle (int gradusy, int minute)
        : _gradusy (gradusy),_minute(minute){}
 
    Angle ()
        : _gradusy (0),_minute(0){}
    
    ~Angle (){}
 
    int getGradusy() {return _gradusy;}
    int getMinute() {return _minute;}
 
    void removeRoughs()
    {   _minute += _gradusy*60;
        _gradusy = _minute/60;
        _minute = _minute%60;
    }
    
    void setAngle()
    {  
        cout<<"Градусов = ";
        cin>>_gradusy;
        cout<<"Минут = ";
        cin>>_minute;
        this->removeRoughs();
    }
 
    void increaseAngle()
    {   Angle a;
        a.setAngle();
        _gradusy += a.getGradusy();
        _minute += a.getMinute();
        this->removeRoughs();
    }
 
    void decreaseAngle()
    {   Angle a;
        a.setAngle();
        _gradusy -= a.getGradusy();
        _minute -= a.getMinute();
        this->removeRoughs();
    }   
 
    double getRadians()
    {   return (_gradusy+_minute/60.)*M_PI/180.;
    }
 
    void intoRange()
    {   if(_minute<0)
        {   _gradusy--;
            _minute += 60;
        }
        if(_gradusy>0)_gradusy = _gradusy%360;
        else _gradusy = _gradusy%360+360;
    }
 
    double sinA()
    {   return sin(this->getRadians());
    }
 
    friend int angleCmp(Angle &a1, Angle &a2)
    {   int m1 = a1.getMinute()+a1.getGradusy()*60;
        int m2 = a2.getMinute()+a2.getGradusy()*60;
        if(m1<m2) return -1;
            else if(m1>m2) return 1;
                else return 0;
    }
};
 
 
int main ()
{setlocale (LC_ALL, "Russian");
int A;           // переменная для подсчета объема памяти класса
    //значение по умолчанию для угла d1
    Angle d1;
    cout<<"Первоначальное значение для угла d1:"; 
    cout<<"\nГрадусов = "<<d1.getGradusy()<<"\nМинут = "<<d1.getMinute()<<"\n";
 
    //значение по умолчанию для угла d2
    Angle d2;
    cout<<"\nПервоначальное значение для d2:"; 
    cout<<"\nГрадусов = "<<d2.getGradusy()<<" \nМинут =  "<<d2.getMinute()<<"\n";
 
    // изменение объекта, метод setAngle()
    cout<<"------------------------------------------";
    cout<<"\nВведите новое значение для угла d1\n";
    d1.setAngle();
    cout<<"\nугол d1 стал равен \nГрадусов = "<<d1.getGradusy()<<"\nМинут = "<<d1.getMinute()<<"\n";
 
    // изменение объекта, метод setAngle()
    cout<<"\nВведите новое значение для угла d2\n";
    d2.setAngle();
    cout<<"\nугол d2 стал равен \nГрадусов =  "<<d2.getGradusy()<<"\nМинут = "<<d2.getMinute()<<"\n";
 
    //увеличения угла на заданную величину, метод increaseAngle()
    cout<<"------------------------------------------";
    cout<<"\nДобавить значение в угол d1\n";
    d1.increaseAngle();
    cout<<"\nугол d1 стал равен \nГрадусов = "<<d1.getGradusy()<<"\nМинут = "<<d1.getMinute()<<"\n";
 
    // уменьшение угла на заданную величину, метод decreaseAngle()
    cout<<"\nМинус значение для угла d1\n";
    d1.decreaseAngle();
    cout<<"\nугол d1 стал равен \nГрадусов = "<<d1.getGradusy()<<"\nМинут = "<<d1.getMinute()<<"\n";
 
    //перевод в радианы, метод getRadians()
 
    cout<<"\n угол d1 в радианах = "<<d1.getRadians();
    cout<<"\n угол d2 в радианах = "<<d2.getRadians();
 
    //приведение к диапазону 0-360, метод intoRange()
    cout<<"\n------------------------------------------";
    cout<<"\nПриведение угла d3 к диапазону <0 - 360>\n";
    Angle d3;
    d3.setAngle();
    d3.intoRange();
    cout<<"\nугол d3 в диапазоне <0-360>  "<<"\nГрадусов = "<<d3.getGradusy()<<"\nМинут = "<<d3.getMinute()<<"\n";
 
    //синус, метод sinA()
    cout<<"\n------------------------------------------";
    cout<<"\nСинусы для углов d1, d2, d3\n";
    cout<<"синус угла d1 = "<<d1.sinA()<<"\n";
    cout<<"синус угла d2 = "<<d2.sinA()<<"\n";
    cout<<"синус угла d3 = "<<d3.sinA()<<"\n";
 
    // сравнение углов d1 и d2
    cout<<"\n------------------------------------------";
    cout<<"\nСравнение углов d1 и d2\n";
    cout<<"угол d1 \nГрадусов = "<<d1.getGradusy()<<" Минут = "<<d1.getMinute()<<"\n";
    cout<<"угол d2 \nГрадусов = "<<d2.getGradusy()<<" Минут = "<<d2.getMinute()<<"\n";
    int res = angleCmp(d1,d2);
    if(res==-1) cout<<"d1 < d2\n";
        else if(res==1) cout<<"d1 > d2\n";
            else cout<<"d1 = d2\n";
 
    cin.get();
    A=sizeof(Angle); // подсчет объема помяти для класса
    cout<<"\n------------------------------------------";
    cout<<"\nРазмер класса Angle в байтах = "<<A; // вывод на экран объема памяти
    _getch();
    return 0;
}
Добавлено через 1 минуту
Ребята как теперь перестроить этот код под вот это условие(Инкапсулировать поля класса в независимой структуре и в ней реализовать методы Init(), Read(), Display(), toString(); в основном классе должно быть одно поле данных, представленное объектом-структурой)?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru