Информатика 2011-2012 / Информатика-2-сем(2011) / Задания и примеры / Лаб(отдел кадров)
.docТема: Файлы данных с последовательным доступом (текстовые файлы). База данных в VB6
Задание: Разработать приложение-«Отдел кадров»
Эскиз интерфейса
Меню
Программный код
Dim Фамилия As String, Имя As String, Год As Integer, Длина As Integer, Оклад As Single
Private Sub Command1_Click()
r = 0
Open "d:\тест1.txt" For Input As #1
Do Until EOF(1)
Input #1, Фамилия, Пол, Должность, Оклад
If Пол = "ж" And Должность = "строитель" Then r = r + 1: _
Text1.Text = Text1.Text + Фамилия + ", "
Loop
Command1.Caption = "Кол-во жен-н раб-их стр-ми - " + Str(r)
Close #1
End Sub
Private Sub Command2_Click()
r = 0
Open "d:\тест1.txt" For Input As #1
Do Until EOF(1)
Input #1, Фамилия, Пол, Должность, Оклад
If Пол = "м" And Должность = "бухгалтер" Then _
Text2.Text = Text2.Text + Фамилия + " - " + Str(Оклад) + ", "
Loop
Close #1
End Sub
Private Sub Command3_Click()
r5 = 0: r6 = 0
Open "d:\тест1.txt" For Input As #1
Do Until EOF(1)
Input #1, Фамилия, Пол, Должность, Оклад
If Пол = "м" And Должность = "бухгалтер" Then r5 = r5 + 1
If Пол = "ж" And Должность = "бухгалтер" Then r6 = r6 + 1
Loop
If r5 > r6 Then
Text3.Text = "Мужчин бухгалтеров больше чем женщин, а, именно: мужчин - " _
+ Str(r5) + "чел." + "а женщин -" + Str(r6) + "чел."
Else
Text3.Text = "Женщин бухгалтеров больше чем мужчин, а именно: мужчин - " _
+ Str(r5) + "чел." + ", а женщин -" + Str(r6) + "чел."
End If
Close #1
End Sub
Private Sub Command4_Click()
Open "d:\тест1.txt" For Input As #1
k = 0
Do Until EOF(1)
Input #1, Фамилия, Пол, Должность, Оклад
If Оклад > 5500 Then k = k + 1
Loop
Text4.Text = "Количество человек, чей оклад превышает 5500 руб. равено " + Str(k) + "м"
Close #1
End Sub
Private Sub Command5_Click()
s1 = 0: s2 = 0: k1 = 0: k2 = 0
Open "d:\тест1.txt" For Input As #1
Do Until EOF(1)
Input #1, Фамилия, Пол, Должность, Оклад
If Пол = "м" Then s1 = s1 + Оклад: k1 = k1 + 1 Else s2 = s2 + Оклад: k2 = k2 + 1
Loop
If k1 = 0 Then MsgBox "Мужчин на предприятии нет ": srG = s2 / k2: GoTo m
If k2 = 0 Then MsgBox "Женщин на предприятии нет ": srM = s1 / k1: GoTo m
srM = s1 / k1
srG = s2 / k2
m: Text5.Text = "Средний оклад мужчин равен " + Str(srM) + "руб." + _
", а средний оклад женщин равен" + Str(srG) + "руб."
Close #1
End Sub
Private Sub Form_Load()
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = False
Command4.Enabled = False
Command5.Enabled = False
End Sub
Private Sub Выход_Click()
End
End Sub
Private Sub Записать_Click()
Open "d:\тест1.txt" For Output As #1
Длина = Val(InputBox("Ввод данных", , "введите длину списков"))
For i = 1 To Длина
Фамилия = InputBox("Ввод данных", , "введите фамилию")
Пол = InputBox("Ввод данных", , "введите Пол")
Должность = InputBox("Ввод данных", , "введите должность")
Оклад = Val(InputBox("Ввод данных", , "введите Оклад"))
Write #1, Фамилия, Пол, Должность, Оклад
Next i
Close #1
End Sub
Private Sub Считать_Click()
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = True
Command5.Enabled = True
Open "d:\тест1.txt" For Input As #1
Do Until EOF(1)
Input #1, Фамилия, Пол, Должность, Оклад
List1.AddItem Фамилия
List2.AddItem Пол
List3.AddItem Должность
List4.AddItem Оклад
Loop
Close #1
End Sub
Private Sub Удалить_Click()
List1.RemoveItem Фамилия$
List2.RemoveItem Пол$
List3.AddItem Должность
List4.AddItem Оклад
End Sub
Работа приложения
Записать на диск данные
Результат работы