Структура иерархии классов "Экран курсового проектирования"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

?ан курсового проектирования

Алгоритм работы программы на основе иерархии классов следующий:

  1. Пользователь вводит название дисциплины, по которой проводятся курсовые работы и номер группы, состав приемной комиссии и дату утверждения экрана курсового проектирования;
  2. Создается экземпляр класса TScreen, в который с помощью методов заносится введенная пользователем информация;
  3. Производится копирование полей в визуальные компоненты для отображения введенной информации;
  4. Далее программа ожидает действия пользователя:
  5. При добавлении записи происходит создание экземпляра класса TStudent. Пользователь вводит информацию о студенте, с помощью методов экземпляра класса происходит присвоение значений полям класса. Затем происходит копирование полей в визуальный компонент для отображения введенной информации;
  6. При удалении выбирается нужная запись, программа запрашивает разрешение на удаление и в случае успешного подтверждения удаляет запись, информируя об этом пользователя;
  7. При редактировании записи выбирается нужная запись, программа запрашивает разрешение на редактирование и в случае успешного подтверждения открывается окно для редактирования. Пользователь редактирует запись и подтверждает свои действия, либо отменяет их;
  8. При поиске программа запрашивает у пользователя информацию на поиск и в случае успешного поиска информирует его об этом. В случае, если пользователь не удовлетворен результатом, можно продолжить поиск;
  9. Изменение листа подразумевает в себе редактирование полей экземпляра класса TScreen. Пользователь задает новые поля с помощью методов, происходит обновление экземпляра класса TScreen;
  10. В визуальных компонентах отображается введенная пользователем информация, которая впоследствии обрабатывается им;
  11. Выход из программы с вызовом деструкторов в экземплярах классов TScreen и TStudent, и удаление самих экземпляров.

 

  1. Программная реализация

 

Для реализации визуальных компонентов было создано 4 формы:

  1. Главное окно, в котором отображается вводимая информация, а также осуществляется вызов окон для добавления, редактирования и поиска;
  2. Стартовое окно, которое запрашивает у пользователя информацию о названии экрана курсового проектирования, дате утверждения экрана и состава приемной комиссии;
  3. Окно добавления/редактирования позволяет добавлять/редактировать записи.
  4. Окно поиска служит для приема искомой информации.

Большую часть главного окна занимает визуальный компонент dataGridView, который служит таблицей для отображения введенных записей. В данном случае он очень удобен, т.к. отвечает всем требованиям для хранения и отображения записей о студентах. Заполнение таблицы происходит с помощью кнопки Добавить, которая расположена внизу окна. При нажатии на нее происходит вызов окна добавления, которое содержит текстовые поля(textbox) для ввода информации. Пользователь вводит необходимую информацию, затем необходимо нажать на кнопку Проверка. Так как поля класса TStudent имеют различные типы данных, то необходимо провести соответствие введенных полей этим типам. В случае успешной проверки появляется кнопка добавить, с помощью которой введенные записи присваиваются полям класса. В случае ошибки ввода пользователь будет выведена ошибка о несоответствии типов, либо пользователь пропустил ввод некоторого поля.

Рассмотрим процедуру добавления записи в dataGridView:

private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) {

Form2 ^newdlg=gcnewForm2();//вызов форма добавления записи

if(dialres==System::Windows::Forms::DialogResult::OK){//проверкаусловиянанажатиеклавиши ОК вформедобавления

Student->SetName(newdlg->textBox1->Text);//присвоение значений полям класса значений из формы добавления

dataGridView1->Rows->Add(Student->TName,…);//добавлениеполейзаписивтаблицуdataGridView1

return;//возврат в главную программу

}

}

Полная реализация данной процедуры представлена в приложении В.

Процедура удаления доступна при выполнении двух условий:

  1. В таблице есть хотя бы одна запись;
  2. Если значение визуального компонента checkBox->Checked равно True (стоит галочка);

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

Процедураудаленияприведенаниже:

private: System::Voidbutton6_Click(System::Object^ sender, System::EventArgs^ e) {

dialres=MessageBox::Show("Выточнохотитеудалитьзапись?","Удалить?",MessageBoxButtons::OKCancel,MessageBoxIcon::Warning);//вывод предупреждения

if(dialres==System::Windows::Forms::DialogResult::OK){//проверкаусловиянаудаление

if(this->dataGridView1->SelectedRows->Count > 0 &&

this->dataGridView1->SelectedRows[0]->Index !=

this->dataGridView1->Rows->Count){// проверкананаличиестрокивыделенияудаляемойстроки

this->dataGridView1->Rows->RemoveAt(this->dataGridView1->SelectedRows[0]->Index);//удалениевыделеннойстроки

CountDataGrid--;//уменьшение количества записей в таблице

}

}

}

Полная реализация данной процедуры представлена в приложении В.

Функция редактирования использует то же окно, что и функция добавления, с той лишь разницей, что ее поля заполняются информацией редактируемой записи. Для выполнения редактирования необходимо наличие тех же двух условий, что и для удаления. После редактирования записи в выделенную строку в dataGridView возвращаются обновленные поля.

Рассмотримфункциюредактирования:

private: System: