Лабораторная работа № 5.

Лабораторная работа № 5.
Тема: Разработка и отладка алгоритмов c использованием структур данных.

 

Вы не можете скачивать файлы с нашего сервера

Цель: приобрести навыки программирования структур данных

Оснащение: IBM PC, среда программирования Borland C++ 5.02, инструкция

Краткие теоретические сведения:
Структура — это совокупность переменных, объединенных под одним именем. С помощью структур удобно размещать в смежных полях связанные между собой элементы информации. Объявление структуры создает шаблон, который можно использовать для создания ее объектов (то есть экземпляров этой структуры). Переменные, из которых состоит структура, называются членами. (Члены структуры еще называются элементами или полями.) 
Пример объявления структуры адрес:
struct addr
{
  char name[30]; // имя фамилия
  char street[40]; // улица
  char city[20]; // город  
  unsigned long int index; // почтовый код
};
Чтобы объявить переменную (то есть физический объект) типа addr, напишите:
struct addr addr_info;

Доступ к отдельным членам структуры осуществляется с помощью оператора .(точка).
Например: addr_info.index = 12345; 
Поэтому, чтобы вывести почтовый-код на экран, напишите следующее: 
printf("%d", addr_info.index);
Для ввода данных массива символов используйте функцию gets() : 
gets(addr_info.name);

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

struct 
{
  int a;
  int b;
 } x, y ; 

  x.a = 10;
  y = x; // присваивание одной структуры другой 
  printf("%d", y.a); //вывод на экран элемента a структуры y 

Структуры часто образуют массивы. Чтобы объявить массив структур, вначале необходимо определить структуру (то есть определить агрегатный тип данных), а затем объявить переменную массива этого же типа. Например, чтобы объявить 100-элементный массив структур типа addr, который был определен ранее, напишите следующее: 
struct addr addr_list[100];
Это выражение создаст 100 наборов переменных, каждый из которых организован так, как определено в структуре addr.
Чтобы получить доступ к определенной структуре, указывайте имя массива с индексом. Например, чтобы вывести ZIP-код из третьей структуры, напишите следующее: 
printf("%d", addr_list[2].zip);
Как и в других массивах переменных, в массивах структур индексирование начинается с 0. 
Доступ к первому элементу массива name третьей структуры массива структур addr_list осуществляется таким образом:
addr_list[2].name[0] = 'X'; 

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

Запрос вывода организуйте по значению символьной переменной, принимаемой с клавиатуры. Например примерный вывод подсказки: 

Необходимо вывести имя/индекс/город? (n/i/c) _  

Вводимый символ определяет вывод. Если мы вводим n выводится имя, №-номер и т.д.
Функция getchar() принимает символ с клавиатуры. Например:

char x; // объявляем символьную переменную x
x=getchar(); // записываем в x символ, принимаемый с клавиатуры

Для проверки значения принимаемого символа организуйте switch-инструкцию, и, в зависимости от результата, выводите элемент структуры. Значение переменной проверяйте по ASCII-кодам, которые можете посмотреть в ТП MS Word. Например:

switch (x)
{
  case ‘110’: printf(“%S”, addr_info.name); // проверка на n
  case ‘105’: printf(“%d”, addr_info.index); // проверка на i
  default: printf(“Некорректно введены данные”);
}
Задание

1. Аптека содержит базу данных лекарств. Создайте массив структур «Лекарства», структура содержит идентификационный номер лекарства, название лекарства, производитель, стоимость лекарства. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
2. Телефонный справочник содержит записи абонентов. Создайте массив структур «Абоненты», структура содержит ФИО, тел. номер абонента, адрес абонента и идентификационный номер абонента. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
3. Библиотека содержит книги. Создать массив структур «Книги», с названием, ФИО автора, издателем и год издания. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
4. Общежитие содержит список студентов. Создайте массив структур «Студенты», структура содержит идентификационный номер студента, ФИО, номер комнаты, учебную группу. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
5. Салон проката содержит список CD/DVD дисков. Создайте массив структур «Диски», структура содержит идентификационный номер диска, название диска, жанр, флаг выдачи диска. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
6. Цветочный магазин содержит список цветов. Создайте массив структур «Цветы», структура содержит идентификационный номер цветка, название цветка, стоимость цветка, дату поступления. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
7. Магазин автозапчастей содержит список автозапчастей. Создайте массив структур «Автозапчасти», структура содержит идентификационный номер автозапчасти, название, стоимость, марку автомобиля. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
8. Ресторан содержит список блюд. Создайте массив структур «Блюда», структура содержит идентификационный номер блюда, наименование, количество грамм, стоимость. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
9. Отдел кадров содержит список работников. Создайте массив структур «Работники», структура содержит идентификационный номер работника, ФИО, отдел, должность. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
10. Строительный магазин содержит список товаров. Создайте массив структур «Товары», структура содержит идентификационный номер товара, наименование, стоимость, отдел. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
11. Гостиница содержит список проживающих. Создайте массив структур «Проживающие», структура содержит идентификационный номер проживающего, ФИО, номер комнаты, паспортные данные. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
12. Туристическое агентство содержит список клиентов. Создайте массив структур «Клиенты», структура содержит идентификационный номер клиента, ФИО, стоимость путевки, место отдыха. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
13. Поликлиника содержит список пациентов. Создайте массив структур «Пациенты», структура содержит идентификационный номер пациенты, ФИО, ФИО участкового терапевта, адрес пациента. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
14. Магазин обуви содержит список товаров. Создайте массив структур «Обувь», структура содержит идентификационный номер товара, вид обуви (мужская/женская), стоимость, производитель. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
15. Паспортный стол содержит список выданных паспортов. Создайте массив структур «Паспорта», структура содержит идентификационный номер паспорта, номер паспорта, ФИО владельца, дата выдачи. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.



Обсудить на форуме

Комментарии к статье:

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем

настя фаулер

15 октября 2014 17:14

Помогите решить 7 задачку


Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Регистрация

Реклама

Последние комментарии