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

Динамический массив структур - C++

Восстановить пароль Регистрация
 
Ded_Vasilij
 Аватар для Ded_Vasilij
229 / 211 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
01.12.2012, 17:59     Динамический массив структур #1
Задача: Дана структура
C++
1
2
3
4
5
6
struct Payment
{
    char *Name; // ФИО человека в виде строки
    char *Date;     // дата в виде строки формата dd.mm.yy
    int Sum;        // сумма платежа
};
Напишите функции создания массива из n структур,удаления массива, ввода и вывода всех элементов массива.
Проблема: что-то мне подсказывает, что ввод и вывод написаны коряво. Подскажите пожалуйста, что поправить.
Вот мой код:

//*******************************************************************************
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
void Del_Arec (Payment * Arec,int size)
{ 
    for(int i = 0;i < size;i++)
    {
        delete [] Arec[i].Name;
        delete [] Arec[i].Date;     
    }
    delete [] Arec;       
}
//*******************************************************************************
Payment * new_Arec(int size)//выделение памяти под массив структур
{
    Payment * Arec = new Payment[size];   
    int i = 0;
    try
    {       
        for(;i < size;i++)
        {
            Arec[i].Name = new char[255];
            Arec[i].Sum = 0;
            Arec[i].Date = new char[255];       
        }
        return Arec;
    }
    catch (bad_alloc e)
    {        
        cerr << e.what();   
        Del_Arec(Arec,i);
        throw;
    }       
}
//*******************************************************************************
void cin_Arec(Payment * Arec, int size)
{
    for(int i = 0; i < size; i++)
    {
        cin.getline(Arec[i].Name,255);
        cin.getline(Arec[i].Date,255);
        cin >> Arec[i].Sum;
    }
}
//*******************************************************************************
void print_Arec(Payment * Arec, int size)
{
    for(int i = 0; i < size; i++)
    {
        cout << Arec[i].Name << endl;
        cout << Arec[i].Date << endl;
        cout << Arec[i].Sum << endl;
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2012, 17:59     Динамический массив структур
Посмотрите здесь:

Динамический массив структур C++
Динамический массив структур C++
C++ Динамический массив структур
Динамический массив структур C++
C++ Динамический массив структур
C++ Динамический массив структур
C++ Динамический массив структур
C++ Динамический массив структур

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

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

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