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

Мультисписки. Функция добавление элемента для магазинов и сотрудников с использованием БЕЗТИПОВЫХ указателей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти вектор x, как решение данной системы уравнений http://www.cyberforum.ru/cpp-beginners/thread1111382.html
Найти вектор x, как решение данной системы уравнений
C++ Использование специальных символов в коде кто нибудь знает, как сделать так, что бы в visual studio выводились спец. символы, типа █, заместо "?"? http://www.cyberforum.ru/cpp-beginners/thread1111381.html
Количество нечётных вершин в графе C++
Создал граф, записал в список вершины и рёбра, потом в программе вывел матрицу смежности, помогите пожалуйста подсчитать вершины, из которых выходит нечетное количество ребер #include "stdafx.h" #include <fstream> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) { setlocale(0,"");
Задана матрица целых чисел A(n×n). Сформировать массив B(n) из максимальных элементов столбцов заданной матрицы C++
Задана матрица целых чисел A(n×n). Сформировать массив B(n) из максимальных элементов столбцов заданной матрицы. Вывести номера строк, в которых числа-палиндромы находятся на диагоналях матрицы.
C++ В двумерном массиве С, состоящем из n×n целых чисел вычислить: http://www.cyberforum.ru/cpp-beginners/thread1111371.html
В двумерном массиве С, состоящем из n×n целых чисел вычислить: • номер наименьшего элемента; • сумму квадратов отрицательных элементов; • минимальное простое число среди элементов, расположенных в заштрихованной части матрицы (рис. 51). Для заданной матрицы С(n×n) и матрицы того же типа и размерности B(n×n) найти значение выражения A=(B^T+C)^2
C++ Графики непрерывных функций Написать программу, которая строит графики непрерывных функций одной переменной. Мне нужны примеры программ, может ссылки сайтов или литературы, которые могут помочь в разработке. Я в этом деле новичок, не знаю даже с чего начать. подробнее

Показать сообщение отдельно
roma_m
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 36
04.03.2014, 22:42     Мультисписки. Функция добавление элемента для магазинов и сотрудников с использованием БЕЗТИПОВЫХ указателей
Товарищи! Помогите пожалуйста! Проблема: работа с мультисписком, а точнее с реализацией функций. Нужно сделать функцию добавление элемента мультисписка для магазинов и сотрудников, но с использованием БЕЗТИПОВЫХ указателей, то есть задача такая: если обычно для добавления нужно создать функцию добавления для каждого уровня, то здесь должна быть одна функция, но она может использоваться для обоих уровней мультисписка.
Вот код для простого добавления элементов в кажды уровень списка:
void addShop(TShop *&Start){
C++ (Qt)
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
    TShop *pNew = new TShop;
    cout<<"\nВвод информации о новом магазине!";
    cout<<"\nВведите название магазина: ";
    cin>>pNew->name;
    cout<<"Введите специализацию магазина: ";
    cin>>pNew->spec;
    pNew->next=NULL;
    pNew->subShop=NULL;
    addShopToSortList(Start, pNew);
    cout<<"\nДобавление прошло успешно!\n";
    cout<<"\nСодержимое списка:";
    showList(Start);
}
void addSotr(TShop *&Start){
    string name;
    TShop *wp, *pp;
    cout<<"\n\nВвод информации о магазине:\n";
    cout<<"Введите название магазина: ";
    cin>>name;
    if(name.length()==0){
        cout<<"\nОблом\n";return;
    }
    bool isSotr = findShop(Start, name, pp, wp);
    if(!isSotr){
        cout<<"\nОблом\n";return;
    }
    TSotr *pNew = new TSotr;
    cout<<"Ввод информации о новом сотруднике:\n";
    cout<<"Введите фамилию: ";
    cin>>pNew->fam;
    cout<<"Введите должность: ";
    cin>>pNew->dol;
    cout<<"Введите зарплату: ";
    cin>>pNew->zarp;
    pNew->next=NULL;
    addSotrToSortList(wp->subShop,pNew);
    cout<<"\nДобавление прошло успешно!\n";
    cout<<"Содержимое списка:";
    showList(Start);
}
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void addShopToSortList(TShop *&Start, TShop *pNew){
    TShop *wp,*pp;
    for(wp=Start,pp=NULL;wp!=NULL&&pNew->name >wp->name;pp=wp,wp=wp->next){}
    if(pp == NULL) Start = pNew;
    else pp->next = pNew;
    pNew->next=wp;
}
void addSotrToSortList(TSotr *&Start, TSotr *pNew){
    TSotr *wp, *pp;
    for(wp=Start,pp=NULL;wp!=NULL&&pNew->fam > wp->fam;pp=wp,wp=wp->next){}
    if(pp == NULL)Start=pNew;
    else pp->next=pNew;
    pNew->next=wp;
}
Буду благодарен любой адекватной помощи!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru