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

Сортировка массива объектов, созданных с помощью класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Cкобочки http://www.cyberforum.ru/cpp-beginners/thread383236.html
Ребят, помогите пожалуйста сделать задачку на динамику. Некоторые сделала, а эта не получается( Спасибо, тем кто откликнется огромное! Найти стоимость самой дешевой правильной скобочной...
C++ Сортировка массива с помощью двух функций Всем добрый вечер. Нужно написать программу, которая бы сортировала динамический массив, с помощью ДВУХ функций(main,sortirovka). Заранее благодарен. http://www.cyberforum.ru/cpp-beginners/thread383234.html
НЕ могу понять классы C++
Помогите реализовать с коментарии: "Разработайте и реализуйте класс Name_pa±rs, содержащий пару (имя,возраст), где имя— объект класса string, а возраст— переменная типа double. Представьте эти члены...
Проверка, одного знака или разных C++
Всем привет! Такой вопрос: есть 1 функция и 2 точки. Надо проверить, одинаковые ли значения принимает эта функция в этих точках. Я понимаю, что можно просто перемножить значения ... а как это...
C++ getchar () http://www.cyberforum.ru/cpp-beginners/thread383222.html
a = getchar (); if ( a == 'q' ) // действие 1 a = getchar (); if ( a == 'w' ) // действие 2 Почему не работает такая конструкция? Конечно легко обходится так: a = getchar (); if ( a == 'q'...
C++ [C++] Вопрос про ввод #include <iostream.h> #include <stdio.h> void main() { char adress; char text; //FILE * fo; подробнее

Показать сообщение отдельно
One_X
0 / 0 / 3
Регистрация: 16.12.2010
Сообщений: 48
15.11.2011, 17:33  [ТС]
Проверте пожалуйста программу.

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
#include <iostream>
#include <locale.h>
#include <conio.h>
using namespace std;
 
class Note
{
    char *name; // имя
    char *surname; // фамилия
    int data[3]; // дата рождения
    int number; // номер телефона
 
    public:
    Note(int n=20) // Конструктор
        {
        // Выделение памяти:
        name=new char[n];
        surname=new char[n];
        // Ввод данных:
        cout << " Имя: "; cin >> name;
        cout << " Фамилия: "; cin >> surname;
        cout << " Дата рождения: ";
        for (int j=0; j<3; j++)
            cin >> data[j]; // Вводим дату через пробел
        cout << " Номер: "; cin >> number;
        cout << endl;
        }
 
    void Show() const// Вывод информации на экран
        {
        cout <<"\n Имя: "<<name<<endl;
        cout <<" Фамилия: "<<surname<<endl;
        cout <<" Дата рождения: ";
        for (int j=0; j<3; j++)
            {
            cout<<data[j];
            if(j<2)cout<<"."; // разделитель даты
            }
        cout<<endl<<" Номер: "<<number<<endl;
        }
    
    int sort(Note, Note); // Прототип функции, осуществляющей сортировку по номеру телефона
    void poisk(char*, Note, int, int); // Прототип функции, осуществляющей поиск по фамиилии
 
    ~Note() // Деструктор
        {
        // Освобождение выделенной памяти:
        delete []name;
        delete []surname;
        }
};
 
int Note::sort(Note a, Note b)
{
    if(a.number > b.number) return 1;
}
 
void Note::poisk(char *_surname, Note abc, int i, int kol)
{   
    static int c=0;
    cout << " '"<< _surname << "' and '" << abc.surname <<"'"<< endl;
    if(_surname == abc.surname)
        {
        c++;
        return abc.Show();
        }
    else if((c == 0)&&(i == kol-1)) cout << " Человек не найден!";
}
 
int main()
{   
    setlocale(LC_ALL,"Russian"); // Руссификация
    
    int const kol=3; // Количество человек
    cout << "Вводим данные:\n\n";
    Note myNote[kol];
 
// Сортировка объектов
for(int i=0; i<kol; i++)
{
    for(int i=0; i<kol-1; i++)
        if(myNote[i].sort(myNote[i], myNote[i+1]))
        {
        Note d = myNote[i];
        myNote[i] = myNote[i+1];
        myNote[i+1] = d;
        }
}
 
// Вывод отсортированных объектов
for(int i=0; i<kol; i++)
    myNote[i].Show();
 
// Поиск по фамилии
char _surname[20];
cout << " Поиск по фамилии: ";
cin >> _surname;
    
for(int i=0; i<kol; i++)
    myNote[i].poisk(_surname, myNote[i], i, kol);
 
    _getch();
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.