Зертханалық жұмыстың мақсаты: C# тілінде кластар коллекциясын қолдану бойынша практикалық машықты қалыптастыру
Автор: Фариза Каканова • Март 25, 2023 • Лабораторная работа • 2,307 Слов (10 Страниц) • 251 Просмотры
Зертханалық жұмыстың мақсаты:
C# тілінде кластар коллекциясын қолдану бойынша практикалық машықты қалыптастыру.
1 тапсырманың шарты:
Разработать свою программу с коллекцией классов. Использовать один из стандартных «списков» языка C#. Предусмотреть 4 режима:
- ввод данных;
- запись данных в файл;
- чтение данных из файла;
- просмотр данных.
Бағдарламаның коды:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization;
using System.IO;
namespace _6labka1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
[Serializable]
public class Kniga
{
public string Naz;
public string Avtor;
public int Ctoimoct;
public Kniga(string sa, string sb, int sc)
{
Avtor = sa; Naz = sb; Ctoimoct = sc;
}
};
public static Kniga[] Polka = new Kniga[20];
public static int kol = 0;
public string ss = "";
private void button1_Click(object sender, EventArgs e)
{
string a, b;
int c;
a = textBox1.Text;
b = textBox2.Text;
c = Convert.ToInt32(textBox3.Text);
Kniga Tom = new Kniga(a, b, c);
Polka[kol] = Tom;
kol++;
}
private void button2_Click(object sender, EventArgs e)
{
// Создаем поток для сериализации:
FileStream StreamOut = new FileStream("knigi.txt", FileMode.OpenOrCreate, FileAccess.Write);
// Используем двоичный формат:
BinaryFormatter fmt = new BinaryFormatter();
for (int i = 0; i < kol; ++i)
{
fmt.Serialize(StreamOut, Polka[i]); // Сериализуем объекты
}
MessageBox.Show("Данные записаны в файл");
StreamOut.Close(); // Закрываем поток
}
private void button3_Click(object sender, EventArgs e)
{
textBox4.Text = "";
for (int i = 0; i < kol; i++)
{
ss = Polka[i].Avtor + " " + Polka[i].Naz + " " +
Convert.ToString(Polka[i].Ctoimoct) + "\r\n";
textBox4.AppendText(ss);
}
}
private void button4_Click(object sender, EventArgs e)
{
textBox4.Text = "Вывод после чтения из файла: \r\n";
// Создаем поток для десериализации:
FileStream StreamIn = new FileStream("knigi.txt",
FileMode.Open, FileAccess.Read);
// Используем двоичный формат:
BinaryFormatter fmt = new BinaryFormatter();
kol = 0;
...