Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с файлом https://www.cyberforum.ru/ cpp/ thread212600.html
В файле даны буквы. Вывести их в другой файл так,чтобы в 1-ой строке была одна буква,во 2-ой две буквы,в 3-ей три и тд.В последней строке оставшиеся буквы.Библиотека "fstream.h" Например: ...
Оператор While срочно!!! C++
Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления.
C++ Beginning C++ Game Programming
У меня несколько вопросов по поводу этой книги. 1. Хорошая ли книга 2. На коком уровне нужно быть чтобы имело смысл читать
C++ Обработка динамических матриц Помогите пожалуйста, нужно решить задачу: Найти в матрице первую строку, все элементы которой упорядочены по возрастанию. Изменить упорядоченность элементов этой строки на обратную. https://www.cyberforum.ru/ cpp/ thread212379.html
C++ работа с файлом https://www.cyberforum.ru/ cpp/ thread212344.html
дан строковой файл, содержащий упорядоченный по алфавиту список жителей района с указанием фамилии и инициалов. Вывести список неповторяющихся фамилий. Учесть что однаяаться окончанием
C++ Расчет сетевого графа
Народ помогите программно реализовать расчет сетевого графа с выделением критического пути. Хоть какой алгоритм использовать вообще не знаю как делать. Зарание благодарен.
работа со строками C++
8. С клавиатуры вводится строка символов, представляющая собой некоторый отрывок литературного произведения, а также слово w. Вывести на экран все предложения, содержащие данное слово w. Помогите...
C++ Функции с переменным числом параметров Помогите пожалуйста исправить ошибку в программе!!! Проблема в том, что не учитывается степень разряда при переводе в восьмеричную систему. Написать функцию с переменным числом параметров для... https://www.cyberforum.ru/ cpp/ thread212017.html
C++ Шифрование текстового файла. https://www.cyberforum.ru/ cpp/ thread211859.html
Здравствуйте, дорогие формучани. В общем вопрос таков. Надо написать программу, которая будет шифровать файл или с добавлением битов в него или перевод информацию, которую он считает в другую...
C++ Замените пробелы символом подчеркивания Напишите пожалуйста программу по задаче если кому не трудно!Буду благодарна! ) Введите с клавиатуры строку символов, после чего замените все пробелы символом подчеркивания и выведите... https://www.cyberforum.ru/ cpp/ thread211843.html
0 / 0 / 1
Регистрация: 18.04.2010
Сообщений: 19
0

Двунаправленный ассоциативный контейнер для хранения структур

16.12.2010, 18:47. Просмотров 1241. Ответов 2
Метки (Все метки)

12. Двунаправленный ассоциативный контейнер.

Цель: разработать программу, реализующую функционал телефонной книги.

Задачи:
12.1 Разработать структуру данных для хранения информации и контейнер для хранения структур данных.
12.2 На основе контейнера реализовать следующие операции:
- добавление абонента;
- удаление абонента;
- изменение информации об абоненте;
- поиск телефонного номера по имени абонента;
- поиск имени абонента по телефонному номеру.
12.3 Создать пользовательский интерфейс, позволяющий осуществлять поиск, отображение и редактирование данных об абоненте. Создать помощники (wizard) для добавления/удаления абонента.

Собственно интересует только первый пункт, т.к. остальное могу реализовать сам. Что такое двунаправленный ассоциативный контейнер я знаю. проблема состоит в том, что я не знаю как его правильно реализовать программно. У меня есть 2 варианта решения задачи: первый - через один массив, второй - через 2 массива с сохранением связей. Первый Вариант я сделать попробовал, но что-то все равно не так.... Второй вариант как реализовать я не знаю...
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
#include <iostream>
#include <assert.h>
using namespace std;
 
class Massive
{
public:
    Massive();
    ~Massive();
    void getElement(int N);
    void setElement(char *NAME, int num, int N);
    void setSize(int N);
    void getSize(int &N);
private:
    struct PhoneBook {
        char *name;
        int number;
    } *PhoneBookTab;
    int N;
};
 
Massive::Massive()
{
    N=0;
    PhoneBookTab=NULL;
}
 
Massive::~Massive()
{
    for(int i=0; i<N; i++)
        delete []PhoneBookTab;
}
 
void Massive::getElement(int n) // Функцию вывода элементов пока не писал
{
 
}
 
void Massive::setElement(char *NAME, int num, int n)
{
    assert(n>=0 && n<=N);
    PhoneBookTab[n].name=NAME;
    PhoneBookTab[n].number=num;
}
 
void Massive::setSize(int lenght)
{
    assert(lenght>=0);
    for(int i=0; i<N; i++)
        delete[] PhoneBookTab;
    PhoneBook *PhoneBookTab = new PhoneBook[lenght];
    N=lenght;
}
 
void Massive::getSize(int &lenght)
{
    N=lenght;
}
 
int main()
{
    Massive tab;
    int n, num;
    char *NAME;
 
    cout<<"Input number: ";
    cin>>n;
 
    tab.setSize(n);
    for(int i=0; i<n; i++)
    {
        cout << "Input name of abonent: ";
        cin >> NAME;
        cout << "Input tel number: ";
        cin >> num;
        tab.setElement(NAME, num, i);
    }
 
    return 0; 
}


Вернуться к обсуждению:
Двунаправленный ассоциативный контейнер для хранения структур
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2010, 18:47
Готовые ответы и решения:

Заменить контейнер vector, использовавшийся для хранения текстовых строк (листинг 2.3), на контейнер list
Здравствуйте форумчане, может кто объяснить как делать это задание и что собственно мы тут вообще...

Подскажите контейнер для хранения данных
Доброе время суток, имеем файл следующего содержания: # | Name | Type | Target 1 test txt ...

Контейнер для хранения информации
создал CLR/C++, добавил winforms, разместил пару textbox, разместил кнопку. создал класс и...

Подскажите контейнер для хранения
Задача такая, нужно хранить уникальные строки например в Set&lt;&gt; но при этом мне надо одновременно...

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