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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ане4кA
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 66
#1

Нужна программа с классами - C++

01.07.2012, 14:41. Просмотров 873. Ответов 10
Метки нет (Все метки)

Здравствуйте. Нужна программа с классами, и пояснением что она делает.. абсолютно любая и рабочая
Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
 Аватар для Andrey.K
340 / 261 / 15
Регистрация: 14.11.2010
Сообщений: 480
01.07.2012, 15:06     Нужна программа с классами #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
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
class Man // определение класса
{
    int age;// поле возраст
    string name;// поле имя
public:
    void SetMan(int a,string n) { age=a; name=n; }// метод инициализации человека
    int GetAge() { return age; } // получаем возраст человека
    string GetName() { return name; }// получаем имя человека
};
int main()
{
    setlocale(0,"Rus");
    Man man1,man2;// объекты класса
    man1.SetMan(35,"Андрей");// устанавливаем
    man2.SetMan(3,"Жанна");//устанавливаем
    cout<<"Возраст человека 1: "<<man1.GetAge()<<endl;// выводим возраст 1 человека
    cout<<"Имя человека 2: "<<man2.GetName()<<endl;// выводим имя 2 человека
    getch();
    return 0;
}
Ане4кA
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 66
01.07.2012, 16:04  [ТС]     Нужна программа с классами #3
хорошая программа, а есть еще что-нибудь?
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6218 / 3463 / 423
Регистрация: 29.11.2010
Сообщений: 9,176
01.07.2012, 16:11     Нужна программа с классами #4
Цитата Сообщение от Ане4кA Посмотреть сообщение
хорошая программа, а есть еще что-нибудь?
Что вы пытаетесь понять в классах? Тут много чего можно придумать. Объявление, описание методов, обращение к членам класса, работа с объектами?
Ане4кA
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 66
01.07.2012, 16:16  [ТС]     Нужна программа с классами #5
мне не то чтобы понять, просто к завтрашнему дню мне нужно помочь человеку на экзамене, а именно найти программу с описанием действий. Знаю, странная просьба, но хочется сэкономить время.. Наверняка у кого-то есть готовые программы, если не сложно, то поделитесь пожалуйста) мне и самой в радость будет их посмотреть по разбираться)
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
01.07.2012, 16:18     Нужна программа с классами #6
Ане4кA, не понятно, что вообще нужно. Если я дам заготовкау игры с классом ввода?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
01.07.2012, 16:21     Нужна программа с классами #7
Пойдёт?
Вложения
Тип файла: rar SeaJackals.rar (1.56 Мб, 24 просмотров)
Ане4кA
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 66
01.07.2012, 16:21  [ТС]     Нужна программа с классами #8
нужна программа,в которой используются классы, и по возможности комментарии к ней)
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
01.07.2012, 16:22     Нужна программа с классами #9
TControrl отвечает за всё управление, TStatuses хранит состояния кнопок, TKeys отвечает только за раскладку управления.
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6218 / 3463 / 423
Регистрация: 29.11.2010
Сообщений: 9,176
01.07.2012, 16:26     Нужна программа с классами #10
Ане4кA, АВЛ-деревья
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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
#include <iostream>
#include <clocale>
#include <conio.h>
#include <fstream>
#include <vector>
using namespace std;
 
struct node
{
    int Key; 
    int bal; 
    node *Left, *Right;
};
 
class TREE 
{
  private:
    // h - ГґГ«Г*ГЈ, Г±ГЁГЈГ*Г*ëèçèðóþùèé îá óâåëè÷åГ*ГЁГЁ âûñîòû ïîääåðåâГ*:
    // true - âûñîòГ* ïîääåðåâГ* óâåëè÷èëГ*Г±Гј, 
    // false - âûñîòГ* ïîääåðåâГ* Г*ГҐ óâåëè÷èëГ*Г±Гј.
    bool h;
    node *Tree;
  public:
    TREE() {Tree = NULL; h = false;}
    void Search (int, node **);
    void Print (node **, int);
    void Traversal (node **, ofstream&);
    node** GetTree() {return &Tree;}
};
 
int main()
{
    setlocale(LC_ALL, "Russian");
    TREE A;
    int choose, el;
    cout<< "1. Г‡Г*ãðóçèòü ïîñëåäîâГ*òåëüГ*îñòü Г± ГґГ*éëГ*\n"
        << "2. Ââåñòè ïîñëåäîâГ*òåëüГ*îñòü âðó÷Г*ГіГѕ\n\n"
        << "Г‚Г*Гё âûáîð: ";
    do{ cin>> choose;} while(choose != 1 && choose != 2);
    vector <int> v;
    vector <int>::iterator cur;
    if (choose == 1)
    {        
        ifstream iz("bin.txt");
        if (iz.bad()) return 1;
        while(!iz.eof() && iz>> el)
            v.push_back(el);        
        iz.close();
    }
    
    if (choose == 2)
    {
        cout<< "Г€Г*ôîðìГ*öèîГ*Г*ûå ïîëÿ âåðøèГ* äåðåâГ*:\n";
        while(cin>> el)
            v.push_back(el);
    }
    
    sort (v.begin(), v.end());
    for (cur = v.begin(); cur < v.end(); cur++)
            A.Search (*cur, A.GetTree());        
    // Гѓ.ГЊ.ÀäåëüñîГ*-Âåëüñêèé ГЁ Г….ГЊ.Г‹Г*Г*äèñ   
    cout<< "\nÀÂË-äåðåâî:\n\n"; 
    A.Print (A.GetTree(), 0);
    ofstream o("bin.txt");
    A.Traversal (A.GetTree(), o);
    getch();
    o.close();
    return 0;
}
 
void TREE::Search (int x, node **p)
// x - êëþ÷ âåðøèГ*Г», ïîìåùГ*åìîé Гў ÀÂË-äåðåâî.
// *p - ГіГЄГ*Г§Г*òåëü Г*Г* êîðåГ*Гј ÀÂË-äåðåâГ*.
// h - ГґГ«Г*ГЈ, Г±ГЁГЈГ*Г*ëèçèðóþùèé îá óâåëè÷åГ*ГЁГЁ âûñîòû ïîääåðåâГ*:
// true - âûñîòГ* ïîääåðåâГ* óâåëè÷èëГ*Г±Гј, 
// false - âûñîòГ* ïîääåðåâГ* Г*ГҐ óâåëè÷èëГ*Г±Гј.
// Ïðè ïåðâîì îáðГ*Г№ГҐГ*ГЁГЁ ГЄ ГґГіГ*êöèè Search() h=false.
{
    node *p1, *p2;
    h = false;
    if (*p == NULL) // åñëè ГіГЄГ*Г§Г*òåëü Г*Г* äåðåâî Г°Г*ГўГҐГ* 0
    {  
        *p = new(node);
        h = true; 
        (**p).Key = x; 
        (**p).Left = (**p).Right = NULL;
        (**p).bal = 0; 
    }
    else 
    if (x <= (**p).Key) 
    {
        Search (x, &((**p).Left)); 
        if (h == true)
            switch ((**p).bal) 
            { 
                case 1 :  (**p).bal = 0; h = false; break; 
                case 0 : (**p).bal = -1; break; 
                case -1: 
                          p1 = (**p).Left; 
                          if ((*p1).bal==-1) 
                          {    
                              (**p).Left = (*p1).Right; 
                              (*p1).Right = *p; 
                              (**p).bal = 0; 
                              *p = p1; 
                          } 
                          else 
                          {
                              p2 = (*p1).Right; 
                              (*p1).Right = (*p2).Left; 
                              (*p2).Left = p1; 
                              (**p).Left = (*p2).Right; 
                              (*p2).Right = *p;
                              if ((*p2).bal == -1) 
                                  (**p).bal = 1; 
                              else 
                                  (**p).bal = 0; 
                              if ((*p2).bal == 1) 
                                  (*p1).bal = -1; 
                              else 
                                  (*p1).bal = 0;
                              *p = p2;
                          } 
                          (**p).bal = 0; 
                          h = false; 
                          break; 
            } // switch ((**p).bal)
    } // if (x <= (**p).Key) 
    if (x > (**p).Key) 
    {    
        Search (x, &((**p).Right)); 
        if (h == true)
            switch ((**p).bal) 
            { 
                case -1: (**p).bal = 0; h = false; break; 
                case  0: (**p).bal = 1; break;
                case  1:
                          p1 = (**p).Right; 
                          if ((*p1).bal == 1) 
                          {
                              (**p).Right = (*p1).Left; 
                              (*p1).Left = *p; 
                              (**p).bal = 0; 
                              *p = p1; 
                          } 
                          else
                          {
                               p2 = (*p1).Left; 
                               (*p1).Left = (*p2).Right; 
                               (*p2).Right = p1; 
                               (**p).Right = (*p2).Left; 
                               (*p2).Left = *p; 
                               if ((*p2).bal == 1) 
                                   (**p).bal = -1; 
                               else 
                                   (**p).bal = 0; 
                               if ((*p2).bal == -1) 
                                   (*p1).bal = 1; 
                               else 
                                   (*p1).bal = 0; 
                               *p = p2; 
                          } 
                          (**p).bal = 0; 
                          h = false; 
                          break;
             } //switch ((**p).bal) 
    } //if (x > (**p).Key) 
} // void TREE::Search (int x, node **p)
 
void TREE::Print (node **w, int lvl)
//ÈçîáðГ*æåГ*ГЁГҐ äåðåâГ* w Г*Г* ГЅГЄГ°Г*Г*ГҐ äèñïëåÿ
//         (ðåêóðñèâГ*ûé Г*ëãîðèòì).
//*w - ГіГЄГ*Г§Г*òåëü Г*Г* êîðåГ*Гј äåðåâГ*.
{
    if  (*w != NULL)
    {
        Print (&((**w).Right), lvl + 1);
        for (int i = 0; i < lvl; i++) 
            cout<< "   ";
        cout<< (**w).Key<< endl;
        Print (&((**w).Left), lvl + 1);
    }
}
 
void TREE::Traversal (node **w, ofstream& o)
//*w - ГіГЄГ*Г§Г*òåëü Г*Г* êîðåГ*Гј äåðåâГ*.
{
    if  (*w != NULL)
    {
        Traversal (&((**w).Left), o);
        o<< (**w).Key<< " ";
        Traversal (&((**w).Right), o);                      
    }
}
Добавлено через 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
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
#include <iostream>
#include <conio.h>
#include <clocale>
#include <iomanip>
#include <cmath>
using namespace std;
 
class Quadrilateral // ÷åòûðåõóãîëüГ*ГЁГЄ
{
    public:
           Quadrilateral(float x1,float y1,float x2,float y2,float x3,float y3,float x4,float y4)
           {
                cout<<"ГЉГ®Г*ñòðóêòîð ГЄГ«Г*Г±Г±Г* Quadrilateral\n"; 
                x[0]=x1; y[0]=y1;
                x[1]=x2; y[1]=y2;
                x[2]=x3; y[2]=y3;
                x[3]=x4; y[3]=y4;
           }
           void paintq() 
           {
                for (int i=0; i<4; i++)
                    cout<<"ÊîîðäèГ*Г*ГІГ» òî÷êè: "<<i+1<<" ("<<x[i]<<", "<<y[i]<<")"<<endl;
           }
           void set(float a1,float b1,float a2,float b2,float a3,float b3,float a4,float b4)
           {
                x[0]=a1; y[0]=b1;
                x[1]=a2; y[1]=b2;
                x[2]=a3; y[2]=b3;
                x[3]=a4; y[3]=b4;
           }
    protected:
              float x[4], y[4];
};
 
class Parallelogram: public Quadrilateral
{
      public:
             Parallelogram(float x1,float y1,float x2,float y2,float x3,float y3,float x4,float y4):
             Quadrilateral(x1, y1, x2, y2, x3, y3, x4, y4)                                 
             {
                 cout<<"ГЉГ®Г*ñòðóêòîð ГЄГ«Г*Г±Г±Г* Parallelogram\n"; 
                 storona1 = sqrt ((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
                 storona2 = sqrt ((x4-x3)*(x4-x3) + (y4-y3)*(y4-y3));
             }
             void paintp()
             {
                  cout<< "ÑòîðîГ*Г» Г°Г*ГўГ*Г»: "<< storona1<< " ГЁ "<< storona2<< endl;
             }                  
      protected:
                float storona1, storona2;
};
 
class Trapezoid: public Parallelogram
{
      public:
             Trapezoid(float x1,float y1,float x2,float y2,float x3,float y3,float x4,float y4): 
             Parallelogram(x1, y1, x2, y2, x3, y3, x4, y4) 
             {
                 cout<<"ГЉГ®Г*ñòðóêòîð ГЄГ«Г*Г±Г±Г* Trapezoid\n"; 
                 storona = sqrt ((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
             }
             void paintt() {cout<< "ÑòîðîГ*Г» Г°Г*ГўГ*Г»: "<< storona<< endl; }
      protected:
                float storona;
};
 
class Rectangle: public Parallelogram //ïðÿìîóãîëüГ*ГЁГЄ
{
      public:
             Rectangle(float x1,float y1,float x2,float y2,float x3,float y3,float x4,float y4): 
             Parallelogram(x1, y1, x2, y2, x3, y3, x4, y4) 
             {
                 cout<<"ГЉГ®Г*ñòðóêòîð ГЄГ«Г*Г±Г±Г* Rectangle\n"; 
                 area(); 
                 storona1 = sqrt ((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
                 storona2 = sqrt ((x4-x3)*(x4-x3) + (y4-y3)*(y4-y3));
             };
             float area() 
             {
                   rarea = storona1 * storona2; 
                   return rarea; 
             };
      protected:
                float rarea, storona1, storona2;
};
 
class Square: public  Rectangle//ГЄГўГ*äðГ*ГІ
{
      public:
             Square(float x1,float y1,float x2,float y2,float x3,float y3,float x4,float y4): 
                   Rectangle(x1, y1, x2, y2, x3, y3, x4, y4) 
                   {
                       cout<<"ГЉГ®Г*ñòðóêòîð ГЄГ«Г*Г±Г±Г* Square\n"; 
                       diag(); 
                   };
             float diag() 
             {
                   diagonal = storona1 * sqrt(2); 
                   return diagonal; 
             };
      protected:
                float diagonal;
};
 
int main()
{
    setlocale(LC_ALL,"Russian");
    Square s1(0, 0, 2, 0, 2, 2, 0, 2);
    s1.paintq();
    s1.paintp();
    cout<< "ÏëîùГ*äü Г°Г*ГўГ*Г*: "<< s1.area()<< endl;
    cout<< "ÄèГ*ГЈГ®Г*Г*ëü Г°Г*ГўГ*Г*: "<< s1.diag()<< endl;
    Square s2(0, 3, 3, 0, 3, 3, 0, 3);
    s2.paintq();
    s2.paintp();    
    cout<< "ÏëîùГ*äü Г°Г*ГўГ*Г*: "<< s2.area()<< endl;
    cout<< "ÄèГ*ГЈГ®Г*Г*ëü Г°Г*ГўГ*Г*: "<< s2.diag()<< endl;
    getch();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2012, 16:27     Нужна программа с классами
Еще ссылки по теме:

C++ Простая программа работы с классами и строками, очистка буфера
Нужна программа C++
Программа в которой реализируется взаимодействия между классами C++
C++ Моя программа с классами и конструкторами

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

Или воспользуйтесь поиском по форуму:
Ане4кA
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 66
01.07.2012, 16:27  [ТС]     Нужна программа с классами #11
ого, спасибо! круто!)
Yandex
Объявления
01.07.2012, 16:27     Нужна программа с классами
Ответ Создать тему
Опции темы

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