Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Латышев Вариант 10 Отчет по РСПО.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
889.8 Кб
Скачать

5. 12 Тема: Работа с файлами

5. 13 Тема: Работа с семействами (коллекциями)

Общая постановка задачи.

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

Текст программы представлен ниже:

namespacelab12

{

[Serializable]

publicpartialclassForm1 : Form

{

List<Bibla> words = newList<Bibla>();

List<Bibla> words2 = newList<Bibla>();

public Form1()

{

InitializeComponent();

}

privatevoid Form1_Load(object sender, EventArgs e)

{

Deserialize();

}

privatevoid Form1_FormClosing(object sender, FormClosingEventArgs e)

{

}

privatevoid button1_Click(object sender, EventArgs e)

{

Serialize(Convert.ToInt32(textBox1.Text), textBox2.Text, textBox3.Text, Convert.ToInt32(textBox4.Text), textBox5.Text, Convert.ToInt32(textBox6.Text));

Deserialize();

}

publicvoid Serialize(intRegisterNumberBook, string Author, stringNameBook, intYearBook, stringCreater, intCountPage)

{

try

{

//создаемобъекткоторыйбудетсериализован

words.Add(newBibla { RegisterNameBook = RegisterNumberBook, Author = Author, NameBook = NameBook,YearBook = YearBook, Creater = Creater, CountPage = CountPage });

//откроем поток для записи в файл

FileStreamfs = newFileStream("file.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);

BinaryFormatter bf = newBinaryFormatter();

//сериализация

bf.Serialize(fs, words);

fs.Close();

}

catch(InvalidOperationException s)

{

MessageBox.Show(s.ToString());

}

}

publicvoid Serialize()

{

try

{

//words.Add(new Bibla { RegisterNameBook = RegisterNumberBook, Author = Author, NameBook = NameBook, YearBook = YearBook, Creater = Creater, CountPage = CountPage });

//откроем поток для записи в файл

FileStreamfs = newFileStream("file.dat", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);

BinaryFormatter bf = newBinaryFormatter();

//сериализация

bf.Serialize(fs, words);

fs.Close();

}

catch (InvalidOperationException s)

{

MessageBox.Show(s.ToString());

}

}

publicvoidDeserialize()

{

listBox1.Items.Clear();

FileStreamfs = newFileStream("file.dat", FileMode.Open, FileAccess.Read, FileShare.Read);

BinaryFormatter bf = newBinaryFormatter();

words = (List<Bibla>)bf.Deserialize(fs);

fs.Close();

foreach (Bibla w in words)

{

listBox1.Items.Add("Регистрационныйномер: "+w.RegisterNameBook+" Автор: "+w.Author+" Названиекниги: "+w.NameBook+" Годвыпуска: "+w.YearBook+" Издательство: "+w.Creater+" Количествостраниц: "+w.CountPage);

}

}

privatevoid listBox1_SelectedIndexChanged(object sender, EventArgs e)

{

}

privatevoid button2_Click(object sender, EventArgs e)

{

MessageBox.Show("Записьсназваниемкниги:"+ words[listBox1.SelectedIndex].NameBook+" удалена");

words.RemoveAt(listBox1.SelectedIndex);

Serialize();

Deserialize();

}

privatevoid textBox7_TextChanged(object sender, EventArgs e)

{

}

}

}

Рисунок 16.

Заключение

За время практики по созданию и сопровождению программного обеспечения был изучены процессы создания, внедрения и сопровождения программных приложений в различных средах программирования. Во время практики удалось накопить неоценимый опыт в разработке приложений в интегрированной среде визуального программированияMicrosoftVisualC# 2012 Professional, развить умения самостоятельно находить оптимальный метод решения задачи. Кроме того, изучить принципы организации и технологии реализации программного обеспечения, развить умения разработки программ в соответствии с требованиями технического задания, обеспечивая высокий уровень качества программного обеспечения и экономической эффективности. Получить навыки оформления комплекта документации на созданное программное обеспечение.

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