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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
wirus
0 / 0 / 0
Регистрация: 13.05.2015
Сообщений: 5
#1

Поисковая система библиотечного архива - C++

02.11.2008, 13:15. Просмотров 701. Ответов 0
Метки нет (Все метки)

посмотрите пожалуйста прогу ни си она почему - то глючит:

код poisk.h:

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
#ifndef POISK_H
#define POISK_H
 
 
struct book
{
char avtor[30];
char nazvanie[30];
char izdatelstvo[30];
int god;
int koll;
char janr[30];
};
 
int i, j, year, number;
char bukva[256];
extern book books1[500];
 
bool kniguadd(book *books);
void knigudele(book *books);
void knigavtorobzor(book *books);
void janrobzorknig(book *books);
void knigjanr_godobzor(book *books);
 
#endif
код poisk.cpp:

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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
#include "poisk.h"
#include <stdlib.h>
#include <stdio.h>
#include "stdafx.h"
 
 
FILE *pFile;
 
bool add_knigu(book *books)
{
j++;
pFile = fopen ( "bd.txt", "a+t" ); 
if ( pFile != NULL )
{
printf("vvod avora\n");
scanf("%s",&(books+j)->avtor);
printf("vvod nazvaniya\n");
scanf("%s",&(books+j)->nazvanie);
printf("vvod izdatelstva\n");
scanf("%s",&(books+j)->izdatelstvo);
printf("vvod janra\n");
scanf("%s",&(books+j)->janr);
printf("vvod goda\n");
scanf("%s",&(books+j)->god);
printf("vvod kollichestva stranic\n");
scanf("%s",&(books+j)->koll);
fprintf(pFile, "#%d-kniga#\n",j);
fprintf(pFile,"%s\n", &(books+j)->avtor);
fprintf(pFile,"%s\n", &(books+j)->nazvanie);
fprintf(pFile,"%s\n", &(books+j)->izdatelstvo);
fprintf(pFile,"%s\n", &(books+j)->janr);
fprintf(pFile,"%d\n", &(books+j)->god);
fprintf(pFile,"%d\n\n\n", &(books+j)->koll);
printf("dannie v faile!\n\n");
fclose(pFile);
return true;
}
else
{
return false;
}
}
 
bool dele_knigu(book *books) 
{
pFile = fopen ( "bd.txt", "a+t" );
if ( pFile != NULL )
{
if(j>-1)
{
printf("vvedite nomer knigi\n");
scanf("%d", &number);
for(i=0;i<256;i++)
(books+number)->avtor[i]=NULL;
 
for(i=0;i<256;i++)
(books+number)->nazvanie[i]=NULL;
 
for(i=0;i<256;i++)
(books+number)->izdatelstvo[i]=NULL;
 
(books+number)->god=NULL;
 
(books+number)->koll=NULL;
 
for(i=0;i<256;i++)
(books+number)->janr[i]=NULL;
j--;
}
else
{
printf("arxiw pust\n\n");
return 0;
}
 
fclose(pFile);
return true;
}
else
{
return false;
}
}
 
 
bool obzor_knig_avtor(book *books) \\ в этой функции ещё не сделано обращение к файлу и вынос из него данных по определённой книге не знаю как???
{
pFile = fopen ( "bd.txt", "w+t" );
if ( pFile != NULL )
{
int index, flag;
char awtor[256];
printf("vvedite avtora\n");
scanf("%s", &awtor); 
flag = 0;
for (i=0;i<=500;i++)
{
for (index = 0; index < 256; index++)
 
if (awtor[index] != (books+i)->avtor[index])
 
{
 
flag = 1;
 
break;
 
}
 
if (flag != 1)
 
fscanf(pFile, "%s\n", &(books+index)->avtor);
fscanf(pFile, "%s\n", &(books+index)->nazvanie);
fscanf(pFile, "%s\n", &(books+index)->izdatelstvo);
fscanf(pFile, "%s\n", &(books+index)->janr);
fscanf(pFile, "%d\n", &(books+index)->god);
fscanf(pFile, "%d\n\n", &(books+index)->koll);
}
fclose(pFile);
return true;
}
else
{
return false;
}
}
 
bool obzor_knig_janr(book *books) \\ в этой функции ещё не сделано обращение к файлу и вынос из него данных по определённой книге не знаю как???
{ 
pFile = fopen ( "bd.txt", "w+t" ); //проверяем, смогли ли мы открыть файл для записи
if ( pFile != NULL )
{
 
int index, flag;
char janr[256];
printf("vvedite janr\n");
scanf("%s", &janr); 
flag = 0;
for (i=0;i<=500;i++)
{
for (index = 0; index < 256; index++)
 
if (janr[index] != (books+i)->janr[index])
 
{
 
flag = 1;
 
break;
 
}
 
if (flag != 1)
 
fscanf(pFile, "%s\n", &(books+index)->avtor);
fscanf(pFile, "%s\n", &(books+index)->nazvanie);
fscanf(pFile, "%s\n", &(books+index)->izdatelstvo);
fscanf(pFile, "%s\n", &(books+index)->janr);
fscanf(pFile, "%d\n", &(books+index)->god);
fscanf(pFile, "%d\n\n", &(books+index)->koll);
}
fclose(pFile);
return true;
}
else
{
return false;
}
}
 
bool obzor_knig_janr_god(book *books) \\ в этой функции ещё не сделано обращение к файлу и вынос из него данных по определённой книге не знаю как???
{ 
pFile = fopen ( "bd.txt", "w+t" );
if ( pFile != NULL )
{
 
int index, flag;
char janr[256];
printf("vvedite janr\n");
scanf("%s", &janr); 
printf("vvedite god\n");
scanf("%d", &year);
flag = 0;
for (i=0;i<=500;i++)
{
for (index = 0; index < 256; index++)
 
if (janr[index] != (books+i)->janr[index])
 
{
 
flag = 1;
 
break;
 
}
 
if (flag != 1)
if ((books+i)->god == year)
{
fscanf(pFile, "%s\n", &(books+index)->avtor);
fscanf(pFile, "%s\n", &(books+index)->nazvanie);
fscanf(pFile, "%s\n", &(books+index)->izdatelstvo);
fscanf(pFile, "%s\n", &(books+index)->janr);
fscanf(pFile, "%d\n", &(books+index)->god);
fscanf(pFile, "%d\n\n", &(books+index)->koll);
}
}
fclose(pFile);
return true;
}
else
{
return false;
}
}
код main.cpp:

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
#include <stdlib.h>
#include <stdio.h>
#include "stdafx.h"
#include "poisk.cpp"
 
void main()
{
int mode;
struct book knigi;
while (1)
{ 
printf("v archive %d knig\n",j);
printf("viberite operaciu\n");
printf("1 dobavit knigu\n");
printf("2 udalit knigu\n");
printf("3 vidat spisok knig avtora\n");
printf("4 vidat knigi ukazannogo janra\n");
printf("5 vidat knigi janra v dannom periode\n");
printf("0 exit\n");
 
 
scanf("%d",&mode);
 
switch(mode)
{
case 1 : add_knigu(&knigi); break;
case 2 : dele_knigu(&knigi); break;
case 3 : obzor_knig_avtor(&knigi); break;
case 4 : obzor_knig_janr(&knigi); break;
case 5 : obzor_knig_janr_god(&knigi); break;
case 0 : return; break;
default : printf("nevernii vvod\n"); break;
} 
}
}
спасибо заранее!!!

задание проги:

условие задачи: написать прогу чтобы она работала как поисковая система библиотечного архива
ввод описания книги в проге должно быть:
-автор
-издательство
-год
-колл-во страниц
-жанр
(всё с клавы)
________________________
(основная проблема)-->>
с функциями поиска:
- найти книги автора(с клавы ввод)
- найти книги жанра(с клавы ввод)
- найти книги по жанру и определённого года издания(с клавы ввод)
p.s. : колл-во книг любое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2008, 13:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поисковая система библиотечного архива (C++):

В чём различие заголовочного и библиотечного файла в C++? - C++
Интернеты дают весьма размытые понятия на этот счёт

Разработать программу библиотечного абонемента с использованием класса queue - C++
Задание. Разработать модель работы библиотечного абонемента. Создать необходимые классы. Информационная запись о книге в библиотеке...

Распаковка архива - C++
Как распаковать rar и zip архивы? p.s. сейчас я это делаю через запуск стороннего софта через CreateProcess, но хотелось бы обойтись без...

Создание ZIP архива - C++
Есть несколько xml файлов. Надо их засунуть в 1 архив. Есть-ли подходящая либа на плюсах? Про zlib знаю, но не очень бы хотелось писать...

Поисковая система! - Web
Подскажите где достать исходники поисковой системы. Или есть какие нибудь движки или CMS Добавлено через 1 час 58 минут Ну крайнее...

Поисковая система - PHP Сети
Здравствуйте! Есть у кого поисковая система на PHP. Не по сайту. Для особенных подсказка - поисковая система Google

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2008, 13:15
Привет! Вот еще темы с ответами:

Поисковая система! - Удаление вирусов
С начальной страницей всё нормально. Но когда я хочу что либо найти мне выдаёт поисковик mail.ru Изменить на Google не получается....

Поисковая система - Delphi БД
Создал базу через Access , одна колонка &quot;ФИО&quot; . Имеется код для поисковой системы: var filtr, add: string; begin ...

Поисковая система - HTML, CSS
Как создать поисковую систему в ntml

Поисковая система. - PHP Сети
доброго времени суток уважаемые гости и пользователи cyberforum.ru. У меня возник вопрос.Как создать очень маленький и простенький...


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

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

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