Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГоловковИ.Е._12002108_Курсовая_работа.docx
Скачиваний:
11
Добавлен:
26.06.2024
Размер:
2 Мб
Скачать
☆

3.1 Программирование задачи в консольном варианте

Использованные библиотеки показаны на рисунке 3.1.1

Рисунок 3.1.1 – Использованные библиотеки

Библиотека iostream используется для организации ввода-вывода. Библиотека iomanip содержит манипуляторы, используемые при работе с потоковыми операциями (задаёт ширину поля отображения для следующего элемента в потоке.). Библиотека ctime используется для генерации зерна по системному времени компьютера c srand. Библиотека cstdio обеспечивает выполнение операций ввода-вывода при работе с файлами. Библиотека windows.h используется для получения данных об операционной системе.

Пользовательские функции, используемые в программе, представлены на рисунке 3.1.2.

Рисунок 3.1.2 – Использованные пользовательские функции

Генерация «базового поля» и пользовательское меню представлены на рисунке 3.1.3.

Рисунок 3.1.3 – Генерация «базового поля» и пользовательское меню

Определение данных текущей игры, процесс игры и запись результатов в файл представлены на рисунке 3.1.4.

Рисунок 3.1.4 – Определение данных текущей игры, процесс игры и запись результатов в файл

Функция вывода поля и функция перестановки столбцов и строк представлены на рисунке 3.1.5.

Рисунок 3.1.5 – Функция вывода поля и функция перестановки столбцов и строк

Функция заполнения элементов массива соответствующим сложности количеством нулей (пустых клеток) представлена на рисунке 3.1.6

Рисунок 3.1.6 – Функция заполнения элементов массива нулями

Ввод цифры в клетку поля и проверка на правильность представлены на рисунке 3.1.7.

Рисунок 3.1.7 – Ввод цифры и проверка на правильность

Функция дополнения файла новыми данными и функция чтения данных из файла и поиска пользователя по имени представлены на рисунке 3.1.8.

Рисунок 3.1.8 – Чтение данных из файла, поиск по имени и запись в файл новых данных

Заполнение динамического массива данными из файла и его сортировка по возрастанию представлены на рисунке 3.1.9.

Рисунок 3.1.9 – Заполнение динамического массива данными из файла и сортировка

3.2 Программирование задачи с использованием экранных форм

В экранных формах будут реализованы два действия. Первое – создание ячеек и их заполнение цифрами в соответствии с правилами судоку. Левый элемент DataGridView (поле-таблица) будет содержать заполненные и пустые клетки, правый элемент DataGridView будет отображать готовое решение варианта судоку из левого элемента. Второе действие – это очистка полей, которая может быть использована для последующей повторной генерации новых полей. Экранная форма представлена на рисунке 3.2.1.

.Рисунок 3.2.1 – Экранная форма

В экранной форме используются элементы:

  • dataGridView – таблица для вывода поля;

  • button – кнопка создания нового варианта поля и кнопка очистки;

  • label – пояснительные записки для элементов;

  • checkBox – оператор выбора, определяющий, будет ли заполнено готовое поле с решением.

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

Работа кнопки «Заполнить» схожа с работой функций perestanovka, vidNum, а также части функций main и play из консольного варианта программы. Она создаёт «базовое поле», перемешивает его в соответствии с правилами игры, а затем выводит требуемые элементы. Программный код кнопки «Заполнить» представлен в приложении B.

Кнопка «Очистить» использует функцию Clear для обоих элементов dataGridView, удаляя их строки. Программный код кнопки «Очистить» представлен в приложении B.

Таким образом, в третьем разделе были реализованы алгоритмы как в консольном варианте, так и в экранных формах.