Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб 9 - Зодиаки, графичекий интерфейс - СФ

.pdf
Скачиваний:
0
Добавлен:
06.11.2022
Размер:
320.88 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего

образования ТОМСКИЙ ГОСУДАРСТВЕЕНЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И

РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

Работа с графическим интерфейсом

Лабораторная работа №9 по дисциплине «Основы программирования» Отчет по лабораторной работе

Студент гр. хххххх

________ хххххххххх

16.03.2022

Руководитель: Преподаватель КИБЭВС

_________ ________ ххххххххх

16.03.2022

Томск 2022

2

Содержание Введение……………………………………………………………………………………. 3

Теоретические сведения…………………………………………………………………… 4

Ход работы для задания …………………………………………………………………… 5

Заключение……………………………………………………………………………….....7

Список использованной литературы………………………………………………………8

3

1 Введение

Цель работы: овладеть навыками работы с графическим интерфейсом.

Задание: Дана запись с именем ZNAK, содержащая следующие поля:

Фамилия, имя;

Знак Зодиака;

Дата рождения;

Написать программу, которая выполняет следующие действия:

Генерация из 10 элементов типа ZNAK, и занесение их в файл данных;

Чтение данных из файла и вывод их на экран;

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

Список должен быть упорядочен по датам рождения.

4

2 Теоретические сведения

Метод Main является точкой входа для каждого приложения C# и вызывается общеязыковой средой выполнения (CLR) при запуске программы. В приложении,

использующем инструкции верхнего уровня, метод Main создается компилятором и содержит все инструкции верхнего уровня.

Методы объявляются в классе, структуре или интерфейсе путем указания уровня доступа, такого как public или private, необязательных модификаторов, таких как abstract или sealed, возвращаемого значения, имени метода и всех параметров этого метода. Все эти части вместе представляют собой сигнатуру метода.

Вызов метода в объекте аналогичен доступу к полю. После имени объекта добавьте точку, имя метода и круглые скобки. Аргументы перечисляются в этих скобках и разделяются запятыми. Таким образом, методы класса Motorcycle могут вызываться, как показано в следующем примере:

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

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

указываемый перед именем метода, не void, этот метод может возвращать значение с помощью ключевого слова return . Инструкция с ключевым словом return , за которым следует значение, соответствующее типу возврата, будет возвращать это значение объекту,

вызвавшему метод.

5

3 Ход работы для задания

Данный алгоритм состоит из классов. В нем есть классы combobox, textbox, button.

Сначала пользователь должен нажать на «Сгенерировать», чтобы сгенерировать случайным образом информацию о людях, затем на кнопку «Вывести», чтобы содержимое файла вывелось на экран. После этого в textbox вводится знак зодиака, а при нажатии на «Найти» происходит расчет, и если найдены люди с таким знаком, то выводится на экран в другое окно,

иначе на экран выводится ошибка.

На рисунке 3.1 представлен результат работы программы.

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

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.IO;

namespace WindowsFormsApp190924

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Vfile_Click(object sender, EventArgs e)

{

StreamReader jo = new StreamReader("C:\\Users\\Evgeny\\Desktop\\Lab9.2.txt");

string chelovek = jo.ReadLine(); string IShel = "";

while (chelovek != null)

{

IShel += chelovek + "\n"; chelovek = jo.ReadLine();

}

jo.Close(); richTextBox1.Text = IShel;

}

private void gena_Click(object sender, EventArgs e)

{

string[] date = new string[10]; string[] Sort = new string[10]; string[] array = new string[10];

string[] FI = new string[] { "Михайлова Марина", "Чесноков Дмитрий", "Шестакова Наталья", "Соколова Раиса", "Журавлев Андрей", "Герасимова Арина", "Антонов Егор", "Федорова Мария", "Тихонов Арсений", "Спиридонова Наталья", "Тихомиров Олег", "Кожевников Светлана", "Савельев Григорий", "Борисова Елена", "Пахомова Алёна", "Румянцев Борис", "Козлов Егор", "Плотников Алексей", "Пахомова Анастасия", "Титова Нина", "Росова Зина", "Колесов Дмитрий", "Ефремов Сергей", "Николаева Татьяна", "Носков Григорий", "Комарова Алёна", "Карпов Михаил", "Петрова Светлана", "Романова Дарья", "Попов Мурад", "Николаева Валерия", "Куликова Софья", "Быкова Юлия", "Блохина Любовь", "Москвин Сергей" };

6

string[] znak = new string[] { "Овен", "Телец", "Весы", "Близнецы", "Рак",

"Лев", "Дева", "Скорпион", "Стрелец", "Козерог", "Водолей", "Рыбы" }; StreamWriter sw = new

StreamWriter("C:\\Users\\Evgeny\\Desktop\\Lab9.2.txt"); Random rnd = new Random();

for (int index = 0; index < 10; index++)

{

date[index] = Convert.ToString(new DateTime(rnd.Next(1999, 2005), rnd.Next(1, 13), rnd.Next(1, 28)));

sw.WriteLine(array[index] = FI[rnd.Next(0, 33)] + " " + znak[rnd.Next(0, 11)] + " " + date[index]);

}

sw.Close();

}

private void button3_Click(object sender, EventArgs e)

{

string[] mas = File.ReadAllLines("C:\\Users\\Evgeny\\Desktop\\Lab9.2.txt");

string s = Convert.ToString(textBox1.Text); bool found = false;

foreach (string a in mas)

{

if (a.Contains(s))

{

richTextBox2.Text += a + " ";

found = true;

}

}

if (!found) MessageBox.Show("Такого нет", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

private void richTextBox1_TextChanged(object sender, EventArgs e)

{

}

}

}

7

}

Рисунок 3.1 - Работа программы Данная программа работает корректно, без каких-либо проблем.

5Заключение

Входе работы были получены навыки работы с графическим интерфейсом winforms.

Были изучены методы, свойства, функции графического интерфейса.

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

8

Список использованной литературы

1. ГОСТ 19.701-90 (ИСО 5807-85) Единая система программной документации (ЕСПД).

Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения.

2. Документация по C#. [Электронный ресурс]. – Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/csharp (дата обращения: 15.02.2020)

3.Кнут Д.Э. Искусство программирования. – Т. 1: Основные алгоритмы. – 3-е изд.; пер. с

англ. – М.: ИД «Вильямс», 2016. – 720 с.

4.Харченко С.С. Основы программирования: учебно-методическое пособие. – Томск: В-

Спектр, 2020. – XX с.