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

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

Войти
Регистрация
Восстановить пароль
 
vpnwz151
10 / 11 / 1
Регистрация: 03.11.2011
Сообщений: 129
#1

Динамический массив, запись и удаление - C++

07.05.2012, 09:38. Просмотров 788. Ответов 1
Метки нет (Все метки)

Помогите решить задачу нужно создать динамический массив записать в него работника, выйти в меню и записать опять нового, выйти в меню зайти в поиск через stricmp в массиве найти роботника 1 и вывести на экран. Нужна еще чтоб можно было удалить его. Как это организовать!
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2012, 09:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамический массив, запись и удаление (C++):

Динамический массив, удаление и вставка элементов - C++
Имеется класс пользователя. Нужно создать динамический массив. MyClass **arr; Инициализация: arr = new MyClass*; Собственно вопрос:...

Запись слова в динамический массив - C++
помогите пожалуйста, пользователь вводит слово, надо записать это слово по буквам в массив (1 буква, одна ячейка массива) , как определить...

Запись данных в динамический массив - C++
Цель программы: принимать от пользователя ,не ограниченное количество раз, числа типа float и записывать их в динамический массив. Так ,...

Запись значения в динамический массив - C++
Добрый вечер, Сел я на ночь глядя писать программу, но вот проблема int s=0,k=0,z=0; char *temp = new char; char *tempnum = new...

Двумерный динамический массив и запись в него - C++
Всем доброго времени суток.Проблема с записью в двумерный динамический массив Чтение производиться из файла с разделителями. Структура...

Запись данных в динамический массив через указатели - C++
Здравствуйте! У меня возникла проблема... Когда я ввожу, например, 10 чисел в дин. массив, цикл while(через который я и хочу организовать...

1
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
07.05.2012, 15:48 #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
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
134
135
136
137
138
139
140
141
#include <iostream>
#include <windows.h>
#include <string.h>
using namespace std;
 
enum {SHOWALL=1, ADD, DEL, SEARCH, EXIT};
 
int menu()
{
    system("cls");
    cout << "[1] Показать\n";
    cout << "[2] Добавить\n";
    cout << "[3] Удалить\n";
    cout << "[4] Поиск\n";
    cout << "[5] Выход\n";
    cout << "Выбор: ";
    int key;
    bool flag = false;
    do
    {
        cin >> key;
        if(!cin.good())
        {
            cin.clear();
            cin.ignore(100,'\n');
        } else if(key>0 && key<6) flag = true;
 
    }while(!flag);
    cin.ignore(100,'\n');
    return key;
}
 
void Show(char **p, const int N)
{
    system("cls");
    for(int i=0; i<N; i++)
        cout << i+1 << ": " << p[i] << endl;
    system("pause");
}
 
char **Add(char **p, int &N)
{
    system("cls");
    N++;
    cout << "Добавление " << N << " записи: ";
    char **temp = new char *[N];
    if(p)
    {
        for(int i=0; i<N-1; i++) temp[i] = p[i];
        delete []p;
    }
    char str[100];
    cin.getline(str,100);
    temp[N-1] = new char [strlen(str)+1];
 
    strcpy(temp[N-1],str);
    cout << "\nДанные успешно добавлены!\n";
    system("pause");
    return temp;
}
 
char **Del(char **p, int &N)
{
    system("cls");
    int to_del;
 
    cout << "Номер удаляемого элемента: ";
    do
    {
        cin >> to_del;
    } while (to_del<0 || to_del>(N-1));
    delete p[to_del];
    char **temp = new char *[N-1];
    if(p)
    {
        for(int i=0, j=0; i<N; j++)
        {
            if(j!=to_del)
            {
                temp[i] = p[j];
                i++;
            }
        }
        delete []p;
    }
    N--;
    cout << "\nДанные успешно удалены!\n";
    system("pause");
    if(!N) return NULL;
    else return temp;
}
 
void Search(char **p, const int N)
{
    system("cls");
    cout << "Поиск работника/n";
    char *temp = new char [100];
    cout << "Введит слово для поиска: ";
    cin >> temp;
    for(int i=0; i<N; i++)
    {
        if(stricmp(p[i],temp) == 0)
        {
            cout << "Найден работник по совпадению " << temp << ": " << p[i] << endl;
            system("pause");
            break;
        }
        if(i==(N-1))
        {
            cout << "Поиск не дал результатов\n";
            system("pause");
        }
    }
}
 
int main()
{
    SetConsoleOutputCP(1251);
 
 
    char **empl = NULL;
    int cnt=0;
 
    int key;
    do
    {
        switch(key=menu())
        {
          case SHOWALL: if(empl) Show(empl, cnt);
          break;
          case ADD: empl = Add(empl, cnt);
          break;
          case DEL: if(empl) empl = Del(empl,cnt);
          break;
          case SEARCH: Search(empl, cnt);
          break;
          case EXIT: return 0;
        };
    }while(true);
 
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2012, 15:48
Привет! Вот еще темы с ответами:

Одномерный динамический массив, передача в функции, добавление и удаление элемента - C++
Разбираю одномерные динамические массивы. Пока всё просто, пока и не возникает вопросов. Массив объявил, проинициализировал, сгенерировал и...

Класс "динамический массив" - добавление и удаление элементов в рантайме - C++
#ifndef ARRAY// if not defined #define ARRAY Class ARRAY{ Public ARRAY(); ~ ARRAY(); Void push_back (int...

Можно ли в классе создавать массив переменной длинны. Например динамический массив? - C++
Динамические массивы привлекают больше. :)

Написать функцию принимающую массив и возвращающую указатель на динамический массив - C++
Написать функцию принимающую массив и возвращающую указатель на динамический массив содержащий первые n нaибольших чисел. Как сделать...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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