Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ackl
0 / 0 / 1
Регистрация: 26.10.2015
Сообщений: 28
#1

Реализовать функцию поиска для структуры Книга - C++

24.12.2015, 10:45. Просмотров 229. Ответов 3
Метки нет (Все метки)

вообщем, не знаю как сделать поиск по книге, нужно сделать так: ввожу информатика, выводит автора и год издания, попытался но вроде неправильно мыслю, подскажете?

http://www.cyberforum.ru/cpp-beginners/thread1120702.html


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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <fstream>
 
using namespace std;
 
const int n = 2;
 
 
struct data
{
    int d;
    int m;
    int g;
};
struct bibl
{   char a[20];
    char fio[10];
    int god;
    char name[12];
    int Int;
    struct data data1;
};
 
 
int main()
 
{   
setlocale(LC_ALL,"russian");
ofstream f;
    int i,menu;
    int kol = 1;
    struct data d[3];
    struct bibl b[1];
    
while (menu!=5)
{
        cout << "\t<<Меню>>" << endl;
        cout << "1. Ввод информации.\n"
         << "2. Записать в файл.\n"
         << "3. Вывод информации.\n"
         << "4. Поиск по названиям книг.\n"
         << "5. Удалить.\n"
         << "6. Сортировка.\n"
         << "7. Добавить.\n"
         << "8. Выход.\n" << endl;
         cin >> menu;
         system("cls");
         switch (menu) 
  {
     case 1: // 
    
    {
  for ( int i=0; i<n; i++ )
  {
    
    b[i].Int = i;
    cout<<"Название книги: ";
    cin>>b[i].name;
    cout<<"Автор: ";
    cin>>b[i].fio;
    cout<<"Год издания: ";
    cin>>b[i].god;
    cout << "Дата поступления: \n";
            cout << "Дата: ";
            cin >> b[i].data1.d;
            cout << "Месяц: ";
            cin >> b[i].data1.m;
            cout << "Год: ";
            cin >> b[i].data1.g;
            cout << endl;   
  }
  cout<<endl;     
     break;
    }
     
     case 2:
            {
    ofstream fout("Text.txt");
    for( int i=0; i<n; i++ ){
    fout<<b[i].name<<" "<<b[i].fio<<" "<<b[i].god<<" " "\n";
    fout.clear();}
                
     break;
    }  
 
    case 3:
       { ifstream fin("Text.txt");
  for ( int i=0; i<n; i++ )
  {
    fin>>b[i].name;
    fin>>b[i].fio;
    fin>>b[i].god;
    cout<<"Название книги: "<<b[i].name<<" "<<endl<<"ФИО: "<<b[i].fio<<" "<<endl<<"Год: "<<b[i].god<<endl;
  
  fin.clear();
  cout<<endl;
    }
  break;
}
 
    case 4:
        { cout<<"Введите название книги"<<endl;
         ifstream fin("Text.txt");
         cin>>b[i].name;
         if (b[i].name=='informatika')
         
       {
    
        fin>>b[i].fio;
        fin>>b[i].god;
        cout<<"ФИО: "<<b[i].fio<<" "<<endl<<"Год: "<<b[i].god<<endl;
      }
  
  
    fin.clear();
    cout<<endl; 
    break;
        }
 
    case 5:
        {
        }
 
 
    
}
}
getch();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2015, 10:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Реализовать функцию поиска для структуры Книга (C++):

Написать функцию поиска структуры с заданным значением
Здравствуйте уважаемые программисты. Помогите пожалуйста с программой. ...

Реализовать функцию поиска подстроки в строке
Напишите метод revpositn, который получает два параметра str1 и str2 типа...

Реализовать шаблонную функцию поиска компонентов
Привет всем. Такой вопрос: Есть класс Object и класс Component. У класса...

Реализовать функцию линейного поиска элемента в массиве
1) Реализовать функцию линейного поиска элемента в массиве (принимает массив и...

Разработать функцию для сортировки одномерных массивов А и В и организовать функцию для поиска элементов, которые имеются в одном экземпляре или тольк
Разработать функцию для сортировки одномерных массивов А и В и организовать...

3
zss
Модератор
Эксперт С++
6952 / 6514 / 4135
Регистрация: 18.12.2011
Сообщений: 17,183
Завершенные тесты: 1
24.12.2015, 12:42 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
case 4:
        { 
            cout<<"Введите название книги:";
            string tname;
            getline(cin,tname);
            ifstream fin("Text.txt");
            if(fin)
            {
                  while(fin>>b[i].name)
                 {
                        fin>>b[i].fio;
                        (fin>>b[i].god).get();
                        if( b[i].name==tname)
                        {
                           cout<<"ФИО: "<<b[i].fio<<" "<<endl<<"Год: "<<b[i].god<<endl;
                        }
                 }
            }
      }
И поменяйте в 84 строке fout.clear();}
на
C++
1
2
}
fout.close();
1
ackl
0 / 0 / 1
Регистрация: 26.10.2015
Сообщений: 28
24.12.2015, 16:53  [ТС] #3
спасибо огромное, два дня мучился.

Добавлено через 7 минут
Цитата Сообщение от zss Посмотреть сообщение
getline(cin,tname);
единственный вопрос, чем это отличается от cin>>tname?
0
zss
Модератор
Эксперт С++
6952 / 6514 / 4135
Регистрация: 18.12.2011
Сообщений: 17,183
Завершенные тесты: 1
24.12.2015, 21:56 #4
getline(cin,tname); читает всю строку, а не одно слово.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2015, 21:56
Привет! Вот еще темы с решениями:

Реализовать функцию поиска по заданному полю в массиве структур (файловый ввод/вывод)
Имеется информация о клиентах телефонной компании и предоставляемых им услугах....

Реализовать иерархию классов (абк Software и его потомки) и функцию поиска по заданному полю
Здравствуйте. Нужна помощь с кодом. Тема задания &quot;Классы(Абстрактные)&quot;. Задания...

Создать функцию, сортирующую данную структуру, и функцию для поиска нужного значения в структуре
задание: Создать массив, элементами которого являются структуры – список...

Написать функцию поиска человека по заданному полю структуры "Знак Зодиака" (найти и исправить ошибки в коде)
Здравствуйте! Не могу правильно вывести в программе дату рождения. Надо...


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

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

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