Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 16.04.2018
Сообщений: 2

Как создать поиск по введенному слову?

16.04.2018, 13:05. Показов 1008. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
(Мой первый пост, простите, если что.) У меня программа с вводом и выводом таблицы:
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
#include <iostream.h>
#include <iomanip.h>
#include <windows.h>
char* Rus(const char* text);
class sub 
{
    char familie[20], pol, ulica[50];int god, dom;
    public:
    void enter();
    void exit();
};
void sub::enter()
{
    cout<<Rus("Фамилия - ");cin>>familie;
    cout<<Rus("Пол - ");cin>>pol;
    cout<<Rus("Год рождения - ");cin>>god;
    cout<<Rus("Домашний адрес - ");cin>>ulica>>dom;
    cout<<endl;
}
void sub::exit()
{
    cout<<setw(10)<<familie<<setw(8)<<pol<<setw(17)<<god<<setw(21)<<ulica<<setw(3)<<dom<<endl;
};
void main()
{
    sub tab[40];
        int i,n,d,f;
        char c[20];
    cout<<Rus("Введите колличество субъектов ");cin>>n;
    for(i=1;i<=n;i++)
    {
        cout<<Rus("Введите данные о субъекте №")<<i<<endl;
        tab[i].enter();
    }
        do
        {
            cout<<endl<<"N";
            cout<<setw(10)<<Rus("Фамилия");
            cout<<setw(8)<<Rus("Пол");
            cout<<setw(17)<<Rus("Год рождения");
            cout<<setw(24)<<Rus("Домашний адрес")<<endl;
            cout<<"______________________________________________________________"<<endl;
            for(i=1;i<=n;i++)
            {
                cout<<i;
                tab[i].exit();
            }
            cout<<endl<<Rus("Действия с таблицей:")<<endl;
            cout<<Rus("1 - поиск субъекта\n");
            cout<<Rus("2 - изменение домашнего адреса\n");
            cout<<Rus("3 - поиск пенсионров\n");
            cout<<Rus("4 - конец работы\n");
            cout<<Rus("Ваш выбор: ");cin>>d;
            switch(d)
            {
                case 1: cout<<Rus("По какому признаку провести поиск?\n");
                        cout<<Rus("1 - фамилия\n");
                        cout<<Rus("2 - пол\n");
                        cout<<Rus("3 - год рождения\n");
                        cout<<Rus("4 - домашний адрес\n");
                        cout<<Rus("Ваш выбор: ");cin>>f;
                        }
            }
        }
}
 
 
    char bufRus[256];
char* Rus(const char* text){
    CharToOem(text,bufRus);
    return bufRus;
}
Как мне сделать поиск, например, по фамилии? Пробовал через if else, но не сработало. Либо просто записал неверно.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.04.2018, 13:05
Ответы с готовыми решениями:

Поиск строки по введенному слову
Существует файл, в котором находится информация о клиентах, где в одну строку введены ФИО, название услуги, дата, телефон. как вывести...

Поиск в файле по введенному слову
Мне нужно вывести товары одной фирмы ,которую введет пользователь. Вот такой ввод данных: void dobavit() {ofstream...

Как по введенному слову выбрать вариант ответа
Как сделать так, чтобы при введении слова (не числа) выбирался один из вариантов ответа и выводился на экран.

5
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
16.04.2018, 14:29
Например, опиши в своём классе функцию для сравнения поля familie с переданной строкой и проверяй все записи в цикле.
0
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
16.04.2018, 14:34
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
case 1: cout<<Rus("По какому признаку провести поиск?\n");
                        cout<<Rus("1 - фамилия\n");
                        cout<<Rus("2 - пол\n");
                        cout<<Rus("3 - год рождения\n");
                        cout<<Rus("4 - домашний адрес\n");
                        cout<<Rus("Ваш выбор: ");cin>>f;
                              switch(f)
                                  {
                                      case 1:
                                               char tofind[20];
                                               cin>> tofind;
                                               for(i=1;i<=n;i++)
                                               {
                                                  if((strcmp (tofind,tab[i].familie) != 0)
                                                  tab[i].exit()
 
                                               }
                                          
                                  }
0
0 / 0 / 0
Регистрация: 16.04.2018
Сообщений: 2
16.04.2018, 14:51  [ТС]
Вот такую ошибку выдает:
CSS
1
:\555\555.cpp(69) : error C2248: 'familie' : cannot access private member declared in class 'sub'
0
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
16.04.2018, 15:22
сделай familie как public тоже, если же хочется оставить их private, то тогда, как выше упомянули напиши функцию в классе которая будет возвращать значение familie
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class sub
{
    char familie[20], pol, ulica[50];int god, dom;
    public:
    void enter();
    void exit();
    char* get_familie(){return familie;}
};
потом в поиске
 
char fam[20];
for(i=1;i<=n;i++)
 {
    
   strcpy(fam, tab[i].get_familie());
   if((strcmp (tofind,tab[i].familie) == 0))
    tab[i].exit()
 
 }
а пото
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
16.04.2018, 15:27
Тогда смысл class вообще теряется, проще сделать struct.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.04.2018, 15:27
Помогаю со студенческими работами здесь

Как правильно вывести строку по введенному слову?
Этот кусочек выводит строку со словом , которое я написал , но прикол в том , что выводит он если к примеру есть 10 строк и две из них с ...

Поиск по введенному слову и выделение
Есть две формы, первая форма это текстовый редактор, вторая это отдельное окошко поиска слова,есть код, проблема в том что он не выделяет...

Из введенного массива подобрать слово, являющееся рифмой к введенному слову
Из введенного массива подобрать слово, являющееся рифмой к введенному слову (используя принцип Незнайки). Очень нужно!!!!!

Как организовать поиск в другой книге или в этой же книге, поиск по слову на определенных листах
Всем привет!) Как организовать поиск в другой книге или в этой же книге, поиск по слову на определенных листах? Например слово...

Как сделать поиск по ключевому слову
Добрый вечер всем! При создании БД в Access есть необходимость совершать поиск по ключевому слову. Есть 2-е таблицы. Одна главная (с...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru