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

Динамическое добавление элемента в массив структуры - C (СИ)

Восстановить пароль Регистрация
 
druidich
 Аватар для druidich
30 / 30 / 4
Регистрация: 21.05.2012
Сообщений: 431
09.01.2017, 11:59     Динамическое добавление элемента в массив структуры #1
Добрый день
у меня имеется:
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
typedef struct aviaRace
{
    char punkt[100];
    int time;
    int polet;
    int mest;
} record;
 
void InputData(record* Data) {
    char c;
    while (1) {
        printf_s("input punkt ->");
        scanf_s(" %99s", Data->punkt, 100);
        printf_s("input time ->");
        scanf_s("%d", &Data->time);
        printf_s("input polet ->");
        scanf_s("%d", &Data->polet);
        printf_s("input free mest ->");
        scanf_s("%d", &Data->mest);
        printf_s("exit ? y-yes n - no\n");
        scanf_s(" %c", &c);
        if (c == 'y') {
            return;
        }
        CountRaces++;
        Data = (record*)malloc(sizeof(record) * CountRaces);
        Data++;
    }
 
}
 
int CountRaces = 1; //кол-во элементов в массиве
int main() {
    record* Races = (record*)malloc(sizeof(record) * CountRaces);
        InputData(&Races);
...
        return 0;
}
но когда я вывожу массив на экран
C
1
2
3
4
5
6
7
8
void OutData(record* Data) {
    printf_s("\n Input data :\n");
    for (int i = 0; i < CountRaces; i++) {
        printf_s("punkt:%s\n time:%d\npolet: %d\nfree mest: %d \n ", Data->punkt, Data->time, Data->polet, Data->mest);
        Data++;
    }
    printf_s("\n\n");
}
правильно выводится только первая запись. Как правильно динамически ввести в массив структур ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2017, 11:59     Динамическое добавление элемента в массив структуры
Посмотрите здесь:

C (СИ) Ошибка при проверке элемента структуры
Добавление элемента в список C (СИ)
C (СИ) Функция удаления элемента структуры
Добавление, вставка и удаления элемента структуры C (СИ)
C (СИ) Добавление элемента в структуру
C (СИ) Добавление в конец списка новой структуры
C (СИ) Динамическое выделение памяти под структуры
C (СИ) Структуры данных-стек. Чтение головного элемента
Динамическое распределение памяти: программа, вылетает на вводе непосредственно первого элемента массива C (СИ)
C (СИ) Меняется только первая буква элемента структуры
C (СИ) Отсортировать массив с первого элемента до P элемента по возрастанию
C (СИ) Структуры, ошибка загрузки пятого элемента

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

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

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