Написание программного кода




Московский Технический Университет Связи и Информатики

МТУСИ

 
 


ЛЕ ВАН КУЕН

БИК 1201

ТЕМА 5.2:Лабораторная Работа

« Теоретические основы объектно-ориентированного программирования »

Вариант 10


 

1.Тема и название работы:

Теоретические основы объектно-ориентированного программирования

2.Задание на разработку проекта и вариант задания:

В отделе кадров предприятия имеется список сведений о n сотрудниках. О каждом сотруднике известно: фамилия (в списке фамилии расположены по алфавиту), номер отдела, должность, оклад и стаж работы. Составить алгоритм и программу, которые выводят списки фамилий сотрудников по отделам с указанием занимаемой должности, оклада и стажа..

3.Формализация задания:

Ввод:

File:исходная данная

ot():массив номеров отдела

s(): массив стажа работы

ok():массив оклада

fa():массив фамилии

dol():массив должности

Вывод

список фамилий сотрудников по отделам с указанием занимаемой должности, оклада и стажа

ot(), s(), ok(), fa(), dol()

Действие

читать данный

выводить результат

4.Разработка проекта:

Базовый класс: class1

Поле:

Otdel(): одномерный массив номеров отдела

staz(): одномерный массив стажа работы

oklad(): одномерный массив оклада

famili(): одномерный массив фамилии

dolznot(): одномерный массив должности

indek(): одномерный массив положения

Свойства для чтения и записи полей класса:

ot():массив сахранения номеров отдела

s(): массив сахранения стажа работы

ok():массив сахранения оклада

fa():массив сахранения фамилии

dol():массив сахранения должности

ind():массив сахранения положения

метод:

с начало нам надо получить дана из файла через процедуру koli() и readfile()

в обработке мы будем размещать положения сотрудников по отделе с процедурой sort()

потом выносить результат через процедур cozdat() и vivod()

Разработка графического интерфейса пользователя:

Установка свойств объектов

Объект Имя объекта Свойство Значение свойства
форма Form1 Text Form1
метка Label1 Text В отделе кадров предприятия имеется список сведений о n сотрудниках. О каждом сотруднике известно: фамилия (в списке фамилии расположены по алфавиту), номер отдела, должность, оклад и стаж работы. Составить алгоритм и программу, которые выводят списки фамилий сотрудников по отделам с указанием занимаемой должности, оклада и стажа..  
метка Label2 Text файл
метка Label3 Text инфо
Текстовое поле Textbox1 Name Textbox1
Текстовое поле Textbox2 Name Textbox2
кнопка Buton1   Name Buton1
Text Читать файл
кнопка Button2   Name Buton2
text решать
Объект Имя объекта Свойство Значение свойства
форма Form2 Text Form1
метка Label1 Text Список фамилий сотрудников по отлелам
Текстовое поле Textbox1 Name Textbox1
кнопка Buton1   Name Buton1
Text решение
кнопка Button2   Name Buton2
text конец

Разработка схемы алгоритма, решаемой задачи

 
 


Написание программного кода

Option Strict On

Option Explicit On

Imports System.IO

Module Module1

Public cl As Class1

Function koli(ByVal filename As String, ByRef p As String) As Integer

Dim k As Integer

Dim f = New StreamReader(filename)

Dim line As String

k = 0

p = ""

Try

Do While Not f.EndOfStream

line = f.ReadLine()

k = k + 1

p = p & line & vbNewLine

Loop

Catch ex As Exception

MsgBox("can't read text in file")

End Try

Return k

End Function

End Module

 

Option Strict On

Option Explicit On

Imports System.IO

Public Class Class1

Private ot(), s(), ok(), ind() As Integer

Private fa(), dol() As String

Private n As Integer

Public Sub New(ByVal kol As Integer)

ReDim ok(kol - 1), fa(kol - 1), dol(kol - 1), ot(kol - 1), s(kol - 1), ind(kol - 1)

End Sub

Public Property famili() As String()

Get

Return fa

End Get

Set(ByVal value As String())

fa = value

End Set

End Property

Public Property oklad() As Integer()

Get

Return ok

End Get

Set(ByVal value As Integer())

ok = value

End Set

End Property

Public Property dolznot() As String()

Get

Return dol

End Get

Set(ByVal value As String())

dol = value

End Set

End Property

Public Property otdel() As Integer()

Get

Return ot

End Get

Set(ByVal value As Integer())

ot = value

End Set

End Property

Public Property staz() As Integer()

Get

Return s

End Get

Set(ByVal value As Integer())

s = value

End Set

End Property

Public Property indek() As Integer()

Get

Return ind

End Get

Set(ByVal value As Integer())

ind = value

End Set

End Property

Public Property num() As Integer

Get

Return n

End Get

Set(ByVal value As Integer)

n = value

End Set

End Property

Public Sub readfile(ByVal filename As String)

Dim f = New StreamReader(filename)

Dim line, st As String

Dim i, j As Integer

Try

i = 0

Do While Not f.EndOfStream

line = f.ReadLine()

j = line.IndexOf(Space(1))

famili(i) = line.Substring(0, j)

line = line.Remove(0, j + 1)

j = line.IndexOf(Space(1))

st = line.Substring(0, j)

otdel(i) = CInt(st)

line = line.Remove(0, j + 1)

j = line.IndexOf(Space(1))

dolznot(i) = line.Substring(0, j)

line = line.Remove(0, j + 1)

j = line.IndexOf(Space(1))

st = line.Substring(0, j)

oklad(i) = CInt(st)

line = line.Remove(0, j + 1)

st = line

staz(i) = CInt(st)

i = i + 1

Loop

f.Close()

Catch ex As Exception

MsgBox("no data")

End Try

End Sub

 

Public Sub vivod(ByVal t As TextBox, ByVal st As String)

t.Text = st

End Sub

Public Sub sort()

Dim i, j, swap As Integer

For i = 0 To num - 1

indek(i) = i

Next

For i = 0 To num - 2

For j = i + 1 To num - 1

If otdel(indek(i)) > otdel(indek(j)) Then

swap = indek(i)

indek(i) = indek(j)

indek(j) = swap

End If

Next

Next

End Sub

Public Sub sozdat(ByRef p As String)

Dim i As Integer

p = ""

For i = 0 To num - 1

p = p & CStr(otdel(indek(i))) & Space(1) & famili(indek(i)) & Space(1) & dolznot(indek(i)) & Space(1)

p = p & CStr(oklad(indek(i))) & Space(1) & CStr(staz(indek(i))) & vbNewLine

Next

End Sub

End Class

Public Class Form1

Public n As Integer

Public p As String

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim fl As String

fl = TextBox1.Text

n = koli(fl, p)

cl = New Class1(n)

cl.num = n

cl.readfile(fl)

cl.vivod(TextBox2, p)

End Sub

 

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Form2.Show()

End Sub

End Class

Public Class Form2

Public p As String

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

cl.sort()

cl.sozdat(p)

cl.vivod(TextBox1, p)

End Sub

End Class

5. Результаты выполнения проекта:

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: