- •Нижний Новгород 2005 Составитель ф.В. Жаринов
- •Научный редактор в.В. Крылов
- •Предисловие
- •Лабораторная работа 3 Классы памяти
- •Задание 1.
- •Задание 2.
- •Лабораторная работа 4 Кодирование информации с помощью битовых масок. Побитовые операции
- •Вариант 1,2
- •Вариант 3,4.
- •Контрольная сумма
- •Лабораторная работа № 5 Работа с файлами и строковыми данными
- •Вариант №1
- •Вариант №2
- •Вариант №3
- •Вариант №4
- •Лабораторная работа № 6 Алгоритмы сортировки
- •Лабораторная работа № 7 Картотека. Вариант №1
- •Вариант №2
- •Требования к программе
- •Методические указания
- •01 | Андрей | Смирнов | 26 | Прогр. || TimeWarp | Athlon 2.4 | 512 |
- •02 | Алексей | Гагарин | 26 | Менеджмент || TimeWarp | Evil, Inc. | 3 |
- •03 | Андрей | Комягин | 26 | Доставка || Москва, 3 | Evil, Inc. | 24 | Авто
Лабораторная работа № 7 Картотека. Вариант №1
Написать программу-картотеку для служащих некоторого предприятия. Каждая хранимая в ней карточка должна содержать информацию с набором общих полей и набором полей специфичных для каждого отдела.
Общие поля:
Поле |
Имя поля в структуре |
Тип / Размер |
Имя |
Name |
char[255] |
Фамилия |
LastName |
char[255] |
Возраст |
Age |
int |
Отдел |
Department |
enum (4 байта по умолчанию) |
Задача |
Task |
Индивидуально, в зависимости от отдела (реализовать в виде union) |
Поле «Отдел» может принимать одно из 3 значений, перечисленных с помощью enum:
DEPT_PROGRAMMERS
DEPT_MANAGEMENT
DEPT_ SHIPPING
Поле «Задача» зависит от отдела и должно быть реализовать в виде union:
Поле |
Имя поля в структуре |
Тип / Размер |
Программисты (Programmers) |
||
Проект |
Project |
char[255] |
Рабочее место: CPU |
CPU |
char[127] |
Рабочее место: память (МБайт) |
Memory |
int |
Менеджмент (Management) |
||
Проект |
Project |
char[255] |
Заказчик |
Customer |
char[255] |
Количество программистов |
ProgrammersNum |
int |
Доставка (Shipping) |
||
Адрес |
Address |
char[255] |
Заказчик |
Customer |
char[255] |
Вес |
Weight |
int |
Тип транспорта |
Transport |
enum (4 байта по умолчанию) |
Поле «Тип Транспорта» может принимать одно из 4 значений, перечисленных с помощью enum:
TRANSP_TRAIN
TRANSP_AUTO
TRANSP_AERO
TRANSP_SHIP
Вариант №2
Написать программу - телефонную книжку. Каждая запись с информацией об абоненте должна содержать следующий набор полей:
Поле |
Имя поля в структуре |
Тип / Размер |
ФИО |
Name |
char[50] |
Телефон |
Phone |
int |
Возраст |
Age |
int |
Раздел |
Group |
enum (4 байта по умолчанию) |
Дополнительные сведения |
Misc |
Индивидуально, в зависимости от раздела (реализовать в виде union) |
Поле «Раздел» может принимать одно из 3 значений, перечисленных с помощью enum:
GROUP_FRIENDS
GROUP_COLLEAGUES
GROUP_APPLICANTS
Поле «Дополнительные сведения» зависит от раздела и должно быть реализовать в виде union:
Поле |
Имя поля в структуре |
Тип / Размер |
Друзья (Friends) |
||
День Рождения |
Birthday |
char[32] |
Домашний адрес |
Address |
char[127] |
Комментарии |
Comments |
char[255] |
Коллеги (Colleagues) |
||
Отдел |
Department |
enum (4 байта по умолчанию) |
Номер рабочего места |
CubicNo |
int |
Проект |
Project |
char[255] |
Соискатели (Applicants) |
||
Дата подачи заявления |
ApllicationDate |
char[32] |
Язык программирования |
Language |
char[127] |
Уровень знаний |
Grade |
int |
Требуемая зарплата |
Salary |
int |
Поле «Отдел» может принимать одно из 4 значений, перечисленных с помощью enum:
DEPARTMENT_SOFTWARE
DEPARTMENT_HARDWARE
DEPARTMENT_FIRMWARE
DEPARTMENT_MANAGEMENT