Разработка списка документов университета

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

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

писок документов

Также реализована возможность поиска документа по номеру (рис. 6.5):

 

Рис. 6.5.Поиск документа по номеру

 

Возможность поиска приказов по фамилии ответственного за исполнение (рис. 6.6):

 

Рис. 6.6. Поиск приказов по фамилии ответственного за исполнение

Возможность поиска заявлений по фамилии заявителя (рис. 6.7):

 

Рис. 6.7. Поиск заявлений по фамилии заявителя

 

Возможность поиска ведомостей заданных курса и группы (рис. 6.8):

 

Рис. 6.8. Поиск ведомостей заданных курса и группы

Возможность поиска всех ведомостей по заданной дисциплине: (рис. 6.9):

 

Рис. 6.9. Поиск всех ведомостей по заданной дисциплине

 

Возможность изменения информации о документе (рис. 6.10):

Рис. 6.10. Изменение информации о документе

В список возможностей также входит удаление документа. После выполнения всех необходимых действий со списком, пользователь может завершить работу программы, нажав клавишу 0(рис. 6.11):

 

Рис. 6.11. Нажатие на кнопку Выход.

 

 

7. Реализация

 

.1 Структура программы

 

 

 

 

 

 

 

 

 

Рис. 7.1. Структура программы

 

.2 Описание данных

 

В программе описаны следующие типы://класс - родитель всех документов

{; //номер документа; // дата последнего изменения строкой; //свойство тип документа

publicstring Department; //свойство факультет

}: Document // класс Statement - наследник от Document

{course; //курсgroup; //группа; // сколько всего студентов в группе

intfailedcnt; // количество не сдавших

}

classRequest: Document// класс Request - наследник от Document

{

publicstringFromWho; // от кого заявление

publicstringToWhom; // кому заявление

publicstring Subject; // тема заявления

}: Document // класс RectorsOrder - наследник от Document

{

intexecby; // в течение скольки дней приказ должен быть выполнен

publicstringName; // название приказа;// ответственный за выполнение приказа

classDocumentsList//класс DocumentsList - список документов

{N = 50; //начальный размер списка.;//количество элементов в списке

Document[] Elem = newDocument[N];//самсписок на основе массива

}

Используются следующие переменные:

 

.3 Методы

 

Класс Document имеет методы:stringShowInfo()//вывод на экран информации о документе (формирование строки с переносами)()//изменение информации о документе

Эти процедуры используют общие поля для всех типов документов.

Свойство://свойство номер

{{ return number; }{ number = value< 0 ? -value :value; }

}

Классы Statement, Request, RectorsOrder переопределяют методы Document, дополняя их реализацию полями, присущими определённому типу документа.

Класс DocumentsList имеет методы-процедуры://свойство для проверки списка (не пуст ли)_Elem(intNum) //просмотр нужного элемента (по номеру)_Add(inttype) //добавление элемента в список_Delete(intid) //удаление элемента из списка(по номеру)() //просмотр всех элементов в списке_Change(intid) //изменения элемента в списке (по номеру)

publicvoidEl_Search(int type) //поиск документов по типу

publicvoidEl_SearchByNum(intnum) //поиск по номеру документа

publicvoidEl_SearchAllRequestsFrom(string name) // все заявления от одного заданного заявителя

publicvoidEl_SearchAllStatementsOf(int c, int g) // все ведомости данного курса и группы

publicvoidEl_SearchAllStatementsBySubj(stringsubj) // всев едомости по данному предмету_SearchRObyResp(stringresp) // все приказы ректора, где ответственный за выполнение - resp

 

 

8. Тестирование

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

К пустому списку нельзя применить процедуры удаления и изменения элемента, поэтому необходимо проверять список на пустоту перед выполнением данных действий. Для этого в классе DocumentsList реализовано свойство check, возвращающее true, если список не пуст и false в обратном случае (рис. 8.1):

 

Рис. 8.1.Проверка на пустоту

 

Необходима также и проверка выбранного пользователем пункта меню или типа документа (рис. 10).

 

 

Рис. 8.2.Проверка корректности выбора

 

 

9. Заключение

 

В результате проделанной работы была создана и оттестирована программа, предоставляющая следующие возможности:

.Создание списка документов.

2.Поиск по номеру документа.

.Поиск приказов по имени ответственного.

.Поиск заявлений от одного заданного заявителя.

.Поиск всех ведомостей заданного курса и группы.

.Поиск всех ведомостей по одной из дисциплин.

.Изменение информации о документе.

.Удаление документа из списка.

.Просмотр списка документов.

 

 

Приложение. Листинг программы

 

Основные структурные части программы:

МодульDocument.cs

using System;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

namespace task2

{

publicabstractclassDocument

{

int number; // номер документа

publicint Number //свойство номер

{

get { return number; }

set { number = value< 0 ? -value :value; }

}; // дата последнего изменения строкой; //свойство тип документаDepartment; //свойство факультетDocument (int n, string lm, string t, string d) // конструктор

{= n;= lm;= t;

Department = d;

}() { }

//виртуальный метод, переопределенный в потомках()//поаказать информацию о документе

{"Тип документа: " + Type + "\n" +

"Номер документа: " + Number + "\n" +

"Дата внесения последних изменений в документ: " + LastModified + "\n" +

"Факультет: " + Department + "\n";

}() //изменение информации о документе

{.WriteLine("Введите тип документа");

Type = Console.ReadLine();.WriteLine("Введитеномердокумента");= Int32.Par