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

Поиск по элементам класса - 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...помогите...
C++ Программа поиска и замены подстроки в тексте Нужно написать программу "Программа поиска и замены подстроки в тексте с откатом изменений" код на C++ со вставками Assembler. Заранее благодарен Добавлено через 10 часов 6 минут Помогите, срочно... подробнее

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

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

03.06.2013, 11:07. Просмотров 264. Ответов 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;
        };
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru