Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C / C++ / Викентьева О.Л., Гусин А.Н., Полякова О.А. Программирование на языке С++. Лабораторный практикум.doc
Скачиваний:
135
Добавлен:
02.05.2014
Размер:
13.62 Mб
Скачать

5. Методические указания

  1. Для выделения памяти под массивы использовать операцию new, для удаления массивов из памяти – операциюdelete.

  2. Для выделения памяти, заполнения массивов, удаления и добавления элементов (строк, столбцов) написать отдельные функции. В функции main() должны быть размещены только описания переменных и обращения к соответствующим функциям:

int main()

{

int n;

cout<<"N?";cin>>n;

person*mas=form_mas(n);

init_mas(mas,n);

print_mas(mas,n);

return 1;

}

  1. Для реализации интерфейса использовать текстовое меню:

….

do

{

cout<<”1. Формирование массива\n”;

cout<<”2. Печать массива\n”;

cout<<”3. Удаление из массива\n”;

cout<<”4. Добавление в массив\n”;

cout<<”5. Выход\n”;

cin>>k;

switch (k)

{

case 1: mas=form_mas(SIZE);input_mas(mas,SIZE); break;//выделение памяти и заполнение

case 2: print_mas(mas,SIZE); break;//печать

case 3: del_mas(mas,SIZE);break;//удаление

case 4: add_mas(mas,SIZE);break;//добавление

}

while(k!=5);//выход

  1. При удалении элементов (строк, столбцов) предусмотреть ошибочные ситуации, т. е. ситуации, в которых будет выполняться попытка удаления элемента (строки, столбца) из пустого массива или количество удаляемых элементов будет превышать количество имеющихся элементов (строк, столбцов). В этом случае должно быть выведено сообщение об ошибке.

6. Содержание отчета

  1. Постановка задачи (общая и для конкретного варианта).

  2. Определения функций для реализации поставленных задач.

  3. Определение функции main().

  4. Тесты

Лабораторная работа №6

Массивы структур и массивы строк

1. Цель работы:

  1. Получить практические навыки работы с динамическими строковыми данными.

  2. Получить практические навыки работы со структурами.

  3. Получить практические навыки организации динамических массивов с элементами сложной структуры.

2. Теоретические сведения

2.1. Структуры

Структура – это объединенное в единое целое множество поименованных элементов данных. Элементы структуры (поля) могут быть различного типа, они все должны иметь различные имена.

struct Date //определение структуры

{

int day;

int month;

int year;

};

Date birthday; //переменная типа Date

Для переменных одного и того же структурного типа определена операция присваивания. При этом происходит поэлементное копирование.

Доступ к элементам структур обеспечивается с помощью уточненных имен:

имя_структуры.имя_элемента

//присваивание значений полям переменной birthday

birthday.day=11; birthday.month=3; birthday.year=1993;

Date Data;

// присваивание значения переменной birthday переменной Data

Data=birthday;

Из элементов структурного типа можно организовывать массивы также как из элементов стандартных типов.

Date mas[15]; //массив структур

//ввод значений массива

for(int i=0;i<15;i++)

{

cout<<”\nEnter day:”;cin>>mas[i].day;

cout<<”\nEnter month:”;cin>>mas[i].month;

cout<<”\nEnter year:”;cin>>mas[i].year;

}

3. Постановка задачи

  1. Сформировать динамический массив из элементов структурного типа. Структурный тип определен в варианте.

  2. Распечатать сформированный массив.

  3. Выполнить поиск элементов в массиве, удовлетворяющих заданному в варианте условию и сформировать из них новый массив.

  4. Распечатать полученный массив.

  5. Сформировать динамический массив, состоящий из динамических строк.

  6. Распечатать сформированный массив.

  7. Выполнить обработку этого массива.

  8. Распечатать полученный массив.