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

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

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

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



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
Ответы с готовыми решениями:

Односвязные списки. Реализовать функцию для удаления строчки из структуры по заданному номеру
Всем привет, не знаю создавалась ли подобная тема (нашел кое что похожее но не...

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

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

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

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

3
zss
Модератор
Эксперт С++
7182 / 6679 / 4228
Регистрация: 18.12.2011
Сообщений: 17,627
Завершенные тесты: 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 / 0
Регистрация: 26.10.2015
Сообщений: 28
24.12.2015, 16:53  [ТС] 3
спасибо огромное, два дня мучился.

Добавлено через 7 минут
Цитата Сообщение от zss Посмотреть сообщение
getline(cin,tname);
единственный вопрос, чем это отличается от cin>>tname?
0
zss
Модератор
Эксперт С++
7182 / 6679 / 4228
Регистрация: 18.12.2011
Сообщений: 17,627
Завершенные тесты: 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