- •Пояснительная записка
- •1. Цель работы
- •7. Описание переменных главной функции
- •8. Краткое описание алгоритма
- •9. Описание функций
- •Описание функции «confirming»
- •Описание функции «Sort»
- •Описание функции «Newsort»
- •Описание функции «Add»
- •Описание функции «Del»
- •Описание функции «Output_2»
- •Описание функции «save»
- •Описание функции «Load»
- •Описание функции «Seach»
- •10. Иерархическая структура программы
- •12. Набор тестов
- •13. Инструкция для пользователя
- •14. Результаты выполнения программы
- •15. Выводы
Федеральное государственное бюджетное образовательное учреждение высшего
профессионального образования
«Санкт-Петербургский государственный электротехнический
университет «ЛЭТИ» им. В.И.Ульянова (Ленина)»
Факультет компьютерных технологий и информатики
Кафедра вычислительной техники
Пояснительная записка
по курсовой работе
по дисциплине «Программирование. Дополнительные главы»
на тему: «Электронная картотека»
Выполнил: студент группы 2306 Титков Е.В.
Проверила: к.т.н., доцент Сискович Т.И.
Санкт-Петербург
2013 г.
Оглавление
1. Цель работы 3
2. Задание 3
3. Уточнение задания 3
4. Описание информационной структуры 3
5. Описание структуры, используемой для организации списка 4
6. Контрольные примеры 4
7. Описание переменных главной функции 5
8. Краткое описание алгоритма 6
9. Описание функций 7
10. Иерархическая структура программы 12
11.Код программы на языке С/С++ 13
12. Набор тестов 37
13. Инструкция для пользователя 38
14. Результаты выполнения программы 40
15. Выводы 40
1. Цель работы
Получение практических навыков в работе со списками и файлами на примере электронной картотеки.
2. Задание
Создать электронную картотеку, хранящуюся на диске, и программу, обеспечивающую взаимодействие с ней.
Программа должна выполнять следующие действия:
- занесение данных в электронную картотеку;
- внесение изменений (исключение, корректировка, добавление);
- поиск данных по признаку;
- сортировку;
- вывод результатов на экран и сохранение на диске.
3. Уточнение задания
Выбор подлежащих выполнению команд должен быть реализован с помощью меню и подменю.
Задача должна быть структурирована, и отдельные части должны быть оформлены как функции. Исходные данные должны вводиться с клавиатуры. В процессе обработки картотека должна храниться в памяти компьютера в виде списка.
Программа должна иметь дружественный интерфейс и обеспечивать устойчивую работу при случайном нажатии на клавишу.
В картотеке хранятся сведения о программных продуктах.
4. Описание информационной структуры
Шаблон:
typedef struct games
{
char name[12]; //Название продукта
int year; //Дата выхода
int rating; //Рейтинг
}MS;
Где первое поле типа char- название продукта, второе поле типаint– дата выхода продукта, третье поле типаint– рейтинг.
Имя структурного типа: games.
Имя нового типа:MS.
Пример объявления переменной типа NT: MS*games=NULL.
5. Описание структуры, используемой для организации списка
Шаблон:
typedef struct list
{
MS info;
struct list* pred;
struct list* next;
}SP;
Где первое поле – данные типа MS, второе и третье поле указатель типа struct list *.
Имя структуры, используемой для организации список: list.
Имя нового типа: SP.
Пример объявления переменной типа SP: SP *h1=NULL.
6. Контрольные примеры
Контрольные примеры обработки приведены в таблице 1 «Контрольные примеры обработки».
Таблица 1. Контрольные примеры обработки
№ п.п. |
Исходные данные |
Условие обработки rating вывод продуктов с рейтингом больше, чем n |
Результат | ||||||
Наименование |
Год выхода |
Рейтинг |
Наименование |
Год выхода |
Рейтинг | ||||
1 |
Crysis |
2008 |
7 |
n=8 |
Crysis 2 |
2010 |
9 | ||
Crysis 2 |
2010 |
9 |
Crysis 3 |
2012 |
10 | ||||
Crysis 3 |
2012 |
10 |
|
|
| ||||
2 |
Max Payne |
2000 |
9 |
n=10 |
Gears World |
2012 |
11 | ||
Gears World |
2012 |
11 |
|
|
| ||||
Shake |
2010 |
3 |
|
|
|
Контрольные примеры сортировки по полю ratingприведены в таблице 2 «Контрольные примеры сортировки».
Таблица 2. Контрольные примеры сортировки
№ п.п. |
Исходные данные |
Тип сортировки |
Результат | ||||||
Наименование |
Год выхода |
Рейтинг |
Наименование |
Год выхода |
Рейтинг | ||||
1 |
Crysis |
2008 |
8 |
По возрастанию |
Crysis 3 |
2012 |
7 | ||
Crysis 2 |
2010 |
11 |
Crysis |
2008 |
8 | ||||
Crysis 3 |
2012 |
7 |
Crysis 2 |
2010 |
11 | ||||
2 |
Crysis |
2008 |
8 |
По убыванию |
Crysis 2 |
2010 |
11 | ||
Crysis 2 |
2010 |
11 |
Crysis |
2008 |
8 | ||||
Crysis 3 |
2012 |
7 |
Crysis 3 |
2012 |
7 |
Контрольные примеры сортировки по полю yearприведены в таблице 3 «Контрольные примеры сортировки».
Таблица 3. Контрольные примеры сортировки
№ п.п. |
Исходные данные |
Тип сортировки |
Результат | ||||||
Наименование |
Год выхода |
Рейтинг |
Наименование |
Год выхода |
Рейтинг | ||||
1 |
Baloo |
2008 |
8 |
По возрастанию |
Aentik |
2012 |
7 | ||
Charge |
2010 |
11 |
Baloo |
2008 |
8 | ||||
Aentik |
2012 |
7 |
Charge |
2010 |
11 | ||||
2 |
Nord |
2008 |
8 |
По убыванию |
Ascell |
2010 |
11 | ||
Ascell |
2010 |
11 |
Jaske |
2012 |
7 | ||||
Jaske |
2012 |
7 |
Nord |
2008 |
8 |