Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабы - 2 сем - Калмычков / курсач по проге - 2 сем (Калмычков).docx
Скачиваний:
0
Добавлен:
09.07.2025
Размер:
649.8 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра САПР

Курсовая РАБОТА

по дисциплине «Программирование»

Тема: «Списочное представление информационной системы»

Студентка гр. 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

Введение

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

Задачи:

  1. Осмыслить формулировку задания;

  2. Изучить предметную область;

  3. Подготовить примеры на разные ситуации.

Формулировка задания

Задание № 7.9 Деталь автомобиля описывается названием, инвентарным номером (положительное целое число), весом (в килограммах), ценой (в рублях), фирмой-производителем и запасом на складе (в штуках). Имеются эффективно размещённые сведения о разных автомобилях (по составу и числу деталей для конкретной модели). Необходимо определить:

  1. Можно ли произвести конкретную модель по запасу на складе, её вес и стоимость,

  2. Сколько можно произвести автомобилей конкретной модели,

  3. Какие модели можно произвести из определённого ценового диапазона,

  4. Выделить модели по весу (самую лёгкую и тяжёлую)