Главная страница

Отчет по лабораторной работе №9.Наследование ООП. Отчет по лабораторной работе 9. Наследование ооп


Скачать 102.01 Kb.
НазваниеОтчет по лабораторной работе 9. Наследование ооп
АнкорОтчет по лабораторной работе №9.Наследование ООП
Дата08.12.2022
Размер102.01 Kb.
Формат файлаdocx
Имя файлаLab9.docx
ТипОтчет
#833897

Выполнил Сиянко Е. В.

Группа 12002233________

Проверил ______________

Дата __________________

Оценка ________________

Подпись _______________
Отчет по лабораторной работе №9.

Наследование ООП

Вариант 11

Цель: изучить структуру программ с учетом наследуемых классов на основе использования метода объектно-ориентированного программирования.
Задание 1. Опишите класс STUDENT состоящий из:

  1. название учебного заведения;

  2. фамилия н инициалы студента;

  3. номер группы;

  4. массив из пяти оценок — успеваемость.

Введите с клавиатуры данные в массив, состоящий из n элементов типа STUDENT.

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

Если такого студента нет, то программа должна выдать соответствующее сообщение на экран.

Добавив еще один наследуемый класс, содержащий не менее два поля.

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

Реализований код программы продеманстрирован в приложении 1.

Н

а рисунке 1 продемонстрирован результат работы формы и получившийся при выполнении задания текстовые документы.
Рисунок 1 - Скриншот выполнения задания 1.
Вывод: В процессе работы приобрел практические навыки в составлении программ на С# для работы с файлами, записи открытия файлов, поиска данных, а структурах фала, добавления данных в таблицы.

Приложение

Приложение 1

namespace Siyanko_lab9

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button2_Click(object sender, EventArgs e)

{

dataGridView1.Rows.Clear();
Tabl(T.LoadFile(T.namel));
}
private void button1_Click(object sender, EventArgs e)

{


string str1 = "";

int n = dataGridView1.Rows.Count - 1;
STUDENT[] S = new STUDENT[n];

for (int i = 0; i < n; i++)

{

string name, ini, num;
name = Convert.ToString(dataGridView1.Rows[i].Cells[0].Value);

str1 += name + "|";

ini = Convert.ToString(dataGridView1.Rows[i].Cells[1].Value);

str1 += ini + "|";

num = Convert.ToString(dataGridView1.Rows[i].Cells[2].Value);

str1 += num + "|";

str1 += Convert.ToString(dataGridView1.Rows[i].Cells[3].Value) + "|";
string[] m1 = Convert.ToString(dataGridView1.Rows[i].Cells[3].Value).Split(' ');
double[] m = new double[5];

for (int j = 0; j < 5; j++)

{
m[j] = Convert.ToDouble(m1[j]);

}
S[i] = new STUDENT(name, ini, num, m);

str1 += "\n";

}
string str2 = "";

double t = Convert.ToDouble(textBox1.Text);

int sch = 0;

for (int i = 0; i < n; i++)

{
if (STUDENT.Grade(S[i].grade) > t)

{

sch++;

str2 += "\n\nФамилия н инициалы студента: " + S[i].Initials;

str2 += "\nНазвание учебного заведения: " + S[i].Name;

str2 += "\nНомер группы: " + S[i].Number;

str2 += "\nСредний балл: " + STUDENT.Grade(S[i].grade);

}
}

if (sch == 0)

{

str2 += "\n\nНет студентов у которых средний балл выше введенного с клавиатуры числа.";

}
MessageBox.Show(str2);
Tbl.saveFile(str1 + str2,T.names);
}

public static double[] m = { 0, 0, 0, 0 };

Tbl T = new Tbl("Лаболаторная 9", "Сиянко С.В.", "Таблица 1", m, "FileL.txt", "FileS.txt");

public void Tabl(string str)

{

string[] w = str.Split('|');

for(int i = 0; i < w.Length/4; i++)

{

dataGridView1.Rows.Add(w[i * 4 +0], w[i * 4 + 1], w[i * 4 + 2], w[i * 4 + 3]);

}
}

}
public class STUDENT

{

public string Name;

public string Initials;

public string Number;

public double[] grade = new double[5];
public STUDENT( string Name, string Initials, string Number, double[] grade)

{
this.Name = Name;

this.Initials = Initials;

this.Number = Number;

this.grade = grade;

}
public static double Grade(double[] m)

{

double summ = 0;

for (int i = 0; i < m.Length; i++)

{

summ += m[i];

}

summ = (summ / Convert.ToDouble(m.Length));

return summ;

}
public static void saveFile(string str, string name)

{

StreamWriter SW = new StreamWriter(new FileStream(name, FileMode.OpenOrCreate, FileAccess.Write));

SW.Write(str);

SW.Close();

}

}

public class Tbl : STUDENT

{


public string namel;

public string names;


public Tbl(string Name, string Initials, string Number, double[] grade, string namel, string names) :base(Name, Initials, Number, grade)

{

this.namel = namel;

this.names = names;
this.Name = Name;

this.Initials = Initials;

this.Number = Number;

this.grade = grade;
}

public string LoadFile(string name)

{

string str = "";

StreamReader LW = new StreamReader(new FileStream(name, FileMode.OpenOrCreate, FileAccess.Read));

while (LW.Peek() != -1)

{

str += LW.ReadLine();
}
LW.Close(); //Закрываем файл

return str;
}

}
}

Конец приложения 1


написать администратору сайта