- •2004 Содержание
- •1. Задание
- •2. Примеры, отражающие смысловую сторону задания
- •3. План решения поставленной задачи
- •4. Спецификация функций
- •4.7. Функция add()
- •4.8. Функция del()
- •4.9.Функция SortByiMoney()
- •4.10. Функция SaveInFile()
- •4.11. Функция LoadFromFile()
- •4.12. Функция free()
- •5. Схема алгоритма Функции ввода данных( InPut )
- •6. Структура вызовов функций
- •7. Набор тестов
- •8. Инструкция пользователю
- •9. Заключение
- •10. Текст программы
4.10. Функция SaveInFile()
Назначение: сохранение списка в файл.
Заголовок функции: void SaveInFile( MY_STRUCT* Game, char *address )
Формальные параметры:
Game– указатель на область динамической памяти, выделенной для хранения списка.
address– указатель на область памяти, где хранится имя файла.
Фактические параметры:
Game– указатель на область динамической памяти, выделенной для хранения списка.
address– адрес одномерного массива, где хранится имя файла.
Пример вызова: SaveInFile( Game, address )
Вызывающие функции:main(),SortByiMoney().
Вызываемые функции: отсутствуют.
4.11. Функция LoadFromFile()
Назначение: загрузка данных из файла.
Заголовок функции: MY_STRUCT* LoadFromFile(MY_STRUCT* Game, char *address)
Формальные параметры:
Game– указатель на область динамической памяти, выделенной для хранения списка.
address– указатель на область памяти, где хранится имя файла.
Фактические параметры:
Game– указатель на область динамической памяти, выделенной для хранения списка.
address– адрес одномерного массива, где хранится имя файла.
Пример вызова: int iRepeatCount = CountWord( StrArray[0], Chto )
Вызывающие функции:main()
Вызываемые функции: отсутствуют.
4.12. Функция free()
Назначение: очистка динамически выделенной памяти.
Заголовок функции: void FREE( MY_STRUCT* Game )
Формальные параметры:
Game– указатель на область динамической памяти, выделенной для хранения списка.
Фактические параметры:
Game– указатель на область динамической памяти, выделенной для хранения списка.
Пример вызова: FREE(Game)
Вызывающие функции: main(),InPut()
Вызываемые функции: отсутствуют.
5. Схема алгоритма Функции ввода данных( InPut )
6. Структура вызовов функций
7. Набор тестов
Проверка программы выполняется с помощью тестов. Тестирование– проверка определенной части программы, сравнение результатов, выданных программой для специально выбранных исходных данных, с ожидаемыми результатами.
7.1.Тест для проверки правильности работы функцииSaveInFile() и LoadFromFile(). 1.Для этого пытаемся сохранить пустую структуру.
Вывод на экран: Сохранять нечего!! Список пуст!!
При попытке загрузить несуществующий файл пользователь также получит предупреждение.
2.Сохраняем структуру данных в файл с уже существующим именем.
Вывод на экран ********* WARNING*********
Файл с таким именем уже существует !
При сохранении нового файла старые данные исчезнут!
Вы точно хотите продолжить?[y\\n]
3. Сохраняем исходную структуру и выходим из программы. Затем заново входим в программу, заново входим в программу и загружаем ранее сохраненный файл. Если вводимые ранее данные совпали с результатом загрузки, то функции сохранение и загрузка из файла работают правилно.
7.2.Тест для проверки правильности работы функции InPut() иOutPut()
1.Пытеемся исправить поля пустой структуры. Результат( Предупреждение ): Исправлять нечего
2.Пытаемся вывести пустую структуру: Предупреждение: Сначало надо ввести данный!!!
3.Вводим исходную структуру или загружаем ее из файла и выводим. При желании можно изменить поля и проверить при выводе. При совподении результата с ожидаемым функции работают верно.
7.3.Тест для проверки правильности работы функцииSearch1()
1.Пытаемся найти элемент в пустом списке: Предупреждение: Данные не введены
2. В исходном списке ищем элемент с заданными полями либо элемент, которого нет в списке.
При втором случае выводится сообщение об отсутствии данного элемента в списке. Проверить наличие искомого элемента можно при выводе списка
7.4.Тест для проверки правильности добавления и удаления элемента
1.При попытки удалить или добавить до заданного элемента в пустом списке появится предупреждение: Необходимо ввести данные!!!
2.Добавляем и удаляем необходимые элементы и проверяем с помощью пункта меню 3. Контрольный вывод
После ввода 25 строк ввод текста заканчивается. А при вводе слов для замены после 15ого символа ввод слова закончится.
7.5.Тест для проверки правильности работы функции сортировки
1.Пытаемся отсортировать пустой список и получаем предупреждение: Необходимо ввести данные!
2. Сортируем уже введенный список и проверяем результат при выводе на экран. Элементы должны выстроиться в таком порядке, чтобы цена на игры возрастала от первого элемента к последнему!