Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР14-С++-24-мая-2012.doc
Скачиваний:
34
Добавлен:
23.09.2019
Размер:
2.26 Mб
Скачать

2.4.4.2. Пример для варианта 31

Описать структуру с именем NOTE, содержащую следующие поля:

• фамилия, имя;

• номер телефона;

• адрес.

Ключевые поля: фамилия и имя.

Написать программу, выполняющую следующие действия:

• ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE (записи должны быть размещены по фамилии);

• вывод на экран информации об адресе и телефоне по фамилии, введенной с клавиатуры.

2.4.4.3. Программа

Листинг программы:

#include<iostream.h>

#include<stdio.h>

#include<string.h>

struct note

{

char name[50];

char ln[50];

int phone;

char adress[50];

};

struct note nt[10];

main()

{

cout<<"Vvedite koli4estvo poley, kotoroe vy hotite dobavit' v BD"<<endl;

int k;

cin>>k;

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

{

cout<<"Vvedite familiju "<<i+1<<"-go 4eloveka"<<endl;

scanf("%s", nt[i].ln);

cout<<"Vvedite imya "<<i+1<<"-go 4eloveka"<<endl;

scanf("%s", nt[i].name);

cout<<"Vvedite nomer telefona "<<i+1<<"-go 4eloveka"<<endl;

cin>>nt[i].phone;

cout<<"Vvedite adress "<<i+1<<"-go 4eloveka"<<endl;

scanf("%s", nt[i].adress);

}

cout<<"vvedite familiju dlya poiska"<<endl;

char s[50];

scanf("%s",s);

cout<<"Najdennye sovpadenija:"<<endl;

for(i=0;i<k;i++)

{

if(strcmp(s,nt[i].ln)==0)

{

cout<<nt[i].phone<<' '<<nt[i].adress<<endl;

}

}

return 0;

}

2.4.4.4. Тестирование

Тест

Ожидаемый

результат

Полученный

результат

2

ivanov ivan 2535252 GORS

petrov petr 2230252 GD

sidorov

5

ivanov ivan 2535252 GORS

petrov petr 2230252 GD

sergeev igor 2434355 GB

ivanov urij 2131353 GD

ivanov alexey 2414111 TK

ivanov

2535252 GORS

2131353 GD

2414111 TK

2535252 GORS

2131353 GD

2414111 TK

3

timofeev tima 927442 ufa

timofeev dima 917234 smolen

timofeev arsen 961593 moskv

timofeev

927442 ufa

917234 smolen

961593 moskv

927442 ufa

917234 smolen

961593 moskv

2.4.5. Задание 5. Создание и обработка структур

2.4.5.1. Условие задания

Создать массив структур, содержащий информацию согласно варианту индивидуального задания. Выполнить задание и вывести на экран полученный результат.

Таблица 14.5

Задание

1

Ввести в ЭВМ информацию о сотрудника отдела: фамилия, имя, возраст. Распечатать имена сотрудников, возраст которых превышает 33 года.

2

Ввести в ЭВМ информацию о номенклатуре товаров продаваемых в киосках института. Определить киоски, содержащие необходимые товары.

3

Сформировать список сотрудников отдела: фамилия, имя, месяц рождения. Распечатать имена сотрудников родившихся в летние месяцы.

4

Сформировать список о зарегистрированных пересдачах задолженностей студентов: ФИО, предмет, количество пересдач. Распечатать список по заданному признаку (например, количеству пересдач) и выдать его на экран дисплея.

5

Сформировать список, в котором хранится информация о предметах, изъятых на таможне за отчётный период: дата изъятия, наименование предмета, количество единиц, стоимость. Определить количество единиц заданного типа предмета.

6

Сформировать список о зарегистрированных пересдачах задолженностей студентов: ФИО, предмет, количество пересдач. Распечатать список по заданному признаку (например, количеству пересдач) и выдать его на экран дисплея.

7

Сформировать ведомость о финансовой деятельности предприятий за истекший год наименование предприятия, месяц, доход предприятия за этот месяц, начисления на зарплату, прибыль предприятия. Сформировать список предприятий, у которых положительное отклонение от среднемесячного дохода превышает 50%.

8

Сформировать ведомость, в которой хранятся результаты сессии группы. Написать программу корректировки оценок, у студентов, пересдавших сессию.

9

В ведомости хранится информация о пропусках занятий студентами: ФИО, предмет, пол, время занятия. Поступила очередная информация о пропусках. Написать программу и алгоритм решения следующей задачи: проверить наличие в исходной ведомости повторных пропусков занятий.

10

В списке содержится информация о владельцах гаражного кооператива: ФИО, марка автомобиля, номер машины. Написать программу внесения в список информации о новых членах кооператива, если данные о них отсутствуют в исходном файле.

11

В ведомости хранится информация по задолженностям студентов: ФИО, группа, курс, предмет. Написать программу удаления из ведомости информации о студентах аннулировавших задолженности.

12

В списке хранится информация о студентах получивших разрешение на пересдачу экзамена: ФИО, группа, предмет, курс. Сформировать список, содержащий информацию о студентах получивших разрешение на пересдачу после заданной даты.

13

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

14

В ведомости хранится информация о деятельности некоторых подразделений: наименование подразделения, количество сотрудников, прибыль, полученная за текущий квартал. Определить лучшее подразделение с учётом числа сотрудников.

15

В расписании хранится информация о движении поездов по станции “Харьков пассажирский”: номер поезда, маршрут движения, время прибытия, время отправления. Необходимо распечатать все поезда, которые отправляются в заданном диапазоне времени.

16

В отчёте хранится информация о финансовой деятельности предприятий за истекший год: наименование предприятия, месяц, доход предприятия за этот месяц, начисления на зарплату, прибыль предприятия. Отсортировать этот отчёт в порядке убывания дохода и вывести на экран информацию о трёх наиболее доходных предприятиях.

17

В расписании хранится информация о движении поездов по станции “Харьков пассажирский”: номер поезда, маршрут движения, время прибытия, время отправления. На его базе сформировать новое расписание, содержащее информацию о поездах, движущихся в заданный конечный пункт.

18

Сформировать документ, в котором хранится информация об ассортименте продовольственных товаров в коммерческих магазинах: код (наименование) магазина, наименование товара, количество этого товара, цена за килограмм. Подобрать магазин или магазины для оптовой закупки заданного товара в заданном количестве так, чтобы минимизировать затраты на его приобретение.

19

Создать документ, в котором хранится информация о предметах, изъятых на таможне за отчётный период: дата изъятия, наименование предмета, код предмета (оружие, продовольственные товары, т.д.), количество единиц, стоимость единицы. Определить группу предметов, по которой чаще всего происходило изъятие.

20

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

21

Создать список, в котором хранится информация об абонентах АТС: ФИО, место жительства, номер телефона. Необходимо упорядочить список абонентов по алфавиту.

22

В отчёте хранится информация о лицензиях, выданных на приобретение газового оружия: ФИО, дата выдачи лицензии, тип оружия, его стоимость. Необходимо вывести на экран все записи с заданной стоимостью.

23

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

24

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

25

Создать список, в котором хранится информация об абонентах АТС: ФИО, место жительства, номер телефона. Необходимо написать программу, которая по фамилии выдаёт номер абонента.

26

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

27

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

28

Написать программу определения месяца в котором родилось максимальное количество студентов в вашей группе.

29

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

30

Сформировать список, в котором хранятся результаты сессии группы. Написать программу начисления стипендии по результатам сессии.

2.4.5.2. Пример для варианта 30

Сформировать список, в котором хранятся результаты сессии группы. Написать программу начисления стипендии по результатам сессии.

Примечание; стипендия назначается студентам, сдавшим сессию на 4 и 5.

2.4.5.3. Программа

2.4.5.4. Тестирование

2.4.6. Задание 6. Структурs

2.4.6.1. Условие задания

Создать массив структур, содержащий информацию согласно варианту индивидуального задания. Выполнить задание и вывести на экран полученный результат.

Таблица 14.6

Задание

1

2

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

Считая заданными значения расценок SA, SB, SC за выполненную работу по сборке единицы изделия категорий A, B, C, выдать на печать следующую информацию:

– общее количество изделий категорий A, B, C, собранных рабочим цеха;

– средний размер заработной платы рабочих цеха X.

3

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

– номер телефона по вводимой с клавиатуры фамилии абонента;

– количество установленных телефонов с XXXX года;

– список номеров телефонов, принадлежащих жильцам определенного дома и улицы.

Номер года, название улицы и номер дома вводятся с клавиатуры.

4

Сформировать массив, содержащий сведения об ассортименте игрушек в магазине. Структурный тип содержит поля: название игрушки, цена, количество, возрастные границы (2 - 5).

Написать программу, выдающую следующие сведения:

– название игрушек, которые подходят детям от 1 до 3 лет;

– стоимость самой дорогой игрушки и ее название;

– название игрушки, которая по стоимости не превышает X руб. и подходит ребенку в возрасте от A до B лет.

Значения A, B, X вводятся с клавиатуры.

5

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

Написать программу, выдающую информацию:

–фамилии неуспевающих студентов с указанием индексов групп и количества задолженностей;

–средний балл, полученный каждым студентом группы X, и всей группы в целом.

6

Сформировать массив, содержащий сведения о личной коллекции книголюба. Структурный тип содержит поля: шифр книги, автор, название, год издания, местоположение (номер стеллажа).

Написать программу, выдающую следующую информацию:

- местоположение книги, автора X названия Y;

- список книг автора Z, находящихся в коллекции;

- число книг издания XX года, имеющихся в библиотеке.

7

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

Написать программу, выдающую следующую информацию:

- время вылета самолетов в город X;

- наличие свободных мест на рейс в город X с временем отправления Y.

8

Сформировать массив, содержащий сведения об ассортименте обуви в магазине фирмы. Структурный тип содержит поля: артикул, наименование, количество, стоимость одной пары. Артикул начинается с буквы Д – для дамской обуви, М – для мужской, П – для детской.

Написать программу, выдающую информацию:

- о наличии и стоимости обуви артикула X;

- ассортиментный список дамской обуви с указанием наименования и имеющегося в наличии числа пар каждой модели.

9

Сформировать массив, содержащий сведения о нападающих команды «Спартак». Структурный тип содержит поля: имена нападающих, число заброшенных ими шайб, число сделанных голевых передач, заработанное штрафное время.

Написать программу, которая определяет по сумме очков (голы + передачи) четырех лучших игроков.

10

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

Написать программу, которая печатает список студентов, желающих прослушать дисциплину X. Если число желающих превышает 4 человека, то отобрать студентов, имеющих более высокий средний балл успеваемости.

11

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

Написать программу, выдающую информацию:

- время отравления поездов в город Х во временном интервале от А до В часов;

- наличие билетов на поезд с номером ХХХ.

12

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

Написать программу, которая позволяет получить информацию:

- список сотрудников пенсионного возраста на сегодняшний день с указанием стажа работы;

- средний стаж, работающих в отделе Х.

13

Сформировать массив, содержащий сведения о пациентах глазной клиники. Структурный тип содержит поля: фамилия пациента, пол, возраст, место проживания (город), диагноз.

Написать программу, которая выдает информацию:

- количество иногородних, прибывших в поликлинику;

- список пациентов старше Х лет с диагнозом J.

14

Создать комбинированный тип PERSONAL, полями которого являются: фамилия сотрудника, его инициалы, название должности, номер отдела, размер оклада.

Написать программу, которая выдает информацию:

15

Создать комбинированный тип LIBRARY (библиотека), полями которого являются: фамилия писателя, его инициалы, название книги, год ее издания.

Написать программу, которая выдает информацию:

16

Создать комбинированный тип SESSION (сессия), полями которого являются: фамилия студента, его инициалы, название дисциплин, оценки за экзамены.

Написать программу, которая выдает информацию:

17

Создать комбинированный тип VIDEO, полями которого являются: название фильма, год его выхода, фамилия режиссера.

Написать программу, которая выдает информацию:

18

Создать комбинированный тип HOSPITAL (больница), полями которого являются: фамилия больного, его инициалы, его возраст, диагноз, фамилия лечащего врача.

Написать программу, которая выдает информацию:

19

Создать комбинированный тип SUPERMARKET, полями которого

являются: наименование товара, дата его поставки, цена, наименование поставщика.

Написать программу, которая выдает информацию:

20

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

Написать программу, которая выдает информацию:

21

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

Написать программу, которая выдает информацию:

22

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

Написать программу, которая выдает информацию:

23

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

Написать программу, которая выдает информацию:

24

Вывести на экран названия экзаменационных дисциплин и средний балл за экзамен по каждой из дисциплин.

Написать программу, которая выдает информацию:

25

Найти и вывести на экран средний балл по итогам сессии по каждой группе.

Написать программу, которая выдает информацию:

26

Найти среди сотрудников предприятия фамилию, имя, отчество и должность самого старшего.

Написать программу, которая выдает информацию:

27

Найти среди сотрудников предприятия фамилию, имя, отчество и должность самого младшего.

Написать программу, которая выдает информацию:

28

Найти среди сотрудников предприятия количество человек, проработавших на этом предприятии более 10 лет и вывести на экран их фамилии, имена и должности.

Написать программу, которая выдает информацию:

29

Найти среди сотрудников предприятия количество ветеранов, проработавших на этом предприятии более 20 лет и вывести на экран их фамилии, имена и должности.

Написать программу, которая выдает информацию:

30

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

Написать программу, которая позволяет получить информацию:

– количество мужчин и женщин пенсионного возраста раздельно;

– список сотрудников пенсионного возраста на сегодняшний день с указанием их фамилии, имени, отчества, должности и стажа работы(сначала мужчин, затем женщин);

– средний стаж, работающих в цехе Х.

31

Среди студентов группы найти имя и фамилию самого старшего.

Написать программу, которая выдает информацию:

32

Среди студентов группы найти имя и фамилию самого младшего.

Написать программу, которая выдает информацию:

33

Вывести на экран фамилии, имена, отчества и должности незамужних женщин в возрасте старше 18 лет. Найти их количество.

Написать программу, которая выдает информацию:

34

Вывести на экран фамилии, имена, отчества и должности холостых мужчин в возрасте старше 18 лет. Найти их количество. Написать программу, которая выдает информацию:

35

Вывести на экран фамилии, имена, номера групп студентов, проживающих в Уфе. Найти их количество.

Написать программу, которая выдает информацию:

36

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

Написать программу, которая выдает информацию:

37

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

Написать программу, которая выдает информацию:

38

Среди сотрудников предприятия найти фамилию, имя, должность сотрудника, имеющего максимальный стаж.

Написать программу, которая выдает информацию: