
МИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра САПР
Курсовая РАБОТА
по дисциплине «Программирование»
Тема: «Списочное представление информационной системы»
Студентка гр. 3352 |
|
|
Преподаватель |
|
|
Санкт-Петербург
2024
ЗАДАНИЕ
на курсовую работу
Студентка |
||
Группа 3352
|
||
Тема работы: Списочное представление информационной системы
|
||
Исходные данные: Даны названия автомобилей и фирм, каталог деталей с описанием, а также сведения об автомобилях. Нужно связать данные из каталога деталей со сведениями об автомобилях и ответить на вопросы
|
||
Оглавление: Формулировка задания, Анализ задания, Контрольный пример, Пользовательские типы, Формальная постановка задачи, Этапы трансляции, Особенности решения задачи на компьютере, ввод и вывод, Организация интерфейса пользователя, Средства обеспечения ввода/вывода, Функции, Алгоритм работы программы, Текст программы, Результаты работы программы |
||
Предполагаемый объем пояснительной записки: Не менее 25 страниц. |
||
Дата выдачи задания: 20.02.2024 |
||
Дата сдачи реферата: |
||
Дата защиты реферата: |
||
Студентка |
_________________ |
|
Преподаватель |
_________________ |
|
Аннотация
В работе рассмотрено решение задания на списки с помощью языка программирования C++. Из трёх входных файлов считывается информация для списков. Далее происходит процесс считывания сведений об автомобилях из четвёртого списка. Во время этого процесса списки связываются друг с другом, и информация из файла со сведениями попадает в нужные списки. После окончания считывания сведений информация об автомобилях будет полностью сформирована. В конце пользователю предлагается командное меню, в котором он может выбрать номер команды. Выполнение команд будет происходить до тех пор, пока пользователь не введёт специальный ключ для окончания работы программы.
Summary
The paper considers the solution of the task for lists using the C++ programming language. Information for lists is read from three input files. Next, the process of reading information about cars from the fourth list takes place. During this process, the lists are linked to each other, and the information from the information file gets into the desired lists. After the end of reading the information, the information about the cars will be fully formed. At the end, the user is offered a command menu in which he can select the command number. The commands will be executed until the user enters a special key to end the program.
содержание
Введение 9
Формулировка задания 9
Анализ задания 9
Для каждого перечня названий будет создан отдельный список с порядковым номером и именем элемента, таким образом, каждому названию будет присвоено число. В списке деталей каждой детали помимо номера будут присвоены дополнительные значения (вес, цена, запас на складе) и номер фирмы. Сведения о разных автомобилях представляют набор чисел, где каждое число относится к элементу нужного списка. Чтобы связать автомобили с деталями, нужно пройтись по файлу со сведениями, собрать нужный набор информации для каждого автомобиля (полный вес и стоимость автомобиля, а также количество машин, которые можно изготовить) и привязать его к соответствующей модели в списке автомобилей. Для решения 1, 2 и 3 вопросов этого будет достаточно. Чтобы ответить на 4 вопрос, во время прохождения по файлу со сведениями нужно сравнить конечный вес нового автомобиля с предыдущим весом и выделять самый легкий и тяжелый вес. 9
Контрольный пример 9
Фирмы: 9
1. Autolite 9
2. Bosch 9
3. Dayso 9
Детали: 9
1. pin, 0.03кг, 256 руб., 1 фирма, 30000 шт. 9
2. wheel, 20 кг, 3000 руб., 2 фирма, 2400 шт. 9
3. belt, 0.5 кг., 1500 руб., 3 фирма, 20000 шт. 9
4. spring, 0.06 кг., 300 руб., 1 фирма, 100 шт. 9
5. screw, 0.33 кг., 500 руб., 2 фирма, 3490 шт. 9
Сведения об автомобилях: 10
Для 1.Volvo 10
1 1 30 10
1 2 4 10
1 3 5 10
1 4 20 10
1 5 15 10
Для 2.Toyota 10
2 1 35 10
2 2 4 10
2 5 2 10
Для 3.BMV 10
3 1 4 10
3 3 25 10
РЕЗУЛЬТАТ: 10
Номер: 1 10
Марка автомобиля: Volvo 10
Вес: 89.55 кг 10
Стоимость: 40680 рублей 10
Возможное количество: 5 10
Номер: 2 10
Марка автомобиля: Toyota 10
Вес: 81.71 кг 10
Стоимость: 21960 рублей 10
Возможное количество: 600 10
Номер: 3 10
Марка автомобиля: BMV 10
Вес: 12.62 кг 10
Стоимость: 38524 рублей 10
Возможное количество: 800 10
Самая тяжелая модель: Volvo 89.55 кг 10
Самая легкая модель: BMV 12.62 кг 10
Формальная постановки задачи 11
Для выполнения задания необходимо создать три списка: автомобилей, фирм и деталей. Далее из информационного файла в отдельный список считываются данные для каждого автомобиля, а именно набор деталей. Первое число в строке - номер модели, далее через пробел написан номер детали. Рядом с номером детали через пробел написано количество, которое нужно для создания автомобиля. 11
11
В процессе прохождения по информационному списку в список автомобилей заносится информация об итоговом весе автомобиля, его стоимости и количестве машин, которые можно произвести. 11
12
12
Особенности решения задачи на компьютере, ввод и вывод 12
Название файла 16
Операция 16
Содержимое файла 16
cars.txt 16
Ввод данных 16
1 Volvo 16
2 Toyota 16
3 BMV 16
4 Honda 16
5 Skoda 16
firms.txt 16
1 Autolite 16
2 Bosch 16
3 Dayso 16
details.txt 16
1 pin@ 0.03 256 1 30000 16
2 wheel@ 20 3000 2 2400 16
3 belt@ 0.5 1500 3 20000 16
4 spring@ 0.06 300 1 100 16
5 screw@ 0.33 500 2 3490 16
info.txt 16
1 1 30 16
1 2 4 16
1 3 5 16
1 4 20 16
1 5 15 16
2 1 35 16
2 2 4 16
2 5 2 16
3 1 4 16
3 3 25 16
protocol.txt 16
Сбор информации по одной модели 16
НОВАЯ МАШИНА 16
Номер машины: 1 Номер из файла: 1 Совпадение 16
>> Сравнение номеров деталей 16
1 1 > Совпадение деталей 16
Вес деталей одного типа: 0.9 16
Стоимость деталей одного типа: 7680 16
Количество деталей на складе: 30000 16
Сколько нужно деталей для машины: 30 16
Сколько можно собрать машин из этих деталей: 1000 16
>> Сравнение номеров деталей 16
2 2 > Совпадение деталей 16
Вес деталей одного типа: 80 16
Стоимость деталей одного типа: 12000 16
Количество деталей на складе: 2400 16
Сколько нужно деталей для машины: 4 16
Сколько можно собрать машин из этих деталей: 600 16
>> Сравнение номеров деталей 16
3 3 > Совпадение деталей 16
Вес деталей одного типа: 2.5 16
Стоимость деталей одного типа: 7500 16
Количество деталей на складе: 20000 16
Сколько нужно деталей для машины: 5 16
Сколько можно собрать машин из этих деталей: 4000 16
>> Сравнение номеров деталей 16
4 4 > Совпадение деталей 16
Вес деталей одного типа: 1.2 16
Стоимость деталей одного типа: 6000 16
Количество деталей на складе: 100 16
Сколько нужно деталей для машины: 20 16
Сколько можно собрать машин из этих деталей: 5 16
>> Сравнение номеров деталей 16
5 5 > Совпадение деталей 16
Вес деталей одного типа: 4.95 16
Стоимость деталей одного типа: 7500 16
Количество деталей на складе: 3490 16
Сколько нужно деталей для машины: 15 16
Сколько можно собрать машин из этих деталей: 232 16
СТОИМОСТЬ МАШИНЫ: 40680 руб. 16
ВЕС МАШИНЫ: 89.55 кг. 16
КОЛИЧЕСТВО МАШИН: 5 16
result.txt 16
Сведения о деталях, фирмах и автомобилях 16
Каталог деталей: 16
1. pin. Вес: 0.03 Цена: 256 Фирма: Autolite Склад: 30000 16
2. wheel. Вес: 20 Цена: 3000 Фирма: Bosch Склад: 2400 16
3. belt. Вес: 0.5 Цена: 1500 Фирма: Dayso Склад: 20000 16
4. spring. Вес: 0.06 Цена: 300 Фирма: Autolite Склад: 100 16
5. screw. Вес: 0.33 Цена: 500 Фирма: Bosch Склад: 3490 16
Информация о составе автомобилей: 16
Название модели: Volvo 16
Состав модели: 16
. pin - 30 шт 16
. wheel - 4 шт 16
. belt - 5 шт 16
. spring - 20 шт 16
. screw - 15 шт 16
Название модели: Toyota 16
Состав модели: 16
. pin - 35 шт 16
. wheel - 4 шт 16
. screw - 2 шт 16
Название модели: BMV 16
Состав модели: 16
. pin - 4 шт 16
. belt - 25 шт 16
Список автомобилей: 16
Номер: 1 16
Марка автомобиля: Volvo 16
Вес: 89.55 кг 16
Стоимость: 40680 рублей 16
Возможное количество: 5 16
Номер: 2 16
Марка автомобиля: Toyota 16
Вес: 81.71 кг 16
Стоимость: 21960 рублей 16
Возможное количество: 600 16
Номер: 3 16
Марка автомобиля: BMV 16
Вес: 12.62 кг 16
Стоимость: 38524 рублей 16
Возможное количество: 800 16
result.txt 16
Выполнение команд 16
Список команд: 16
1. Определить, можно ли произвести конкретную модель по запасу на складе, её вес и стоимость 16
2. Определить сколько можно произвести автомобилей конкретной модели 16
3. Определить, какие модели можно произвести из определённого ценового диапазона 16
4. Выделить модели по весу 16
Чтобы закончить работу, введите 0 16
Чтобы ещё раз вывести каталог деталей, введите 5 16
Чтобы вывести информацию о составе машин, введите 6 16
Чтобы ещё раз вывести список автомобилей, введите 7 16
Чтобы выполнилась команда, введите от 1 до 4 >> 16
Выбрана команда 1 Введите номер модели >> 16
Марка автомобиля: Toyota 16
Вес: 81.71 кг 16
Стоимость: 21960 рублей 16
Возможное количество: 600 16
Эту модель МОЖНО изготовить :) 16
Выбрана команда 2 Введите номер модели >> 16
Марка автомобиля: Volvo 16
Вес: 89.55 кг 16
Стоимость: 40680 рублей 16
Возможное количество: 5 16
Можно произвести 5 машин 16
Выбрана команда 3. Автомобили, попавшие в ценовой диапазон: 16
Марка автомобиля: Volvo 16
Стоимость: 40680 рублей 16
Марка автомобиля: Toyota 16
Стоимость: 21960 рублей 16
Марка автомобиля: BMV 16
Стоимость: 38524 рублей 16
Выбрана команда 4 16
Самая тяжелая модель: Volvo 89.55 кг 16
Самая легкая модель: BMV 12.62 кг 16
Окончание работы 16
Выбрана команда 0 16
Работа закончена. 16
Средства обеспечения ввода/вывода 17
Библиотека 17
Команды 17
iostream 17
cout 17
fstream 17
ofstream,fstream,ifstream,eof(),open() 17
locale.h 17
setlocale 17
iomanip 17
setw 17
Функции 18
Алгоритм работы программы 20
Текст программы 27
Результаты работы программы 33
Входные файлы: 33
33
33
33
ЗАКЛЮЧЕНИЕ 37
Введение
Цель: Обобщение знаний и практических навыков по программированию, полученных за второй семестр на примере выполнения задания на создание и связь друг с другом сложно-структурированных списков.
Задачи:
Осмыслить формулировку задания;
Изучить предметную область;
Подготовить примеры на разные ситуации.
Формулировка задания
Задание № 7.9 Деталь автомобиля описывается названием, инвентарным номером (положительное целое число), весом (в килограммах), ценой (в рублях), фирмой-производителем и запасом на складе (в штуках). Имеются эффективно размещённые сведения о разных автомобилях (по составу и числу деталей для конкретной модели). Необходимо определить:
Можно ли произвести конкретную модель по запасу на складе, её вес и стоимость,
Сколько можно произвести автомобилей конкретной модели,
Какие модели можно произвести из определённого ценового диапазона,
Выделить модели по весу (самую лёгкую и тяжёлую)