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

Поиск по элементам класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В массиве действительных чисел наименьший элемент поместить на первое место, наименьший из оставшихся – на последнее место и т.д. http://www.cyberforum.ru/cpp-beginners/thread888984.html
Помогите пожалуйста, нужно написать задачу на борланде С++ Условие: В массиве действительных чисел наименьший элемент поместить на первое место, наименьший из оставшихся – на последнее место, следующий по величине – на второе место, следующий – на последнее место и так далее – до середины массива.
C++ Реализовать очередь с операциями вставки и удаления элементов Реализовать очередь с операциями вставки и удаления элементов (вставка в начало очереди, удаление с конца очереди) Помогите плииз.. http://www.cyberforum.ru/cpp-beginners/thread888982.html
C++ Введите цело численные координаты трех вершин прямоугольника
Введите цело численные координаты трех вершин прямоугольника,стороны которого паролельныкоординатным осям. Найти координаты ее четвертой вершины, если пользователь введет координаты точек так, что нельзя получить прямоугольник со сторонами, паралельны координатным осям, вывести соответствующее сообщение. помогите пожалуйста....
C++ Как работает f.getline(buf, MAX_LEN, '\n') ?
Я так понимаю, что buf - куда мы считываем, MAX_LEN сколько считываем, а что значит '\n' (я знаю, что это символ переноса строки, просто зачем он в getline для чего нужен)
C++ Ошибка в dev C++! http://www.cyberforum.ru/cpp-beginners/thread888952.html
Сделал небольшую программку,при вводе числа 29,должно вывести числа 2013..все проходит без ошибок...а при вводе числа больше или меньше данного всё-же высвечивается число 2013...помогите пожалуйста... Хотелось бы сделать: Вывести сообщение 'неверное число'! и выйти из программы через 5 секунд.. А главное чтобы не выводило число 2013 Заранее спасибо! Код: #include <iostream> using...
C++ Программа поиска и замены подстроки в тексте Нужно написать программу "Программа поиска и замены подстроки в тексте с откатом изменений" код на C++ со вставками Assembler. Заранее благодарен Добавлено через 10 часов 6 минут Помогите, срочно надо(( подробнее

Показать сообщение отдельно
Портовик
0 / 0 / 0
Регистрация: 13.04.2012
Сообщений: 10

Поиск по элементам класса - C++

03.06.2013, 11:07. Просмотров 247. Ответов 1
Метки (Все метки)

Здравствуйте, в файле хранится база данных в формате:
"Предприятие; Форма собственности; Владелец; Продукция; Отрасль; Телефон
Предприятие1; Форма собственности1; Владелец1; Продукция1; Отрасль1; Телефон1
..."
Все эти записи хранятся в "records basa[20];"
Пытаюсь сделать поиск, но выходит дрянь. Если выбираю по полю (в строчном виде), то выводит постоянно вторую строку. Если по номеру телефона, то третью. Не понимаю, где ошибка.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class records{
public:
    char *PromPred;
    char *FormSob;
    char *Product;
    char *Otrasl;
    char *SvedVlad;
    long Phone;
    records()
    {
        PromPred=new char;
        FormSob=new char;
        Product=new char;
        Otrasl=new char;
        SvedVlad=new char;
        Phone=0;
    };
};
records obj;
records basa[20];
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
//поиск
        char buf[32]={0};
        int m;
        cout<<"\nИскать по имени(1) или по номеру телефона(2)? ";
        (cin>>m).get();
        if (m==1){
            cout<<endl<<"\nВведите запрос: "<<endl;
            fgets(buf,sizeof(buf),stdin);
            for(int m=0;m<=i;m++){ // i-кол-во записей в базе
                if (strcmp(buf,basa[m].PromPred)==0) break;
                if (strcmp(buf,basa[m].Product)==0) break;
                if (strcmp(buf,basa[m].FormSob)==0) break;
                if (strcmp(buf,basa[m].SvedVlad)==0) break;
                if (strcmp(buf,basa[m].Otrasl)==0) break;
            }
        }
        else {cout<<"\nВведите запрос: "<<endl;
            fgets(buf,sizeof(buf),stdin);
            for(int m=0;m<=i;m++){
                if (atoi(buf)==basa[m].Phone) break;
            }
        };
        if (m>i){
            cout<<"\nНе найдено";
        }
        else {
            cout<<endl<<setw(32)<<basa[m].PromPred<<" ";
            cout<<setw(25)<<basa[m].FormSob<<" ";
            cout<<setw(32)<<basa[m].Product<<" ";
            cout<<setw(25)<<basa[m].Otrasl<<" ";
            cout<<setw(25)<<basa[m].SvedVlad<<" ";
            cout<<setw(13)<<basa[m].Phone;
        };
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru