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

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

Войти
Регистрация
Восстановить пароль
 
Ms Proger
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 88
#1

База данных. Выдает ошибки - C++

08.05.2014, 12:51. Просмотров 263. Ответов 12
Метки нет (Все метки)

Здравствуйте. я столкнулся с заданием: создать базу данных на С++ учета книг в библиотеке: удаление их, добавление... Есть начало программы: компиллятор выдает ошибки, подскажите в продолжении программы и в ошибках (как их исправить) , пожалуйста

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 "stdafx.h"
#include <locale.h>
#include <iostream>
#include "vector.h"
#include "stdio.h"
 
using namespace std;
 
struct BD_T//задаем б.д.
{
    int id;
    string NameOfBook;//имя книги
    string TypeOfBook;//тип книги
}
 
int add_book(string NameOfBook, string TypeOfBook)
{
    int id = 0;
    //create new struct BD_T and push back this struct to vector
    //return id of new book
    return id;
}
 
int remove_book(int id)
{
    //remove book with id = id from vector
    return 0;
}
 
int print_books(int id, bool all)
{
    if (all == true)
    {
        //print all books from vector
    }
    else
    {
        //print books from vector with id = id
    }
    return 0;
}
     
     void main()
     {
         char filename[15];//задаем имя файла (15 символов)
         int count_of_books;
         std:vector<struct BD_T> bd_vector;
         printf("Enter the name of file: ");
         scanf("%s", filename); //вводим имя файла с клавиатуры
         printf("\r\n");
         FILE * file=fopen(filename,"r");
            
         if(file!=NULL)
         {
            fscanf(file, "%i", &count_of_books); //read count of books from file.
            vector<struct BD_T> gl_vector[count_of_books]; //create vector of BD_T with size count_of_books
            printf("Success\r\n");
            
            int flag = 0;
            while (flag != -1)
            {
                printf("------------------------\r\n");
                printf("Main menu:\r\n");
                printf("0 - exit\r\n");
                printf("1 - print all books\r\n");
                printf("2 - printf books by id\r\n");
                printf("3 - add_book\r\n");
                printf("4 - remove book by id\r\n");
                printf("------------------------\r\n");
                scanf("%i", &flag);
                printf("\r\n");
                switch(flag)
                {
                    case 0:
                    {
                        flag = -1;
                        printf("exit\r\n");
                        break;
                    }
                    case 1:
                    {
                        print_books(0, true);
                        
                        break;
                    }
                    case 2:
                    {
                        printf("Input id of book\r\n");
                        int id;
                        scanf("%i", id);
                        printf("\r\n");
                        
                        print_books(id, false);
                        
                        break;
                    }
                    case 3:
                    {
                        string name;
                        string type;
                        printf("Input name of books: \r\n");
                        cin>>name;
                        printf("Input type of books: \r\n");
                        cin>>type;
                        
                        add_book(name,type);
                        
                        break;
                    }
                    case 4:
                    {
                        printf("Input id of book\r\n");
                        int id;
                        scanf("%i", id);
                        printf("\r\n");
                        
                        remove_book(id);
                        
                        break;
                    }
                }
            }
            
            
            
         }
         else 
         {
            printf("Problem with openning the file %s\r\n exit\r\n", filename);
             return -1;//если это не выполняется, то программа выходит
         }
 
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2014, 12:51     База данных. Выдает ошибки
Посмотрите здесь:

База данных студентов (найти ошибки) - C++
доброго всем время суток!!!!хотел бы обратится за помощью к тем,кто с программированием на &quot;ты&quot;. просьба небольшая,просто я написал прогу...

Выдает ошибки. - C++
Помогите разобраться, пишу программы в универе, запускаю и все работает, прихожу домой запускаю эту же программу, а С++ выдает мне...

Выдает ошибки - C++
Помогите исправить #include &quot;stdafx.h&quot; #include &lt;cstring&gt; #include &lt;iostream&gt; using namespace std; class integer1 { ...

Выдает ошибки - C++
Помогите исправить #include &quot;stdafx.h&quot; #include &lt;cstring&gt; #include &lt;iostream&gt; using namespace std; class integer17 { ...

Программа выдает ошибки - C++
#include &quot;iostream.h&quot; #include &quot;conio.h&quot; void vvod(int a,int n,int m) { int i,j; cout&lt;&lt;&quot;Vvedite elementi massiva\n&quot;; ...

Программа выдает ошибки - C++
Помогите, пожалуйста, исправить ошибки #include &lt;iostream&gt; //5,21//переделать #include &lt;string&gt; #include &lt;algorithm&gt; using...

Компилятор выдает ошибки - C++
Почему компилятор Microsoft Visual C++ 7.1 не хочет компилить вот этот код: #include &lt;fstream&gt; long a, b, c; int main(){ ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5137 / 4457 / 1486
Регистрация: 14.04.2014
Сообщений: 17,701
08.05.2014, 13:08     База данных. Выдает ошибки #2
При создании vector, слово struct убрать для начала. И зачем их 2 в 47 и в 56 строках? Это разные, что ли?
Ms Proger
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 88
08.05.2014, 13:16  [ТС]     База данных. Выдает ошибки #3
не разные. одинаковые. убрал struct. ничего не меняет. все также(в плане ошибок)
nmcf
5137 / 4457 / 1486
Регистрация: 14.04.2014
Сообщений: 17,701
08.05.2014, 13:40     База данных. Выдает ошибки #4
Ошибки то какие? В каких строках?
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
08.05.2014, 13:45     База данных. Выдает ошибки #5
Цитата Сообщение от Ms Proger Посмотреть сообщение
C++
1
vector<struct BD_T> gl_vector[count_of_books];
Это вообще-то не вектор размера count_of_books, а массив векторов.
Для установки начального размера надо вызывать конструктор с параметром:
C++
1
vector<struct BD_T> gl_vector(count_of_books);// круглые скобки
Ms Proger
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 88
08.05.2014, 13:48  [ТС]     База данных. Выдает ошибки #6
C++
1
2
3
4
5
6
7
8
Ошибка  1   error C2628: недопустимый 'BD_T' с последующим 'int' (возможно, отсутствует ';')    c:\users\днс\documents\visual studio 2008\projects\база данных\база данных\база данных.cpp  16
Ошибка  2   error C2664: BD_T::BD_T(const BD_T &): невозможно преобразовать параметр 1 из 'int' в 'const BD_T &'    c:\users\днс\documents\visual studio 2008\projects\база данных\база данных\база данных.cpp  21
Ошибка  3   error C2057: требуется константное выражение    c:\users\днс\documents\visual studio 2008\projects\база данных\база данных\база данных.cpp  56
Ошибка  4   error C2466: невозможно выделить память для массива постоянного нулевого размера    c:\users\днс\documents\visual studio 2008\projects\база данных\база данных\база данных.cpp  56
Ошибка  5   error C2133: gl_vector: неизвестный размер  c:\users\днс\documents\visual studio 2008\projects\база данных\база данных\база данных.cpp  56
Ошибка  6   error C2679: бинарный '>>': не найден оператор, принимающий правый операнд типа 'std::string' (или приемлемое преобразование отсутствует)   c:\users\днс\documents\visual studio 2008\projects\база данных\база данных\база данных.cpp  102
Ошибка  7   error C2679: бинарный '>>': не найден оператор, принимающий правый операнд типа 'std::string' (или приемлемое преобразование отсутствует)   c:\users\днс\documents\visual studio 2008\projects\база данных\база данных\база данных.cpp  104
Ошибка  8   error C2562: main: функция типа 'void', возвращающая значение   c:\users\днс\documents\visual studio 2008\projects\база данных\база данных\база данных.cpp  130
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
08.05.2014, 13:49     База данных. Выдает ошибки #7
Вот так по крайней мере собирается:
Кликните здесь для просмотра всего текста
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
#include <locale.h>
#include <iostream>
#include <vector>
#include <cstdio>
 
using namespace std;
 
struct BD_T//задаем б.д.
{
    int id;
    string NameOfBook;//имя книги
    string TypeOfBook;//тип книги
};
 
int add_book(string NameOfBook, string TypeOfBook)
{
    int id = 0;
    //create new struct BD_T and push back this struct to vector
    //return id of new book
    return id;
}
 
int remove_book(int id)
{
    //remove book with id = id from vector
    return 0;
}
 
int print_books(int id, bool all)
{
    if (all == true)
    {
        //print all books from vector
    }
    else
    {
        //print books from vector with id = id
    }
    return 0;
}
     
     int main()
     {
         char filename[15];//задаем имя файла (15 символов)
         int count_of_books;
         std:vector<struct BD_T> bd_vector;
         printf("Enter the name of file: ");
         scanf("%s", filename); //вводим имя файла с клавиатуры
         printf("\r\n");
         FILE * file=fopen(filename,"r");
            
         if(file!=NULL)
         {
            fscanf(file, "%i", &count_of_books); //read count of books from file.
            vector<struct BD_T> gl_vector(count_of_books); //create vector of BD_T with size count_of_books
            printf("Success\r\n");
            
            int flag = 0;
            while (flag != -1)
            {
                printf("------------------------\r\n");
                printf("Main menu:\r\n");
                printf("0 - exit\r\n");
                printf("1 - print all books\r\n");
                printf("2 - printf books by id\r\n");
                printf("3 - add_book\r\n");
                printf("4 - remove book by id\r\n");
                printf("------------------------\r\n");
                scanf("%i", &flag);
                printf("\r\n");
                switch(flag)
                {
                    case 0:
                    {
                        flag = -1;
                        printf("exit\r\n");
                        break;
                    }
                    case 1:
                    {
                        print_books(0, true);
                        
                        break;
                    }
                    case 2:
                    {
                        printf("Input id of book\r\n");
                        int id;
                        scanf("%i", id);
                        printf("\r\n");
                        
                        print_books(id, false);
                        
                        break;
                    }
                    case 3:
                    {
                        string name;
                        string type;
                        printf("Input name of books: \r\n");
                        cin>>name;
                        printf("Input type of books: \r\n");
                        cin>>type;
                        
                        add_book(name,type);
                        
                        break;
                    }
                    case 4:
                    {
                        printf("Input id of book\r\n");
                        int id;
                        scanf("%i", id);
                        printf("\r\n");
                        
                        remove_book(id);
                        
                        break;
                    }
                }
            }
            
            
            
         }
         else 
         {
            printf("Problem with openning the file %s\r\n exit\r\n", filename);
             return -1;//если это не выполняется, то программа выходит
         }
 
    }
Ms Proger
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 88
08.05.2014, 13:54  [ТС]     База данных. Выдает ошибки #8
Добавлено через 3 минуты
извиняюсь, а следует добавлять stdafx.h?
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
08.05.2014, 13:56     База данных. Выдает ошибки #9
Цитата Сообщение от Ms Proger Посмотреть сообщение
а следует добавлять stdafx.h?
Если Вам это нужно - добавляйте, а вообще, нет
Ms Proger
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 88
08.05.2014, 14:10  [ТС]     База данных. Выдает ошибки #10
как чувствовал:

ругается компиллятор: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник.

подскажите почему?

Добавлено через 11 минут
мне кажется, программа не компиллируется....
nmcf
5137 / 4457 / 1486
Регистрация: 14.04.2014
Сообщений: 17,701
08.05.2014, 14:19     База данных. Выдает ошибки #11
Ну добавь, если он нужен. Мешает, что ли?
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
08.05.2014, 14:19     База данных. Выдает ошибки #12
Цитата Сообщение от Ms Proger Посмотреть сообщение
Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник.
Для справки http://stackoverflow.com/a/4726838/3240681
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2014, 14:36     База данных. Выдает ошибки
Еще ссылки по теме:

Студия выдает ошибки - C++
Студия при компиляции выдает ошибки, раньше на пк стояла другая винда там все работало а с новой не хочет, компилирует тока си-шарп,...

Компилятор выдает бредовые ошибки - C++
1&gt;f:\lessons\c++\projects-2013\students-beta\students\usestudents.cpp(4): error C2628: недопустимый &quot;Students&quot; с последующим &quot;int&quot;...

поправьте код компилятор выдает ошибки - C++
#include &lt;iostream&gt; using namespace std; bool Hit(float x, float y, float r) { ...

Почему программа не работает и выдает ошибки? - C++
Здравствуйте! У меня программа выдает следующие ошибки: 1. vcl.h: No such file or directory. 2. In function `int main()': 3. ...

выдает ошибки,какие не могу понять - C++
/*В целочисленном массиве найти количество четных чисел, рас-положенных между первым и последним нулевыми числами этого мас-сива. ...


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

Или воспользуйтесь поиском по форуму:
Ms Proger
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 88
08.05.2014, 14:36  [ТС]     База данных. Выдает ошибки #13
В том то и дело, что добавляю, и возникает куча ошибок. Спасибо за статью)
Yandex
Объявления
08.05.2014, 14:36     База данных. Выдает ошибки
Ответ Создать тему
Опции темы

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