Форум программистов, компьютерный форум 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++ Для каждого 0.1≤a≤0.2 при всех 0.5≤b≤0.8 с шагом ∆B=0.1... http://www.cyberforum.ru/cpp-beginners/thread127172.html
Здравствуйте, форумчане...нуждаюсь в помощи по написанию программы...помогите пожалуйста... Задание: Для каждого 0.1≤a≤0.2 при всех 0.5≤b≤0.8 с шагом ∆B=0.1 вычислить с=(a*x^2+b*x)/(x+e^x) + x; d=Cos(a*b+b); причем, если d≤0, то ∆a=0.025 иначе a=0.01; x-вводить
C++ E2034 Cannot convert 'char' to 'char *' Добрый день всем! Помогите плз исправить ошибку. Не понимаю чего она происходит. Вообщем, нужно все елементы строки text запихнуть в двумерный массив. Вот код: char* st=text.c_str(); char** matr; int iter=0; matr=new char*; for (int i=0; i<col; i++) matr=new char; while (iter<text.Length()) { //запись по столбцам подробнее

Показать сообщение отдельно
Luna17
 Аватар для 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 минут
помгите кто-нить
 
Текущее время: 21:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru