Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2016, 23:52   #1
Pascal2015
 
Регистрация: 13.01.2016
Сообщений: 6
По умолчанию База данных

Помогите решить задачу
Особенности - условие задачи является внедрение трех функций
- insert - вставить новую строку (запись) в системе со всей информацией,
-find - указано количество столбцов, по которым она ищет
-номера столбцов считаются от 0
- параметр функции является тип в соответствии с выбранной колонкой
- возвращает список строк из системы (желательно ссылки (pointer*) const...) по
ключам поиска в этом столбце
-erase - снова указано количество столбцов
- параметр введен правильно по колонкам
-удаляет все записи, для которых данное положение совпадает с параметром
запись значения
- возвращает количество удаленных строк
Код:
#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;
        }
    }
Pascal2015 вне форума Ответить с цитированием
Старый 07.04.2016, 16:50   #2
SuperTech
Новичок
Джуниор
 
Аватар для SuperTech
 
Регистрация: 07.04.2016
Сообщений: 8
По умолчанию

Вы уверенны что это именно база банных? Это просто контейнеры, заполненные данными
SuperTech вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Postgres: может ли база данных дать отчет, какой язык используется в данных? Blondy SQL, базы данных 2 30.03.2014 06:25
база данных. добавление и удаление данных midiss Общие вопросы Delphi 3 09.12.2011 13:07
База данных и технология хранения данных Kate1 Помощь студентам 2 17.11.2011 23:27
Небольшая база в Open Office База данных. sashaman Фриланс 3 11.04.2010 20:13
База данных с возможностью приема данных из файлов Excel Al_Sha БД в Delphi 6 16.10.2009 15:34