Разработка списка документов университета
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
писок документов
Также реализована возможность поиска документа по номеру (рис. 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