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

C++

Войти
Регистрация
Восстановить пароль
 
Pascal2015
1 / 1 / 1
Регистрация: 28.11.2015
Сообщений: 25
#1

Исправить код базы данных - C++

13.01.2016, 23:35. Просмотров 282. Ответов 0
Метки нет (Все метки)

Помогите решить задачу
Особенности - условие задачи является внедрение трех функций
- insert - вставить новую строку (запись) в системе со всей информацией,
-find - указано количество столбцов, по которым она ищет
-номера столбцов считаются от 0
- параметр функции является тип в соответствии с выбранной колонкой
- возвращает список строк из системы (желательно ссылки (pointer*) const...) по
ключам поиска в этом столбце
-erase - снова указано количество столбцов
- параметр введен правильно по колонкам
-удаляет все записи, для которых данное положение совпадает с параметром
запись значения
- возвращает количество удаленных строк


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
#include<iostream>
#include<vector>
#include<conio.h>
#include<string>
using namespace std;
 
 
int main() {
 
enum position { student, teacher, external_worker };
class inf_system {
    //first name, last name, position, telephone, address
    typedef tuple<string, string, position, size_t, string> row_def;
    typedef const row_def * row_def_const_ptr;
    template<size_t idx>
    using type = typename tuple_element<idx, row_def>::type;
    void insert(const string& first_name, const string& last_name,
        const position& position, const size_t& telephone, const string& address);
    template<size_t idx>
    vector<row_def_const_ptr> find(const type<idx>& value) { ... }
    template<size_t idx>
    size_t erase(const type<idx>& value) { ... }
};
    int main() {
        inf_system inf_system;
 
        inf_system.insert("Prokofjev", "Shaldybin", student, 507 - 66 - 87, "Azovska 1, Moskva");
        inf_system.insert("Prokofjev", "Artem", student,  269 - 85 - 85, "Glinky 27, Fevralskoye");
        inf_system.insert("Rusov", "Solomon", teacher,  598 - 87 - 43, "Baumanskaja 11, Takhtamukay");
        inf_system.insert("Dmitrieva", "Alina", teacher,  598 - 21 - 47, "Avanhard 3, Chaplygin");
        inf_system.insert("Gorodnova", "Viktoria", teacher, 517 - 31- 23, "Baumanskaja 43, Takhtamukay");
        auto result = inf_system.find<2>(student);
        print_vector(result);
        auto count = inf_system.erase<1>("Prokofjev"); 
        auto result = inf_system.find<2>(student);
        print_vector(result);
        auto count = inf_system.erase<1>("Prokofjev");
    }
 
    void print_vector(const vector<inf_system::row_def_const_ptr>& vector) {
        for (const auto& r : vector) {
            cout << get<0>(*r) << " " << get<1>(*r) << " " << get<2>(*r) <<
                " " << get<3>(*r) << " " << get<4>(*r) << endl;
        }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2016, 23:35     Исправить код базы данных
Посмотрите здесь:

Исправить код C++ Builder
C++ Исправить код
исправить на код С C++
C++ Исправить код
Подсобите примерами - база данных без базы данных C++ Builder
исправить код C++
C++ Исправить код
C++ исправить код
C++ Исправить код
C++ Исправить код
C++ Исправить код
Исправить код C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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