- •Федеральное государственное бюджетное образовательное учреждение высшего образования «керченский государственный морской технологический университет»
- •Курсовая работа
- •Бланк задания
- •Постояльцы гостиницы
- •1.Анализ условия задачи, её математическое решение
- •Ниже приведена таблица наименование, тип и назначение элементов, которые используются в форме:
- •3.Анализ данных
- •4.Разработка структуры програмного приложения
- •5.Разработка интерфейса пользователя
- •Постояльцы гостиницы
- •6.Разработка программного кода
- •7.Руководство пользователя
- •8.Тестирование приложения постояльцы гостиницы
- •Заключение
- •Литература
- •3. Алгоритм решения задачи
- •4. Анализ данных
- •5. Разработка программного кода
5.Разработка интерфейса пользователя
На рабочем листе имеется шапка таблицы, вида:
Постояльцы гостиницы
Фамилия
|
Имя |
Пол |
Паспорт |
Завтрак |
Номер |
Срок |
Стоимость
|
Итог |
Оплата |
|
|
|
|
|
|
|
|
|
|
Для запуска программы или вызова формы требуется нажать на рисунок, расположенный на рабочем листе:
С помощью этой формы пользователю доступны следующие элементы управления: Элемент управления Label1 (надпись) содержит надпись «фамилия», Label2 -«имя», LаЬеl3-«номер», Label4- «продолжительность проживания», LаЬеl5-«стоимость проживания».
OptionButton (маркеры ) используется для выбора пола, а также для выбора оплаты. CheckBox (ячейка «завтрак и документы») используется для проверки наявности паспорта и заказа завтрака в номер. В элементе управления ComboBox (Поле со списком) представлен список наименования номеров гостиницы из которого клиент может выбрать нужное значение. TextBox (Текстовое поле) - позволяет вводить фамилию, имя клиента, срок проживания, стоимость проживания. Элемент управления CommandButton (Кнопка) используется для подтверждения данных в форме, удалить ошибочно набранную информацию и выход из приложения.
6.Разработка программного кода
Private Sub ok_comBut_Click()
Dim фамилия As String
Dim имя As String
Dim пол As String
Dim паспорт As String
Dim завтрак As String
Dim номер As String
Dim срок As Integer
Dim стоимость As Single
Dim оплата As String
Dim итог As Single
Dim номерстроки As Integer
номерстроки = Application.CountA(ActiveSheet.Columns(l)) + 1
With UserForml
If Familiya_textbox = "" Then
MsgBox "Фамилия не введена!"
Else: Familiya = .Familiya_textbox.Text
End If
If lmya_textbox = "" Then
MsgBox "Имя не введено!"
Else: Imyа = .lmya_textbox.Text
End If
If man_opBut.Value = True Then
Pol = "муж"
If wim_opBut.Value = True Then
Pol = "жен"
Else: MsgBox "Пол не указан!"
End If
If pasp_checkbox.Value = True Then
Pasport = "Да"
Else
Pasport = "Нет"
End If
If zav_v_nom_checkbox.Value = True Then
Zavtrak = "Да"
Else
Zavtrak = "Нет"
End If
nomer = nomer_cmb.List(nomer_cmb.Listlndex, 0)
prodol_proj_txbox = CStr(ProdolgitelnostProgivaniya_spindButton)
If stoim_proj_textbox = "" Then
MsgBox "Стоимость не указана!"
Else: Stoimost = CStr(.stoim_proj_textbox)
Itog = CStr(stoim_proj_textbox * prodol_proj_txbox)
End If
If opl_nal_opBut.Value = True Then
oplata = "наличными"
Else
If opl_kar_opBut.Value = True Then
oplata = "карточкой"
Else
If opl_cek_opBut.Value = True Then
oplata = "чеком"
Else: MsgBox "Способ оплаты не указан!"
End If
End If
End If
End With
With ActiveSheet
.Се11s(номерстроки, l).Value = Familiya
.Cells(номерстроки, l).Borders.LineStyle = xlSingle
.Се115(номерстроки, 2).Value = Imya
.Се11s(номерстроки, 2).Borders.LineStyle = xlSingle
.Cells(номерcтроки, 3).Value = Pol
.Се11з(номерстроки, 3).Borders.LineStyle = xlSingle
.Cells(номерсироки, 4).Value = Pasport
.Cells(номерстроки, 4).Borders.LineStyle = xlSingle
.Cells(номерcтроки, 5).Value = Zavtrak
.Cells(номерcтроки, 5).Borders.LineStyle = xlSingle
oCells(номерcтроки, 6).Value = nomer
.Cells(номерcтроки, 6).Borders.LlneStyle = xlSingle
.Cells(номерcтроки, 7).Value = prodol_proj_txbox
.Cells(номерcтроки, 7).Borders.LineStyle = xlSingle
.Cells(номерcтроки, 8).Value = stoim
.Cells(H0MepcTp0KH, 8).Borders.LineStyle = xlSingle
.Cells(номерcтроки, 9).Value = Itog
.Cells(номерcтроки, 9).Borders.LineStyle = xlSingle
.Се115(ноплерстроки, 10).Value = oplata
.Се115(ноллерстроки / 10).Borders.LineStyle = xlSingle
End With
Cells(номерcтроки, 8).Value = Format(Stoimost, "####.#")
Cells(номерcтроки, 9).Value = Format(ltog, "####.#")
Columns("A:J").AutoFit
Columns("C:J").HorizontalAlignment = xlCenter
For i = 1 To 10
Cells(H0MepcTp0KH, i).Borders.LineStyle = xlDouble
Next
End Sub
Private Sub End_comBut_Click()
End
End Sub
Private Sub nomer_cmb_Change()
Dim к As Integer, n As Integer, Odn As Integer, Dvu As Integer, lux As Integer
к = 0
n = 3
Odn = 0
Dvu = 0
lux = 0
Do Until Cells(n, 6) = ""
к = к + 1
If Cells(n, 6) = "одноместный" Then
Odn = Odn + 1
Else
If Cells(n, 6) = "Двухместный" Then
Dvu = Dvu + 1
Else
If Cells(n, 6) = "Трехместный" Then
lux = lux + 1
End If
End If
End If
n = n + 1
Loop
Cells(3, 12).Value = к
Cells(3, 13).Value = Odn
Cells(3, 14).Value = Dvu
Cells(3, 15).Value = lux
End Sub
Private Sub otm_comBut_Click()
Familiya_textbox = ""
lmya_textbox = ""
stoim_proj_textbox = ""
End Sub
Private Sub ProdolgitelnostProgivaniya_spindButton_Change()
With UserForml
prodol_proj_txbox = CStr(ProdolgitelnostProgivaniya_spindButton)
End With
End Sub
Private Sub UserForm_lnitialize()
Zagolovok
Cells(2, l).Value = "Фамилия"
Cells(2, l).HorizontalAlignment = xlCenter
Cells(2, 2).Value = "Имя"
Cells(2, 2).HorizontalAlignment = xlCenter
Cells(2, 3).Value = "Пол"
Cells(2, 4).Value = "Паспорт"
Cells(2, 5).Value = "Завтрак"
Cells(2, 6).Value = "Номер"
Cells(2, 7).Value = "Срок"
Cells(2, 8).Value = "Стоимость"
Cells(2, 9).Value = "Итог"
Cells(2, 10).Value = "Оплата"
Application.Caption = "постояльцы гостиницы."
With nomer_cmb
.List = Аггау("одноместный", "двухместный", "Люкс")
.Listlndex = 0
End With
Cells(l, 12).Value = "Кол-во занятых номеров:"
Cells(l, 12).Select
Cells(2, 12).Value = "Всего"
Cells(2, 13).Value = "Одноместных"
Cells(2, 14).Value = "Двухместных"
Cells(2, 15).Value = "Люкс"
Columns("L:0").AutoFit
Range(Cells(2, 12), Cells(3, 15)).Borders.LineStyle = xlDouble
Range(Cells(2, 1), Cells(2, 10)).Select
Selection.Borders.LineStyle = xlDouble
End Sub
Sub Zagolovok()
Worksheets(l).Select
Cells(l, l).Value = "постояльцы гостиницы"
With Range(Cells(1, 1), Cells(1, 10))
.Font.Size = 16
.Font.Colorlndex = 9
.Font.Bold = True
End With
End Sub
