Язык 'Си шарп'
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
ОСОБЕННОСТИ
ЯЗЫКА
СОДЕРЖАТЕЛЬНАЯ
ПОСТАНОВКА ПРОГРАММЫ
ОПИСАНИЕ
КЛАССОВ И СТРУКТУР, ИСПОЛЬЗУЕМЫХ В ПРОГРАММЕ
ДИАГРАММА
КЛАССОВ
ПРОГРАММНАЯ
РЕАЛИЗАЦИЯ
ОПИСАНИЕ
АЛГОРИТМА И ЛОГИКИ РАБОТЫ ПРОГРАММЫ
ОПИСАНИЕ
ПЕРЕМЕННЫХ
ТЕСТИРОВАНИЕ
ИНСТРУКЦИЯ
ПОЛЬЗОВАТЕЛЮ
ЗАКЛЮЧЕНИЕ
СПИСОК
ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЯ
ВВЕДЕНИЕ
В наше время люди все больше и больше начинают
работать с компьютером, он неотъемлемая часть нашей повседневной жизни, в какой
бы сфере человек бы не был занят ему уже не обойтись без компьютера. Работа
библиотекарей включает в себя постоянное отслеживание большого числа книг и
журналов, которые люди берут для чтения. Именно для того чтобы облегчить работу
по отслеживанию за книгами я решил разработать программу которая делала бы это самостоятельно,
как только в нее внесут необходимые данные.
C# (произносится си шарп) -
объектно-ориентированный
<#"657163.files/image001.gif">
Рис. 2
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
Программа написана на языке C# и работает под
управлением операционной системы MS Windows.
Функциональное назначение:
Программа реализует популярную программу
«Организация библиотечного учета». Управление данными осуществляется с помощью
мыши и клавиатуры.
ОПИСАНИЕ АЛГОРИТМА И ЛОГИКИ РАБОТЫ
ПРОГРАММЫ
После запуска программы на поле генерируется в
случайном месте форма, состоящая из одного блока. Программа ждёт нажатия клавиш
пользователем. После нажатия на раздел справочники, программа предлагает
выбрать одно из полей. Выбрав поле мы можем либо добавить в него данные, либо
редактировать, либо удалить. После нажатия клавиши добавить (кнопка на форме)
появляется форма, в которую мы записываем информацию. После добавления данные
загружаются в таблицу, форма закрывается, данные обновляются. После выбора поля
и нажатия на кнопку редактировать(кнопка на форме) появляется форма с выбранной
записью, если строка не выделена то значение индекса сбрасывается для избегания
ошибки . После внесения изменений обновляются данные в таблице и форма
закрывается. При неправильном вводе срабатывает обработчик исключений. Для
завершения работы программы достаточно выбрать раздел файл - закрыть.
ОПИСАНИЕ ПЕРЕМЕННЫХ
Идентификатор
|
Тип
|
Назначение
|
myDB
db
|
private
|
Доступ
к базе данных
|
Form2
Dialog
|
public
|
Создание
диалогового окна
|
ShowDialog
|
public
|
Показывается
диалог
|
CurrentObject
|
private
|
Создание
нового объекта
|
db.T1.InsertOnSubmit
|
private
|
Добавление
объекта в базу данных
|
db.SubmitChanges
|
private
|
Сохранение
изменений
|
Show_T1
|
public
|
Обновление
таблицы
|
ТЕСТИРОВАНИЕ
В ходе разработки программы все неполадки были
устранены, программа работает корректно, дополнительное тестирование не
требуется.
ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЮ
При запуске программы открывается форма.
Создается подключение к базе данных, из нее считываются все данные о читателях
и в таблицу формы выводятся следующие данные:
Номер читателя.
ФИО читателя.
Дата рождения читателя.
Дата подписки читателя.
Рис. 3
Для удаления записи о читателе необходимо
выделить запись и нажать кнопку «Удалить».
Для добавления нового читателе необходимо нажать
кнопку добавить, ввести информацию о читателе и нажать кнопку «Ок».
Для редактирования информации о читателе
необходимо выделить нужную запись и нажать кнопку «Редактировать».
программа класс листинг алгоритм
Рис. 4
Аналогично происходит добавление, редактирование
и удаление записей о книгах, которые находятся у читателя
Рис. 5
ЗАКЛЮЧЕНИЕ
В результате выполнения курсовой работы была
разработана программа на языке Си#, позволяющая отслеживать нахождение материла
(книг или журналов) на руках у читателей.
Данные вводятся пользователем с клавиатуры и
выводятся в окне программы.
СПИСОК ЛИТЕРАТУРЫ
1.
Абрамян visual Си# в примерах.
.
Агуров сборник примеров в Си#.
.
Климов Си# советы программистам.
.
Культин visual Си#.
ПРИЛОЖЕНИЯ
Листинг программы
Файл Form1.cs
using
System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;Курсач
{partial class Form1 : Form
{Form1()
{();
}void Show_T1()
{db = new myDB(); // открывается доступ к базе
данных
DG.DataSource = db.T1.Select(m =>
m);.Columns["T1S5"].Visible =
false;.Columns["T1S6"].Visible =
false;.Columns["T1ID"].Visible =
false;.Columns["T1S1"].HeaderText = "Номер
читателя";.Columns["T1S2"].HeaderText
= "ФИО";.Columns["T1S3"].HeaderText
= "Дата
рождения";.Columns["T1S4"].HeaderText
= "Дата
подписки";
}void Form1_Load(object sender,
EventArgs e)
{_T1();
}void toolStripButton1_Click(object
sender, EventArgs e)
{db = new myDB(); // открывается доступ к базе
данныхDialog = new Form2(); // создается диалоговое окно
Dialog.button3.Enabled = false;.button4.Enabled
= false;.button5.Enabled = false;.ShowDialog(); // показывается
диалог(Dialog.DialogResult
== System.Windows.Forms.DialogResult.OK)
{CurrentObject = new T1(); // Создание нового
объекта
CurrentObject.T1ID = Guid.NewGuid();.T1S1
= Dialog.textBox1.Text;.T1S2 = Dialog.textBox2.Text;.T1S3 =
Dialog.dateTimePicker1.Value;.T1S4 = Dialog.dateTimePicker2.Value;.T1S5 =
Dialog.textBox5.Text;.T1S6 =
Dialog.textBox6.Text;.T1.InsertOnSubmit(CurrentObject); //добавление
объекта
в
бд.SubmitChanges();
// Сохранение
изменений_T1();
//обновление
таблицы
}
}void toolStripButton2_Click(object
sender, EventArgs e)
{(DG.SelectedRows.Count != 0)
{db = new myDB();Dialog = new
Form2();.nowID=(Guid)DG.SelectedRows[0].Cells["T1ID"].Value;.textBox1.Text=DG.SelectedRows[0].Cells["T1S1"].Value.ToString(;.textBox2.Text=DG.SelectedRows[0].Cells["T1S2"].Value.ToString(;.dateTimePicker1.Value
=
(System.DateTime)DG.SelectedRows[0].Cells["T1S3"].Value;.dateTimePicker2.Value
= (System.DateTime)DG.SelectedRows[0].Cells["T1S4"].Value;.textBox5.Text=DG.SelectedRows[0].Cells["T1S5"].Value.ToString(;.textBox6.Text=DG.SelectedRows[0].Cells["T1S6"].Value.ToString(;.DG.DataSource
= db.T2.Where(m=> m.T2ID == Dialog.nowID).Select(m=>m);.button3.Enabled=true;.button4.Enabled=true;.button5.Enabled=true;.ShowDialog();(Dialog.DialogResult==System.Windows.Forms.DialogResult.OK)
{CurrentObject =
db.T1.Where(m=>m.T1ID ==
Dialog.nowID).Select(m=>m).SingleOrDefault();.T1S1=Dialog.textBox1.Text;.T1S2=Dialog.textBox2.Text;.T1S3
= Dialog.dateTimePicker1.Value;.T1S4 =
Dialog.dateTimePicker2.Value;.T1S5=Dialog.textBox5.Text;.T1S6=Dialog.textBox6.Text;.SubmitChanges();_T1();
}
}
}void toolStripButton3_Click(object
sender, EventArgs e)
{(DG.SelectedRows.Count != 0)
{db = new myDB();CurrentObject =
db.T1.Where(m => m.T1ID ==
(Guid)DG.SelectedRows[0].Cells["T1ID"].Value).Select(m =>
m).SingleOrDefault();.T1.DeleteOnSubmit(CurrentObject);.SubmitChanges();_T1()
}
}
}
}
Файл
Form2.csSystem;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;Курсач
{partial class Form2 : Form
{Guid nowID;void Show_T2()
{db = new myDB();.DataSource =
db.T2.Where(m => m.T2T1 == nowID).Select(m =>
m);.Columns["T1"].Visible = false;.Columns["T2T1"].Visible
= false;.Columns["T2ID"].Visible =
false;.Columns["T2S1"].HeaderText = "Название";.Columns["T2S2"].HeaderText
= "Автор";.Columns["T2S3"].HeaderText
= "Год
издания";.Columns["T2S4"].HeaderText
= "Издательство";
}Form2()
{();
}void button1_Click(object sender,
EventArgs e)
{=
System.Windows.Forms.DialogResult.Cancel;
}void button2_Click(object sender,
EventArgs e)
{(textBox1.Text != ""
&& textBox2.Text != "" && textBox5.Text !=
"" && textBox6.Text != "")=
System.Windows.Forms.DialogResult.OK;
}void Form2_Load(object sender,
EventArgs e)
{_T2();
}void button3_Click(object sender,
EventArgs e)
{db = new myDB();Dialog = new
Form3();.ShowDialog();(Dialog.DialogResult ==
System.Windows.Forms.DialogResult.OK)
{CurrentObject = new T2();.T2ID =
Guid.NewGuid();.T2T1 = nowID;.T2S1 = Dialog.textBox1.Text;.T2S2 =
Dialog.textBox2.Text;.T2S3 = Dialog.textBox3.Text;.T2S4 =
Dialog.textBox4.Text;.T2.InsertOnSubmit(CurrentObject);.SubmitChanges();_T2();
}
}void button4_Click(object sender,
EventArgs e)
{db = new myDB();Dialog = new
Form3();
if (DG.SelectedRows.Count != 0) // Если выделен
хоть один объект
{.textBox1.Text =
DG.SelectedRows[0].Cells["T2S1"].Value.ToString();.textBox2.Text =
DG.SelectedRows[0].Cells["T2S2"].Value.ToString();.textBox3.Text =
DG.SelectedRows[0].Cells["T2S3"].Value.ToString();.textBox4.Text =
DG.SelectedRows[0].Cells["T2S4"].Value.ToString();.ShowDialog();(Dialog.DialogResult
== System.Windows.Forms.DialogResult.OK)
{CurrentObject = db.T2.Where(m =>
m.T2ID == (Guid)DG.SelectedRows[0].Cells["T2ID"].Value).Select(m
=> m).SingleOrDefault();.T2S1 = Dialog.textBox1.Text;.T2S2 =
Dialog.textBox2.Text;.T2S3 = Dialog.textBox3.Text;.T2S4 =
Dialog.textBox4.Text;.SubmitChanges();_T2();
}
}
}void button5_Click(object sender,
EventArgs e)
{db = new myDB();(DG.SelectedRows.Count
!= 0)
{CurrentObject = db.T2.Where(m =>
m.T2ID == (Guid)DG.SelectedRows[0].Cells["T2ID"].Value).Select(m
=>
m).SingleOrDefault();.T2.DeleteOnSubmit(CurrentObject);.SubmitChanges();_T2();
}
}
}
}
Файл
Form3.cs
using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;Курсач
{partial class Form3 : Form
{();
}void Form3_Load(object sender,
EventArgs e)
{
}void button1_Click(object sender,
EventArgs e)
{=
System.Windows.Forms.DialogResult.Cancel;
}void button2_Click(object sender,
EventArgs e)
{(textBox1.Text != ""
&& textBox2.Text != "" && textBox3.Text !=
"" && textBox4.Text != "")=
System.Windows.Forms.DialogResult.OK;
}
}
}