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

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

Войти
Регистрация
Восстановить пароль
 
nazsal
2 / 2 / 0
Регистрация: 27.11.2011
Сообщений: 60
#1

Как сделать алгоритм поиска в вложенном классе? - C++

11.11.2012, 18:56. Просмотров 319. Ответов 1
Метки нет (Все метки)

Помогите сделать метод поиска квартир в вложенном классе по полю vulica:
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
#include <cstdlib>
#include <iostream>
 
 
class orenda_kvartiri
{
     public:
            
      class parametri_kvartiri
      {
      public:
       char misto[20];
       char rayon[20];
       char vulica[20];
       char poshk_vulici[20];
       int n_budinku;
       int n_kvartiri;
       int poverh;
       float metrag;
       int kil_kimnat;
       int termin_ar;
       float kvartplata;
       parametri_kvartiri(){};
       ~parametri_kvartiri(){};
       void vvod1_d(void)
             {
              cout<<"  vvedit nazvu mista             :"; cin>>misto;
              cout<<"  vvedit nazvu rayonu            :"; cin>>rayon;
              cout<<"  vvedit nazvu vulici            :"; cin>>vulica;
              cout<<"  vvedit N budinky               :"; cin>>n_budinku;
              cout<<"  vvedit N kvartiri              :"; cin>>n_kvartiri;
              cout<<"  vvedit N poverhu               :"; cin>>poverh;
              cout<<"  vvedit metrag u m^2            :"; cin>>metrag;
              cout<<"  vvedit kilkist kimnat          :"; cin>>kil_kimnat;
              cout<<"  vvedit termin arendi u misyacah:"; cin>>termin_ar;
              cout<<"  vvedit kvartplatu              :"; cin>>kvartplata;
             };
       void vivod1_d(void)
             {
              cout<<"  nazva mista                    :"<<misto<<"\n";
              cout<<"  nazva rayonu                   :"<<rayon<<"\n";
              cout<<"  nazva vulici                   :"<<vulica<<"\n";
              cout<<"  N budinky                      :"<<n_budinku<<"\n";
              cout<<"  N kvartiri                     :"<<n_kvartiri<<"\n";
              cout<<"  N poverhu                      :"<<poverh<<"\n";
              cout<<"  metrag u m^2                   :"<<metrag;
              cout<<"  kilkist kimnat                 :"<<kil_kimnat;
              cout<<"  termin arendi u misyacah       :"<<termin_ar;
              cout<<"  kvartplata                     :"<<kvartplata<<"\n";
             };
       void zag_vart(void)
             {
              cout<<"  zagalna vartist za period      :"<<termin_ar*kvartplata;
             };
       [I]void poshuk(void)
             {
              cout<<"  Vedit nazvu vulici:";
              cin>>poshuk_vulici;
              for(i=0;i<=2;i++)
               {
                if(strcmp(vulica,poshuk_vulici)
                
               };[/I]
       };
      orenda_kvartiri() {};
      ~orenda_kvartiri(){};
 
};
      
int main(int argc, char *argv[])
{
    int i;
    orenda_kvartiri::parametri_kvartiri adr1[2];
 
    system("cls");
    for(i=0;i<=1;i++)
                  adr1[i].vvod1_d();
 
    for(i=0;i<=1;i++)             
                  adr1[i].vivod1_d();
                 
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2012, 18:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сделать алгоритм поиска в вложенном классе? (C++):

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки ) - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void lab () { int s1 = 0; int s2 =...

Как сделать поиск из файла в классе? - C++
Добрый день!!!Помогите ломаю голову уже 5 дней!!! У меня есть класс в котором область-char,район-char,число жителей-int,число городов в...

Как сделать проверку на ввод в классе? - C++
В методе класса не получается сделать ошибку при вводе числа меньшего нуля. Записано все верно, но именно в классе это не работает. ...

Волновой алгоритм поиска (Алгоритм A* / Алгоритм А стар) - C++
Хочу разработать алгоритм для решения головоломки с подвижными дисками (перестановочная головоломка). Определение. Перестано́вочные...

Как запрограммировать в рекурсивной форме алгоритм бинарного поиска - C++
Помогите пожалуйста!!! Как запрограммировать в рекурсивной форме алгоритм бинарного поиска

О классе, методе пузырька и выводе в файл, как сделать? - C++
Можно в очень понятной форме мне кое, что объяснить: 1) например нам надо посчитать S=v*t , и для v и t есть класс с 2мя объектами. Как...

1
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
12.11.2012, 13:10 #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
#include <iostream>
#include <typeinfo>
#include <cstdlib>
#include <cstring>
using namespace std;
 
class orenda_kvartiri
{
public:
 
    class parametri_kvartiri
    {
    public:
       char misto[20];
       char rayon[20];
       char vulica[20];
       char poshk_vulici[20];
       int n_budinku;
       int n_kvartiri;
       int poverh;
       float metrag;
       int kil_kimnat;
       int termin_ar;
       float kvartplata;
 
       void vvod1_d(void)
        {
              cout<<"  vvedit nazvu mista             :"; cin>>misto;
              cout<<"  vvedit nazvu rayonu            :"; cin>>rayon;
              cout<<"  vvedit nazvu vulici            :"; cin>>vulica;
              cout<<"  vvedit N budinky               :"; cin>>n_budinku;
              cout<<"  vvedit N kvartiri              :"; cin>>n_kvartiri;
              cout<<"  vvedit N poverhu               :"; cin>>poverh;
              cout<<"  vvedit metrag u m^2            :"; cin>>metrag;
              cout<<"  vvedit kilkist kimnat          :"; cin>>kil_kimnat;
              cout<<"  vvedit termin arendi u misyacah:"; cin>>termin_ar;
              cout<<"  vvedit kvartplatu              :"; cin>>kvartplata;
        }
       void vivod1_d(void)
        {
              cout<<"  nazva mista                    :"<<misto<<"\n";
              cout<<"  nazva rayonu                   :"<<rayon<<"\n";
              cout<<"  nazva vulici                   :"<<vulica<<"\n";
              cout<<"  N budinky                      :"<<n_budinku<<"\n";
              cout<<"  N kvartiri                     :"<<n_kvartiri<<"\n";
              cout<<"  N poverhu                      :"<<poverh<<"\n";
              cout<<"  metrag u m^2                   :"<<metrag;
              cout<<"  kilkist kimnat                 :"<<kil_kimnat;
              cout<<"  termin arendi u misyacah       :"<<termin_ar;
              cout<<"  kvartplata                     :"<<kvartplata<<"\n";
        }
       void zag_vart()
        {
            cout<<"  zagalna vartist za period      :"<<termin_ar*kvartplata;
        }
    };
 
};
 
typedef orenda_kvartiri::parametri_kvartiri Stype; // псевдоним для типа
 
template<typename T, typename T1>
bool Match(Stype const& obj, T Stype::* const pfield, T1 const& inst)
{
    bool ret = false;
    if(typeid(T) == typeid(char[20]))
        ret = !strcmp(reinterpret_cast<char const*>(&(obj.*pfield)), reinterpret_cast<char const*>(&inst));
    else
        ret = (inst == obj.*pfield);
    return ret;
}
 
int main()
{
    int i;
    orenda_kvartiri::parametri_kvartiri adr1[2];
    system("cls");
    for(i=0;i<=1;i++)
            adr1[i].vvod1_d();
    for(i=0; i<=1; i++)
            adr1[i].vivod1_d();
    for(i=0; i<=1; i++)
    {
        if(Match(adr1[i], &Stype::vulica, "vulica1")) // поиск по улице
        {
            std::cout << "vulica1: " << i << std::endl;
        }
        if(Match(adr1[i], &Stype::kvartplata, 7.7f)) // поиск по квартплате
        {
            std::cout << "kvartplata 7.7f: " << i << std::endl;
        }
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2012, 13:10
Привет! Вот еще темы с ответами:

Запомнить данные в классе в виде массива слов. Помогите - не код, а совет как сделать. - C++
Здравстуйте! Задание стоит так: Программа должна открыть файл Go.txt и считать с него текстовую информацию в виде отдельных слов. в...

Как сделать компоненты базового класса доступными в производном классе, но недоступными вне классов? - C++
Как сделать компоненты базового класса доступными в производном классе, но недоступными вне классов?

Как обьявить переменную в одном классе и что бы ее было видно в дочернем классе - C++
У меня есть основной класс с названием Root один из его членов наследует дочерний класс SubRoot. Скажите как объявить, что бы один из...

Как сделать Линейный алгоритм в Visual 6.0 - C++
Перевод величин из одной единицы измерения в другую. Пользователь вводит значение в единице измерение №1, программа переводит это значение...


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

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

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