Контрольные вопросы
Каковы этапы подготовки к выполнению программы на языке С++?
Как войти в ИСРП?
Каковы основные пункты меню и их назначение?
Какова структура программы на языке С++?
Для чего необходима директива препроцессору #include?
Какая функция используется для вывода информации на экран?
Какая функция используется для ввода данных с клавиатуры?
Что собой представляют спецификаторы преобразований?
Что называют идентификатором?
Как записывается оператор присваивания?
Требования к отчету
Отчет должен содержать:
конспект теоретической части;
лабораторное задание;
результаты выполнения программ.
Порядок выполнения лабораторной работы
Составить программу с использованием разбиения на отдельные файлы в соответствии со своим вариантом табл. 10.1.
Организовать на бригады по 3 человека.
Выполнить задание внутри бригады и собрать проект в единое целое в соответствии с вариантом табл. 10.2. Основной модуль должен содержать интерфейс пользователя и использовать все функции.
Варианты заданий
Таблица 10.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 программ (задаётся с клавиатуры) вида: наименование программы, стоимость, стоимость ежемесячной аренды, и выводящую на экран все программы в алфавитном порядке, а так же общую стоимость и общую арендную плату. |
Таблица 10.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);//поиск лучшего по нагреву |