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

Написать программу каталогизатор для книг - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Конструкторы http://www.cyberforum.ru/cpp-beginners/thread127219.html
Есть фрагмент кода: #include <iostream> using namespace std; class Counter { public: Counter operator++(int); //постфикс Counter(); ~Counter();
C++ Как считать? Здравствуй, помогите пожалуйста считать строку вида 2 3 3 9 3 5 дело в том что количество заранее не известно. И мне нужно получить их как int. Количество пробелов может быть... http://www.cyberforum.ru/cpp-beginners/thread127209.html
Класс «вещественная матрица» C++
Описать класс, реализующий тип данных «вещественная матрица» и работу с ними. Класс должен реализовывать следующие операции над матрицами: •операции вычисления обратной и транспонированной...
Как исправить ошибку? C++
#include <stdio.h> #include <tchar.h> #include <stdlib.h> #include <locale.h> #include <string.h> //Стуктура времени //Основная структура списка struct bus
C++ Как узнать текущее положение указателя файла? http://www.cyberforum.ru/cpp-beginners/thread127177.html
Как узнать текущее положение указателя файла в байтах?
C++ Для каждого 0.1≤a≤0.2 при всех 0.5≤b≤0.8 с шагом ∆B=0.1... Здравствуйте, форумчане...нуждаюсь в помощи по написанию программы...помогите пожалуйста... Задание: Для каждого 0.1≤a≤0.2 при всех 0.5≤b≤0.8 с шагом ∆B=0.1 вычислить с=(a*x^2+b*x)/(x+e^x) + x; ... подробнее

Показать сообщение отдельно
Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
20.05.2010, 20:16  [ТС]
мне надо, произвести поиск данных в файле по ключевому полю, у меня проблемы с записью строчки в новый файл для поиска по ключевому полю
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
// 
6.cpp: 
//
 
#include "stdafx.h"
#include <string.h>
#include <locale.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
 
struct  BOOK
{
    char *name;
    char *avtor;
    char *tematika;
    char  *godvipuska;
    char *ISBN;
    char *izdatelstvo;
};
 using namespace std;
const int Amax=255;
 
ostream& operator<<(ostream& out, BOOK &J)
 { 
     out<<"\n фамилия автора : "<<J.avtor;
     out<< "\n тематика книги : "<<J.tematika;
     out<<"\n год выпуска : "<<J.godvipuska;
     out<< "\n ISBN: "<<J.ISBN;
     out<<"\n издательство: "<<J.izdatelstvo;
     return out;
 }
void poisk(BOOK x[], int n, char l[], int )
{ int j=0; char *xx; xx= new char [Amax];
    for (int i = 1; i < n; ++i)
    {
        if ( strcmp(x[i].avtor,l )==0){
            FILE* f=fopen("ooo.txt","w+t");
            fgets(xx,Amax,"katalogizator.txt");
            fputs(xx,"ooo.txt");
            printf("ooo.txt","\n");
            ++j;
        }
        }
};
 
 
int _tmain()
{    
    setlocale (LC_ALL, "Russian");
    
    BOOK k[3];
    int i, j;
 
 
    FILE* f=fopen("katalogizator.txt","w+t");
    if (!f)
    {
        printf("Ошибка открытия файла");
        return 1;
    }
    
    for (i=0; i<3; i++)
        { 
            printf ("введите название книги\t");
            k[i].name = new char [Amax];
            scanf_s("%s",k[i].name, Amax);
 
            printf ("введите фамилию автора\t");
            k[i].avtor = new char [Amax];
            scanf_s("%s",k[i].avtor, Amax);
 
            printf ("введите тематику книги\t");
            k[i].tematika = new char [Amax];
            scanf_s("%s",k[i].tematika, Amax);
 
            printf ("введите год выпуска книги\t");
            k[i].godvipuska = new char [Amax];
            scanf_s("%s",&k[i].godvipuska);
 
            printf ("введите ISBN книги\t");
            k[i].ISBN = new char [Amax];
            scanf_s("%s",k[i].ISBN, Amax);
 
            printf ("введите издательство книги\t");
            k[i].izdatelstvo = new char [Amax];
            scanf_s("%s",k[i].izdatelstvo, Amax);
 
            printf("\n");
        }
 
      fclose(f);
 
 
    f=fopen("katalogizator.txt","r+t");
    if (!f)
    {
        printf("Ошибка открытия файла");
        return 1;
    }
    for (i=0; i<3; i++)
    {
        fscanf (f, "%s %s %s %s %s %s \n", &k[i].name, &k[i].avtor, &k[i].tematika, &k[i].godvipuska, &k[i].ISBN, &k[i].izdatelstvo );
    }
      fclose(f);
 
 
for (i=0; i<3; i++)
      {
          printf("%s %s %s %s %s %s ", k[i].name, k[i].avtor, k[i].tematika, k[i].godvipuska, k[i].ISBN, k[i].izdatelstvo, Amax);
          printf("\n");
      };
    
 
   //ostream Hnyga;                                       // открытие потока
printf("введите название ключевого поля для поиска данных\t");
char *temp;
temp = new char[Amax];
scanf_s("%s",temp,Amax);
 
     f=fopen("katalogizator.txt","r+t");
     poisk(k,3,temp,strlen(temp));
     FILE *c;
     c=fopen("ooo.txt","r+t");
    for (i=0; i<j; i++)
      {
          printf("%s %s %s %s %s %s ", k[i].name, k[i].avtor, k[i].tematika, k[i].godvipuska, k[i].ISBN, k[i].izdatelstvo, Amax);
          printf("\n");
      }
    
 
for (i=0; i<3; i++)
{
  delete[] k[i].avtor;
  delete[] k[i].godvipuska;
  delete[] k[i].ISBN;
  delete[] k[i].izdatelstvo;
  delete[] k[i].name;
  delete[] k[i].tematika;
}
    _getch();
      return 0;
}
Добавлено через 2 часа 56 минут
помгите кто-нить
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru