 
        
        - Контрольные вопросы
- Каковы этапы подготовки к выполнению программы на языке С++? 
- Как войти в ИСРП? 
- Каковы основные пункты меню и их назначение? 
- Какова структура программы на языке С++? 
- Для чего необходима директива препроцессору #include? 
- Какая функция используется для вывода информации на экран? 
- Какая функция используется для ввода данных с клавиатуры? 
- Что собой представляют спецификаторы преобразований? 
- Что называют идентификатором? 
- Как записывается оператор присваивания? 
- Требования к отчету
- Отчет должен содержать: 
- конспект теоретической части; 
- лабораторное задание; 
- результаты выполнения программ. 
- Лабораторное задание
- Составить программу с использованием разбиения на отдельные файлы в соответствии со своим вариантом (табл. 1). 
- Разбиться на бригады по 3 человека. 
- Выполнить задание внутри бригады и собрать проект в единое целое (табл. 2). Основной модуль должен содержать интерфейс пользователя и использовать все функции. 
Таблица 1.
| Номер варианта | Задание | 
| 1,13 | Составить программу, описывающую домашнюю библиотеку из N книг (задаётся с клавиатуры) вида: автор, название, год издания, и выводящую на экран все книги нужного автора в библиографическом порядке(по году издания). | 
| 2,14 | Составить программу, описывающую пасажирский самолёт из N мест (задаётся с клавиатуры) вида: имя пасажира, год рождения, пункт назначения, номер места, и выводящую на экран всех пасажиров в порядке следования номеров мест. | 
| 3,15 | Составить программу, описывающую группу из N студентов (задаётся с клавиатуры) вида: имя студента, номер студенческого билета, средняя оценка, и выводящую на экран всех студентов в порядке успеваемости. | 
| 4,16 | Составить программу, описывающую список покупок из N мест (задаётся с клавиатуры) вида: наименование, вес, цена, и выводящую на экран размер сумки и сумму, необходимую для похода в магазин. | 
| 5,17 | Составить программу, описывающую набор комплектующих компьютера из N устройств (задаётся с клавиатуры) вида: наименование, уровень шума (дБ), тепловыделение, и выводящую на экран все устройства в порядке уровня щума, общий уровень шума и общее тепловыделение. | 
| 6,18 | Составить программу, описывающую покупки в кредит из N мест (задаётся с клавиатуры) вида: наименование, первоначальный взнос, срок, ежемесячный взнос (в %), и выводящую на экран все покупки в порядке истекания срока, а так же общую сумму первоначального взноса и ежемесячного за К-ый месяц. | 
| 7,19 | Составить программу, описывающую список преподователей из N человек (задаётся с клавиатуры) вида: имя преподователя, предмет, разряд, и выводящую на экран всех преподователей по нужному предмету в порядке следования разрядов. | 
| 8,20 | Составить программу, описывающую домашнюю фильмотеку из N фильмов (задаётся с клавиатуры) вида: наименование, режисёр, год выпуска, длительность, и выводящую на экран список всех фильмов заданного режисёра в порядке выпуска на экран и их общую длительность. | 
| 9,21 | Составить программу, описывающую мониторы из N штук (задаётся с клавиатуры) вида: производитель, модель, диагональ, излучение, и выводящую на экран все мониторы с заданной диоганалью в порядке уменьшения излучения. | 
| 10,22 | Составить программу, описывающую зоопарк из N видов животных (задаётся с клавиатуры) вида: наименование вида, количество голов, кол-во еду на одного зверя в день, и выводящую на экран всех животных в порядке увеличения поголовья, а так же общиее кол-во еды, потребляемое зоопарком в день. | 
| 11,23 | Составить программу, описывающую факультет из N групп (задаётся с клавиатуры) вида: номер группы, курс, текущая успеваемость в группе, и выводящую на экран все группы в порядке увеличения успеваемости, разбитые на курсы. | 
| 12,24 | Составить программу, описывающую программное обеспечение компьютера из N программ (задаётся с клавиатуры) вида: наименование программы, стоимость, стоимость ежемесячной аренды, и выводящую на экран все программы в алфавитном порядке, а так же общую стоимость и общую арендную плату. | 
Таблица 2.
| Номер варианта | Задание | 
| 1 | Написать программу сортировки и поиска книги в магазине по автору или по названию. //const.h-------------------------------------------- #ifndef __CONST_H__ #define __CONST_H__ struct book { char header[50];//название книги char author[50];//автор книги }; #endif Заголовочные файлы для модулей: //sort.h-------------------------------------------- #include “const.h” void SortABibl(book* B, int N);//сортировка по автору void SortHBibl(book* B, int N);//сортировка по названию //search.h-------------------------------------------- #include “const.h” void SearchABibl(book* B, int N, char* A);//поиск по автору void SearchHBibl(book* B, int N, char* H); //поиск по названию void SearchAHBibl(book* B, int N, char* A, char* H); //поиск по автору и по названию. 
 | 
| 2 | Составить программу, описывающую домашнюю фильмотеку. //const.h-------------------------------------------- #ifndef __CONST_H__ #define __CONST_H__ struct film { char director[50];//режисёр фильма char title[50];//название фильма int year;//год выпуска фильма int lenght;//длительность фильма }; #endif Заголовочные файлы для модулей: //sort.h-------------------------------------------- #include “const.h” void SortDFilm(film* B, int N);//сортировка по режисеру void SortTFilm(film* B, int N);//сортировка по названию //search.h-------------------------------------------- #include “const.h” void SearchDFilm(film* B, int N, char* A);//поиск по режисёру void SearchTFilm(film* B, int N, char* H);//поиск по названию void SearchDTFilm(film* B, int N, char* A, char* H);//поиск определённого фильма 
 | 
| 3 | Составить программу, описывающую список преподователей. //const.h-------------------------------------------- #ifndef __CONST_H__ #define __CONST_H__ struct teacher { char name[50];//имя преподователя char subject[50];//название дисциплины int class;//квалификация (разряд) }; #endif Заголовочные файлы для модулей: //sort.h-------------------------------------------- #include “const.h” void SortNTeacher(teacher* B, int N);//сортировка по режисеру void SortSTeacher(teacher* B, int N);//сортировка по названию //search.h-------------------------------------------- #include “const.h” void SearchNTeacher(teacher* B, int N, char* A);//поиск по режисёру void SearchSTeacher(teacher* B, int N, char* H);//поиск по названию void SearchNSTeacher(teacher* B, int N, char* A, char* H);//поиск определённого фильма 
 | 
| 4 | Составить программу, описывающую зоопарк. //const.h-------------------------------------------- #ifndef __CONST_H__ #define __CONST_H__ struct monster { char name[50];//наименование вида char num;//количество голов double eat;//потребление еды одним животным }; #endif Заголовочные файлы для модулей: //sort.h-------------------------------------------- #include “const.h” void SortNZoo(monster* B, int N);//сортировка по наименованию void SortNum Zoo(monster* B, int N);//сортировка по поголовью //search.h-------------------------------------------- #include “const.h” void SearchNZoo(monster * B, int N, char* Name); double ComputeEatZoo(monster* B, int N);//подсчёт кол-ва еды, потребляемой зоопарков за день. 
 | 
| 5 | Составить программу, описывающую факультет. //const.h-------------------------------------------- #ifndef __CONST_H__ #define __CONST_H__ struct group { char kaf[50];//название кафедры char num;//номер группы char students;//кол-во студентов char ratio;//успеваемость группы }; #endif Заголовочные файлы для модулей: //sort.h-------------------------------------------- #include “const.h” void SortKFac(group* B, int N);//сортировка по кафедре void SortRFac(group* B, int N);//сортировка по рейтингу //search.h-------------------------------------------- #include “const.h” void SearchKGroup(group* B, int N, char* K);//вывести все группы кафедры void SearchBestGroup(group* B, int N);//вывести лучшую на факультете группу. void SearchBest(group* B, int N);//вывести лучшую на каждой кафедре группу. 
 | 
| 6 | Составить программу, описывающую покупки в кредит из N мест (задаётся с клавиатуры) вида: наименование, первоначальный взнос, срок, ежемесячный взнос (в %), и выводящую на экран все покупки в порядке истекания срока, а так же общую сумму первоначального взноса и ежемесячного за К-ый месяц.. //const.h-------------------------------------------- #ifndef __CONST_H__ #define __CONST_H__ struct item { char name[50];//название покупки double fprice;//первоночальный взнос double mprice;//ежемесячный взнос char months;//осталось месяцев }; #endif Заголовочные файлы для модулей: //sort.h-------------------------------------------- #include “const.h” void SortNShop(item* B, int N);//сортировка по наименованию void SortPShop(item* B, int N);//сортировка по полной стоимости //search.h-------------------------------------------- #include “const.h” double ComputeFPrice(item* B, int N, char* N);//подсчёт полной стоимости покупки по её наименованию double ComputeMPrice(item* B, int N, char M);//подсчёт затрат на все покупки в месяце M. 
 | 
| 7 | Составить программу, описывающую группу студентов. //const.h-------------------------------------------- #ifndef __CONST_H__ #define __CONST_H__ struct stud { char name[50];//имя студента double studnum;//номер студбилета double averageratio;//средняя оценка }; #endif Заголовочные файлы для модулей: //sort.h-------------------------------------------- #include “const.h” void SortNGroup(stud* B, int N);//сортировка по имени void SortARGroup(stud* B, int N);//сортировка по среднему балу //search.h-------------------------------------------- #include “const.h” double ComputeGroup(stud* B, int N);//вычисление среднего по группе void SearchNGroup(stud* B, int N, char* N);//поиск по имени void SearchBest(stud* B, int N);//поиск лучшего студента 
 | 
| 8 | Составить программу, описывающую мониторы. //const.h-------------------------------------------- #ifndef __CONST_H__ #define __CONST_H__ struct monitor { char model[50];//модель char maker[50];//производитель char diagonal;//размер диагонали double ray;//излучение }; #endif Заголовочные файлы для модулей: //sort.h-------------------------------------------- #include “const.h” void SortMMMon(monitor* B, int N);//сортировка по производителю и по модели void SortRMon(monitor* B, int N);//сортировка по излучению //search.h-------------------------------------------- #include “const.h” void SearchMMon(monitor* B, int N, char* A);//поиск по модели void SearchRDMon(monitor* B, int N, char D);//поиск минимального излучения среди моделей с диагональю D. 
 | 
| 9 | Составить программу, описывающую набор комплектующих компьютера. //const.h-------------------------------------------- #ifndef __CONST_H__ #define __CONST_H__ struct dev { char name[50];//наименование double noise;//шум double heater;//выделяемое тепло }; #endif Заголовочные файлы для модулей: //sort.h-------------------------------------------- #include “const.h” void SortNComp(dev* B, int N);//сортировка по названию void SortNoComp(dev* B, int N);//сортировка по шуму //search.h-------------------------------------------- #include “const.h” void SearchNComp(dev* B, int N, char* N);//поиск по наименованию void SearchBestH(dev* B, int H);//поиск лучшего по тепловыделению void SearchBestN(dev* B, int N);//поиск лучшего по нагреву 
 | 
	
		 
		
