Автоматизация учета книг в домашней библиотеке

Автор работы: Пользователь скрыл имя, 14 Августа 2014 в 21:37, курсовая работа

Краткое описание

Целью данной курсовой работы является разработка приложения Windows Form, позволяющего автоматизировать учет хранения книг в домашней библиотеке.
Основные задачи курсовой работы:
Разработка функций по работе с данными: ввод, вывод, сортировка, вывод на печать, поиск.
Разработка функций по работе с текстовыми файлами: запись, чтение, вывод на печать.
Разработка функций по работе с сохраненными данными.

Содержание

Введение 5
1.Системное проектирование 6
1.1.Разработка спецификаций функций 6
2.Функциональное проектирование 7
2.1.Разработка обобщенного алгоритма функционирования
приложения 7
2.2.Разработка структуры приложения и структуры данных 8
2.3.Разработка программного кода приложения 12
2.4.Результаты тестирования приложения 23
2.5.Описание приложения, инструкция по его использованию 31
Заключение 36
Список используемых источников 37

Вложенные файлы: 1 файл

Курсач_на сайты.docx

— 4.07 Мб (Скачать файл)

            button3.Visible = false;

            button4.Visible = false;

            button5.Visible = false;

            button6.Visible = false;

            button7.Visible = false;

            button8.Visible = false;

            button9.Visible = false;

            button11.Visible = false;

            button12.Visible = false;

 

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            {

                button1.Text = "Выход";

            }

            DialogResult result =

                                MessageBox.Show

                ("Завершить работу ?",

                "   ",

                MessageBoxButtons.YesNoCancel);

            if (result == DialogResult.Yes)

                Close();

            if (result == DialogResult.No)

            {

                MessageBox.Show

                    ("Продолжаем работу!");

                return;

            }

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

 

 

            this.BackColor = Color.Aquamarine;

 

        }

 

        private void button2_Click(object sender, EventArgs e)

        {

            string[] lines = File.ReadAllLines("G:\\курсовой проект\\4.txt");

            listBox1.DataSource = lines;

       

 

        }

 

        private void button3_Click(object sender, EventArgs e)

        {

            string[] lines = File.ReadAllLines("G:\\курсовой проект\\5.txt");

            listBox1.DataSource = lines;

        }

 

        private void button4_Click(object sender, EventArgs e)

        {

            string[] lines = File.ReadAllLines("G:\\курсовой проект\\6.txt");

            listBox1.DataSource = lines;

        }

 

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

        {

            Process.Start("http://www.knijky.ru");

        }

 

       

 

        private void button6_Click(object sender, EventArgs e)

        {

 

            textNam.Clear();

            textAuth.Clear();

            textPol.Clear();

 

        }

 

        private void button7_Click(object sender, EventArgs e)

        {

            textNam.Clear();

        }

 

        private void button8_Click(object sender, EventArgs e)

        {

            textAuth.Clear();

        }

 

      

 

        private void художественнаяЛитератураToolStripMenuItem_Click(object sender, EventArgs e)

        {

            if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)

            {

                for (int i = 0; i < listBox1.Items.Count; i++)

                    System.IO.File.AppendAllText(saveFileDialog1.FileName, listBox1.Items[i].ToString());

            }

        }

 

       

 

       

 

        private void button2_Click_1(object sender, EventArgs e)

        {

            if (m == 3)

            {

                MessageBox.Show(" Свободен!!!!");

                Close();

            }

 

            if (pass.Equals(textBox2.Text))

            {

                MessageBox.Show("Допустить к работе");

                button1.Visible = true;

                button2.Visible = true;

                button3.Visible = true;

                button4.Visible = true;

                button5.Visible = true;

                button6.Visible = true;

                button7.Visible = true;

                button8.Visible = true;

                button9.Visible = true;

                button11.Visible = true;

                button12.Visible = true;

            }

            else { MessageBox.Show("Повторите ввод"); m++; }

 

 

        }

 

        private void button11_Click(object sender, EventArgs e)

        {

 

 

 

            for (int i = 0; i < listBox1.Items.Count; i++)

            {

                if (listBox1.Items[i].ToString().Contains(textBox3.Text))

                {

                    listBox1.SetSelected(i, true);

                }

            }

        }

 

        private void button12_Click(object sender, EventArgs e)

        {

            textBox3.Clear();

        }

 

        private void поНазваниюКнигиToolStripMenuItem_Click(object sender, EventArgs e)

        {

            listBox1.Sorted = true;

 

        }

 

        private void отменитьToolStripMenuItem_Click(object sender, EventArgs e)

        {

            listBox1.Sorted = false;

        }

 

        private void весьСписокToolStripMenuItem_Click_1(object sender, EventArgs e)

        {

            listBox1.Items.Clear();

        }

 

        private void записьToolStripMenuItem_Click_1(object sender, EventArgs e)

        {

            listBox1.Items.Remove(listBox1.SelectedItem);

        }

 

       

        private void научнаяЛитератураToolStripMenuItem_Click(object sender, EventArgs e)

        {

            if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)

            {

                for (int i = 0; i < listBox1.Items.Count; i++)

                    System.IO.File.AppendAllText(saveFileDialog1.FileName, listBox1.Items[i].ToString());

            }

        }

 

        private void детскаяЛитератураToolStripMenuItem_Click(object sender, EventArgs e)

        {

            if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)

            {

                for (int i = 0; i < listBox1.Items.Count; i++)

                    System.IO.File.AppendAllText(saveFileDialog1.FileName, listBox1.Items[i].ToString());

            }

        }

 

        private void печатьToolStripMenuItem_Click(object sender, EventArgs e)

        {

              str = listBox1.Text;

            if (printDialog1.ShowDialog() == DialogResult.OK)

            {

                printDocument1.DocumentName = Text;

                //Определяем диапазон страниц для печати

                stringPrintText = ListBoxText();

                StartPage = 1;

                NumPages = printDialog1.PrinterSettings.MaximumPage;

                PageNumber = 1;

                //Вызываем встроенный метод для начала печати

                printDocument1.Print();

            }

        }

 

        private string ListBoxText() //Метод который возвращает содержимое ListBox'а

        {

            string temp = "";

            for (int i = 0; i < listBox1.Items.Count; i++)

                temp += listBox1.Items[i] + "\n";

            return temp;

        }

 

      

 

       

       

 

       

 

       

       

    }

}

 

 

 

 

2.4. Результаты тестирования приложения, используемые тесты.

 

Тестирование приложение осуществляется по пунктам меню.

 

Рис. 2.4.1  Запуск приложения

 

Рис. 2.4.2    Выбор раздела

 

Рис. 2.4.3  Ввод данных

 

 

 

Рис. 2.4.4  Вывод информации о книге

 

Рис. 2.4.5.1  Вывод информации о наличие  записи о книге

 

Рис. 2.4.5.2 Вывод информации о наличие  записи о книге

 

 

 

 

 

Рис.2.4.6. Сортировка по названию книги

 

 

Рис.2.4.7.Сортировка по автору

 

Рис. 2.4.8. Сортировка по разделам

 

 

 

 

 

Рис. 2.4.9.Сортировка по наличию в библиотеке

 

 

 

Рис. 2.4.10. Сохранение информации в текстовый файл

 

Рис. 2.4.11. Вывод сохраненной информации на экран

 

Рис. 2.4.12. Поиск информации о книге по названию или автору

 

Рис. 2.4.13.Поиск информации о книге по названию или автору

 

 

 

 

Рис. 2.4.14. Поиск информации о книге по названию или автору

 

Рис. 2.4.15. Поиск информации по разделам

 

 

Рис. 2.4.16 Поиск информации по разделам

 

Рис. 2.4.17. Поиск информации по наличию книг в библиотеке

 

 

Рис. 2.4.18. Поиск информации по наличию книг в библиотеке

 

Рис. 2.4.19. Поиск информации по наличию книг в библиотеке

 

 

Рис. 2.4.20. Удаление всей информации из библиотеки

 

Рис. 2.4.21. Удаление книги из библиотеки

 

Рис. 2.4.22. Удаление книги из библиотеки

 

Рис. 2.4.23. Выход из приложения

 

 

 

 

 

 

 

 

 

 

2.5. Описание приложения, инструкция по его использованию

 

Разработанное приложение предназначено для ведения файла данных по учету книг в домашней библиотеке. Для функционирования программы необходима операционная система Windows XP/7. Минимальный размер места на винчестере для корректной работы с программой – 240Кб.

 

Запуск программы…

Меню ввода:

  1-Ввод информации  о книге;

  2-Вывод информации  о книге;

  3-Вывод информации  о наличие записи о книге;

  4-Сортировка по названию  книги;

  5-Сортировка по автору;

  6-Отсортировать по  разделам;

  7-Отсортировать по  наличию;

                                                   Работа с файлом:

  8-Сохранение информации;

  9-Вывод сохраненной  информации;

  10-Поиск  информации  о книге или авторе;

  11-Поиск информации  по разделам;

  12-Поиск информации  по наличию книг в библиотеке;

  13-Удалить все;

  14-Удалить книгу;

  15-Выход;


 

Пункты 1-7 предназначены для ввода и работой с новой информацией. Пункты 8-15 предназначены для сохранения введенной информации, а также работы с ранее сохраненной.

Ввод информации о книге.

Для ввода новой информации необходимо нажать цифру <1> и Enter. Произойдет переход в подменю, где будет предложено выбрать в какой раздел следует добавить данную книгу. Выбрав соответствующий раздел: 1, 2 или 3, необходимо ввести запрашиваемую информацию. Слудет учитывать, что при вводе важен регистр букв.

 

Введите название книги: 

Введите фамилию автора:

Наличие на текущий момент в библиотеке (да/нет): 

Месторасположение (номер полки):  


 

Вывод информации о книге.

Данный пункт меню служит для вывода на экран всех новых книг, введенных ранее. Для этого необходимо нажать цифру <2> и Enter. При этом на экран выводят только те книги, которые пользователь только что добавил в библиотеку, но которые еще не сохранены в текстовый файл.

2

Раздел художественной литературы:

Название книги: Зимнее лето весны

Автор: Донцова

Наличие: да

Местоположение: 1

 

Раздел научной литературы:

Название книги: С# для чайников

Автор: Шилдт

Наличие: нет

Местоположение: 2

 

Раздел детской литературы:

Название книги: Дождик

Автор: Барто

Наличие: нет

Местоположение: 3


 

Вывод информации о наличие записи о книге.

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

Для вызова этого пункта меню необходимо нажать цифру <3> и Enter.Далее следует внести название книги и нажать Enter.

ОШИБКА!

Название книги: дождик

дождик - нет в библиотеке


 

Название книги: Дождик

Дождик -  в библиотеке есть


 

В первом фрагменте программы название дождик было написано с маленькой буквы, а внесено в библиотеку с большой, поэтому программа нашла книгу в библиотеке только во втором случае.

Сортировка по названию книги.

Для вызова этого пункта меню необходимо нажать цифру <4> и Enter. После появления на экране фразы “Отсортировать по алфавиту:” следует нажать Enter. На экране отобразится список книг, расположенных по наименованию в алфавитном порядке. На первом месте будет расположена информация о названиях книг.

Сортировка по автору.

Для вызова этого пункта меню необходимо нажать цифру <5> и Enter. После появления на экране фразы “Отсортировать по алфавиту:” следует нажать Enter. На экране отобразится список книг, расположенных по фамилии автора в алфавитном порядке. На первом месте будет расположена информация о фамилиях автора.

Сортировка по разделам.

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

Для вызова этого пункта меню необходимо нажать цифру <6> и Enter. После появления на экране фразы “Отсортировать по разделам:” следует нажать Enter. На экране отобразится список книг, который будет содержать только месторасположение и название книг.

Сортировка по наличию.

Для вызова этого пункта меню необходимо нажать цифру <7> и Enter. После появления на экране фразы “Отсортировать по наличию:” следует нажать Enter. На экране отобразится список книг, который будет содержать только наличие в библиотеке (да или нет)  и название книг.

ВАЖНО!

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

Сохранение информации.

Вся новая информация, которая внесена пользователем будет потеряна при закрытии приложения если ее не сохранить в текстовый файл. Информация добавляется в тектовый файл BibliotekaBase, расположенный на С диске.

Для вызова этого пункта меню необходимо нажать цифру <8> и Enter. При этом на экране должна появиться информация следующего содержания:

Информация о работе Автоматизация учета книг в домашней библиотеке