Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛабРабота№4.doc
Скачиваний:
7
Добавлен:
18.09.2019
Размер:
141.82 Кб
Скачать

1. Введение

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

2. Назначение

Система предназначена для хранения и обработки сведений о текущей успеваемости студентов учебной группы.

Система может быть использована при проведении смотров и для оценки текущей успеваемости каждого студента и группы в целом.

3. Требования к программе или программному изделию

3.1. Требования к функциональным характеристикам.

Система должна обеспечивать возможность выполнения следующих функций:

  • инициализацию системы (ввод списка группы и т.п.);

  • ввод и коррекцию текущей информации о ходе выполнения учебного графика конкретным студентом;

  • хранение информации в течение длительного времени;

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

а) процент успеваемости по конкретному студенту по всем предметам;

б) процент успеваемости по всем студентам по конкретному заданию;

в) проценты успеваемости по всем студентам и группе в целом по всем предметам;

г) список студентов, не сдавших конкретное задание;

д) процент успеваемости каждого студента и группы по конкретному предмету.

Исходные данные:

  • список студентов группы;

  • перечень предметов, перечень заданий по каждому предмету и сроки их сдачи;

  • текущие данные (еженедельно): процент выполнения каждым студентом каждого задания учебного графика.

3.2. Требования к надежности.

1. Программный продукт должен соответствовать современному уровню требований к разработке программного обеспечения (структурному и объектно-ориентированному подходам).

2. Предусмотреть контроль вводимой информации.

3. Предусмотреть блокировку некорректных действий пользователя при работе с системой.

4. Обеспечить сохранение результатов предыдущей корректировки файла данных в файле с расширением .bak.

3.3. Требования к составу и параметрам технических средств.

Система должна работать на IBM совместимых персональных компьютерах.

Минимальная конфигурация:

  • тип процессора Intel 386 и выше

  • объем ОЗУ 8 Мб и более

  • тип монитора EGA и выше

  • тип манипулятора мышь

3.4. Требования к информационной и программной совместимости.

Система должна работать под управлением Windows XP и выше.

4. Требования к программной документации

Разрабатываемые программные модули должны быть самодокументированны, т.е. тексты программ должны содержать все необходимые комментарии.

Регулярные выражения

#pragma once

namespace Regul {

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

using namespace System::Text::RegularExpressions;

/// <summary>

/// Summary for Form1

///

/// WARNING: If you change the name of this class, you will need to change the

/// 'Resource File Name' property for the managed resource compiler tool

/// associated with all .resx files this class depends on. Otherwise,

/// the designers will not be able to interact properly with localized

/// resources associated with this form.

/// </summary>

public ref class Form1 : public System::Windows::Forms::Form

{

public:

Form1(void)

{

InitializeComponent();

//

//TODO: Add the constructor code here

//

}

protected:

/// <summary>

/// Clean up any resources being used.

/// </summary>

~Form1()

{

if (components)

{

delete components;

}

}

private: System::Windows::Forms::Label^ labelDate;

protected:

private: System::Windows::Forms::TextBox^ textBoxDate;

private: System::Windows::Forms::Button^ buttonValid;

private:

/// <summary>

/// Required designer variable.

/// </summary>

System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code

/// <summary>

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

/// </summary>

void InitializeComponent(void)

{

this->labelDate = (gcnew System::Windows::Forms::Label());

this->textBoxDate = (gcnew System::Windows::Forms::TextBox());

this->buttonValid = (gcnew System::Windows::Forms::Button());

this->SuspendLayout();

//

// labelDate

//

this->labelDate->AutoSize = true;

this->labelDate->Location = System::Drawing::Point(12, 29);

this->labelDate->Name = L"labelDate";

this->labelDate->Size = System::Drawing::Size(37, 13);

this->labelDate->TabIndex = 0;

this->labelDate->Text = L"Текст";

//

// textBoxDate

//

this->textBoxDate->Location = System::Drawing::Point(64, 26);

this->textBoxDate->Name = L"textBoxDate";

this->textBoxDate->Size = System::Drawing::Size(216, 20);

this->textBoxDate->TabIndex = 1;

//

// buttonValid

//

this->buttonValid->Location = System::Drawing::Point(64, 88);

this->buttonValid->Name = L"buttonValid";

this->buttonValid->Size = System::Drawing::Size(114, 23);

this->buttonValid->TabIndex = 2;

this->buttonValid->Text = L"Проверить";

this->buttonValid->UseVisualStyleBackColor = true;

this->buttonValid->Click += gcnew System::EventHandler(this, &Form1::buttonValid_Click);

//

// Form1

//

this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);

this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;

this->ClientSize = System::Drawing::Size(292, 266);

this->Controls->Add(this->buttonValid);

this->Controls->Add(this->textBoxDate);

this->Controls->Add(this->labelDate);

this->Name = L"Form1";

this->Text = L"Валидатор";

this->ResumeLayout(false);

this->PerformLayout();

}

#pragma endregion

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

{

// кирилица, не менее 5 букв

String^ filter="[а-я]{5,}";

Regex^ reg= gcnew Regex(filter);

Match^ match = reg->Match(this->textBoxDate->Text);

if (match->Success)

{

MessageBox::Show("Введено не менее 5 букв");

}

else

{

MessageBox::Show("Ошибка ввода, повторите ввод");

this->textBoxDate->Text="";

}

}

};

}