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

Поиск в txt файле - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ запись матрицы в файл http://www.cyberforum.ru/cpp-beginners/thread180873.html
Подскажите пожалуйста в чем ошибка и как можно ее исправить?Надо записать матрицу в файл. Программа записывает вместо матрицы 9-значное число. #include <iostream> #include <fstream> #include <cstdlib> #include <stdio.h> using namespace std; int main() { int p={{0,1,0},{1,0,1},{0,1,0}};
C++ Бронзовый призер Лимит времени 2000/4000/4000/4000 мс. Лимит памяти 65000/65000/65000/65000 Кб. Сложность Альфа В соревнованиях по бегу принимают участие N спортсменов (3 ≤ N ≤ 1000). Результаты забега занесены в массив по порядку номеров участников. Все результаты участников различны. Определить время (результат) бронзового призёра. Ввод Первая строка содержит N - количество участников забега. Следующая... http://www.cyberforum.ru/cpp-beginners/thread180871.html
C++ Строки
Помогите написать программу, которая вычисляет адрес символа строки, совпавшего с указанным символом. Если ни один символ из строки не совпал, то возвратить сообщение.
Наследование, абстрактные классы. C++
Собственно нужно создать абстрактный базовый класс Shape, от него наследовать абстрактные классы Shape2D и Shape3D. От них конкретные классы для вычисления объёма и площади. Треугольник, прямоугольник круг в 2Д. Цилиндр, куб, сфера для 3Д. пишу на вижуале 2008. //Header1.h #include "stdafx.h" class Shape // базовый класс { public:
C++ Битовые операции http://www.cyberforum.ru/cpp-beginners/thread180853.html
Дали задание на побитовые логические операции и операции сдвига, а я в них ничего не понимаю. Помогите пожалуйста решить эти задачи, очень надо! Во вложенном файле 3.doc условие задач с примером выполнения. Вот условия задач: Задача 1: Составить две программы, первая из которых вводит составные части структуры данных, приведенной в Вашем варианте индивидуального задания, и формирует из...
C++ Решение шахматного вопроса Помогите с решением пожалйуста! На шахматной доске стоят белые короли. Вася хочет поставить на доску несколько черных фигур так, чтобы никакую из них короли не били (не стояли в клетках, граничащих хотя бы вершиной). Какое наибольшее количество фигур может поставить Вася? На вход подается в строке без разделителей список клеток, в которых стоят короли (в шахматной аннотации, используются... подробнее

Показать сообщение отдельно
garkeP91
49 / 49 / 5
Регистрация: 24.10.2010
Сообщений: 131
24.10.2010, 17:46     Поиск в txt файле
Есть программа Телефонная книга. Программа со структурой. Информация сохраняется в txt и считавыется оттуда же. Присутствуют функции поиска записи по полям Фамилия, Имя, Телефон.

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
************************В файле описания функций:
//найти по фамилии
int* searchFam(char *fam, PhBook *PhB, int size)
{
    for(int i=0; i<size; i++)
        if (stricmp(PhB[i].fam, fam)==0)
            return i;
    return -1;
}
 
 
//найти по имени
int searchName(char *name, PhBook *PhB, int size)
{
    for(int i=0; i<size; i++)
        if (stricmp(PhB[i].name, name)==0)
            return i;
    return -1;
}
 
 
//найти по номеру
int searchPhone(char *phone, PhBook *PhB, int size)
{
    for(int i=0; i<size; i++)
        if(stricmp(PhB[i].phone, phone) == 0)
            return i;
        return -1;
}
 
************************В файле функции main:
case 3: //Search family
            cout<<"BBEDuTE qoAMuJluIO"<<endl;
            cin>>fam;
            num = searchFam(fam, PhB, size);
            if(num != -1)
            {
                cout<<"uCKOMA9l 3AnuCb: #"<<num+1<<endl;
                print(num+1, PhB, size);
            }
            else
                cout<<"nOuCK HE DAJl PE3yJlbTATOB"<<endl;*/
            break;
 
        case 4: //Search name
            cout<<"BBEDuTE uM9l"<<endl;
            cin>>name;
            num = searchName(name, PhB, size);
            if(num != -1)
            {
                cout<<"uCKOMA9l 3AnuCb: #"<<num+1<<endl;
                print(num+1, PhB, size);
            }
            else
                cout<<"nOuCK HE DAJl PE3yJlbTATOB"<<endl;
            break;
        case 5: //Search phone number
            cout<<"BBEDuTE HOMEP"<<endl;
            cin>>phone;
            num = searchPhone(phone, PhB, size);
            if(num != -1)
            {
                cout<<"uCKOMA9l 3AnuCb: #"<<num+1<<endl;
                print(num+1, PhB, size);
            }
            else
                cout<<"nOuCK HE DAJl PE3yJlbTATOB"<<endl;
            break;
Функции поиска возвращают индекс записи i. При поиске выводится только первая найденная запись. Т.е. если есть несколько записей с одинаковыми значениемя полей (фамилия, имя или телефон), будет выведена только одна запись. Я хочу, чтобы это работало иначе, чтобы выводились все записи, удовлетворяющие условиям поиска. Подскажите, что да как лучше сделать, переделать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru