Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore โปรแกรมคำนวณหาค่าดัชนีมวลกายEbook

โปรแกรมคำนวณหาค่าดัชนีมวลกายEbook

Published by puy_kmitl, 2021-09-11 08:50:37

Description: โปรแกรมคำนวณหาค่าดัชนีมวลกายEbook

Search

Read the Text Version

การเขยี นโปรแกรมตดิ ตอ่ ผ้ใู ช้แบบกราฟกิ

โปรแกรมคำนวณหาคา่ ดัชนีมวลกาย คา่ ดัชนีมวลกาย (Body Mass Index: BMI) เปน็ มาตรการทีน่ ำมาใช้ประเมินภาวะอ้วนหรอื ผอมในบุคคลทีม่ ีอายุ 20 ปี ข้นึ ไป โดยนำนำ้ หนกั ตัว (กโิ ลกรัม) และสว่ นสูง (เมตร) มาใชก้ ับสตู รคำนวณดงั น้ี BMI = น้ำหนักตวั (Kg) / สูง2 (m) การแปลผลเพ่ือประเมินว่ามรี ูปรา่ งอยา่ งไร ตามตารางดังนี้ ดชั นีมวลกาย (BMI) ความหมาย >= 40 โรคอว้ นขั้นสูงสุด โรคอ้วนขนั้ 2 35.0 – 39.9 โรคอว้ นข้ัน 1 28.5 – 34.9 น้ำหนกั เกิน / ท้วม 23.5 – 28.4 นำ้ หนกั ปกติ 18.5 – 23.4 นำ้ หนักต่ำกว่าเกณฑ์ / ผอม < 18.5 จงสร้างฟอร์มพร้อมต้ังชอ่ื คอนโทรลตา่ งๆ ดงั น้ี

ออบเจ็กต์ คุณสมบัติ คา่ ที่กำหนด Font Tahoma, 11pt TextBox_weight Font Tahoma, 11pt TextBox_Tall Font Tahoma, 11pt Text Button_Process “Process” Enabled True Button_New Font Text Tahoma, 11pt Button_Exit “New” Enabled False TextBox_BMI Font Text Tahoma, 11pt TextBox_Desc “Exit” Enabled True BackColor 64,0,0 Font Tahoma, 19pt ForeColor White TextAlign Center False Visible BackColor 255,255,192 BorderStyle None Font Tahoma, 20pt Text “อว้ น / ผอม” TextAlign Visible Center False

ออบเจ็กต์ TextBox_Weight เปน็ เท็กซ์บ็อกซ์ทใี่ ช้สำหรับกรอกนำ้ หนัก (กิโลกรัม) โดยใหส้ รา้ งโค้ดเพอ่ื กำหนดตุการณ์ลงใน KeyPress ดังน้ี โคด้ คำส่งั ทบ่ี รรจุอยูใ่ นอเี วนต์ Keypress ของเท็กซบ์ ็อกซ์ TextBox_Weight ท่ีใช้ตรวจสอบคยี ์ (อนุญาตใหก้ รอกข้อมูลเฉพาะ 0-9 พรอ้ มกบั บางปมุ่ ที่ได้รับการอนญุ าตเทา่ นัน้ ) Public Class Form1 Dim BMI, weight, tall As Single Dim txt As String Private Sub TextBox_weight_Keypress(sender As Object, e As KeyPressEventArgs) Handles TextBox_weight.KeyPress Select Case Asc(e.KeyChar) Case 48 To 57 'ตรวจสอบเฉพาะเลข 0-9 e.Handled = False Case 8, 13, 46 'อนุญาตให้ใชป้ ่ มุ Backspace:8,Enter:13,Del:46 e.Handled = False Case Else e.Handled = True MessageBox.Show(\"กรุณากรอกขอ้ มลู เฉพาะตวั เลข...\") End Select End Sub เนื่องจากโค้ดดังกล่าวอยู่ตน้ โปรแกรม จึงทำการกำหนดตวั แปรท่จี ำเป็นต่อการใชง้ าน ซึ่งประกอบดว้ ยตวั แปร BMI, weight, tall และ txt ดว้ ยการประกาศอยนู่ อกซับโปรแกรม ออบเจก็ ต์ TextBox_Tall เป็นเท็กซบ์ ็อกซ์ทใี่ ช้สำหรบั กรอกสว่ นสูง (เซนติเมตร) โดยให้สร้างโคด้ เพื่อกำหนดตุการณ์ลงใน KeyPress ดงั น้ี โค้ดคำสง่ั ทบ่ี รรจุอยูใ่ นอีเวนต์ Keypress ของเท็กซ์บ็อกซ์ TextBox_Tall ทใ่ี ชต้ รวจสอบคีย์ (อนุญาตใหก้ รอกข้อมูลเฉพาะ 0-9 พรอ้ มกบั บางปุ่มท่ีได้รบั การอนุญาตเท่าน้นั ) Private Sub TextBox_Tall_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox_Tall.KeyPress Select Case Asc(e.KeyChar) Case 48 To 57 'ตรวจสอบเฉพาะเลข 0-9 e.Handled = False Case 8, 13, 46 'อนุญาตใหใ้ ชป้ ่ มุ Backspace:8,Enter:13,Del:46 e.Handled = False Case Else e.Handled = True MessageBox.Show(\"กรุณากรอกขอ้ มูลเฉพาะตวั เลข...\") End Select End Sub

ออบเจ็กต์ Button_Process เปน็ ป่มุ ทใี่ ช้สำหรบั คำนวณหาคา่ ดชั นีมวลกาย (BMI) จากน้ำหนกั และสว่ นสงู ทป่ี ้อนเข้ามา โค้ดคำสั่งท่ีบรรจุอยู่ในอีเวนต์ Click ของปุ่ม Button_Process เพ่อื คำนวณหาค่า BMI Private Sub Button_Process_Click(sender As Object, e As EventArgs) Handles Button_Process.Click If TextBox_weight.Text = \"\" Or TextBox_Tall.Text = \"\" Then MessageBox.Show(\"กรุณากรอกขอ้ มลู ให้ครบถว้ น....\", \"No data entry\", MessageBoxButtons.OK, MessageBoxIcon.Error) TextBox_weight.Focus() Exit Sub End If weight = Convert.ToSingle(TextBox_weight.Text) tall = Convert.ToSingle(TextBox_Tall.Text) BMI = weight / ((tall / 100) ^ 2) Select Case BMI Case Is >= 40 txt = \"โรคอว้ นข้นั สูงสุด\" Case 35 To 39.9 txt = \"โรคอว้ นข้นั 2\" Case 28.5 To 34.9 txt = \"โรคอว้ นข้นั 1\" Case 23.5 To 28.4 txt = \"น้าหนกั เกิน/ทว้ ม\" Case 18.5 To 23.4 txt = \"น้าหนกั ปกติ\" Case Is < 18.5 txt = \"ต่ากวา่ เกณฑ/์ ผอม\" Case Else txt = \"Error!\" End Select TextBox_BMI.Visible = True TextBox_Desc.Visible = True Button_Process.Enabled = False Button_New.Enabled = True TextBox_BMI.Text = BMI TextBox_Desc.Text = txt End Sub

ออบเจ็กต์ Button_New เปน็ ปุม่ ใหก้ ลับไปกรอกค่าใหม่ โดยจะเคลียรค์ ่าเดมิ พร้อมตงั้ คา่ ปมุ่ ต่างๆ ทเี่ กี่ยวขอ้ ง โค้ดคำส่ังทบ่ี รรจุอยู่ในอเี วนต์ Click ของปุ่ม Button_New Private Sub Button_New_Click(sender As Object, e As EventArgs) Handles Button_New.Click Button_New.Enabled = False Button_Process.Enabled = True TextBox_BMI.Text = \" \" TextBox_Desc.Text = \" \" TextBox_BMI.Visible = False TextBox_Desc.Visible = False TextBox_weight.Clear() TextBox_Tall.Clear() TextBox_weight.Focus() End Sub ออบเจก็ ต์ Button_Exit เป็นปุม่ สำหรับใหอ้ อกจากโปรแกรม โค้ดคำส่งั ท่ีบรรจอุ ย่ใู นอีเวนต์ Click ของปุ่ม Button_Exit Private Sub Button_Exit_Click(sender As Object, e As EventArgs) Handles Button_Exit.Click Me.Close() End Sub End Class

โคด้ คำส่งั รวมทง้ั หมดของโปรแกรม Public Class Form1 Dim BMI, weight, tall As Single Dim txt As String Private Sub TextBox_weight_Keypress(sender As Object, e As KeyPressEventArgs) Handles TextBox_weight.KeyPress Select Case Asc(e.KeyChar) Case 48 To 57 'ตรวจสอบเฉพาะเลข 0-9 e.Handled = False Case 8, 13, 46 'อนุญาตใหใ้ ชป้ ่ มุ Backspace:8,Enter:13,Del:46 e.Handled = False Case Else e.Handled = True MessageBox.Show(\"กรุณากรอกขอ้ มลู เฉพาะตวั เลข...\") End Select End Sub Private Sub TextBox_Tall_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox_Tall.KeyPress Select Case Asc(e.KeyChar) Case 48 To 57 'ตรวจสอบเฉพาะเลข 0-9 e.Handled = False Case 8, 13, 46 'อนุญาตใหใ้ ชป้ ่ มุ Backspace:8,Enter:13,Del:46 e.Handled = False Case Else e.Handled = True MessageBox.Show(\"กรุณากรอกขอ้ มูลเฉพาะตวั เลข...\") End Select End Sub Private Sub Button_Process_Click(sender As Object, e As EventArgs) Handles Button_Process.Click If TextBox_weight.Text = \"\" Or TextBox_Tall.Text = \"\" Then MessageBox.Show(\"กรุณากรอกขอ้ มลู ให้ครบถว้ น....\", \"No data entry\", MessageBoxButtons.OK, MessageBoxIcon.Error) TextBox_weight.Focus() Exit Sub End If weight = Convert.ToSingle(TextBox_weight.Text) tall = Convert.ToSingle(TextBox_Tall.Text) BMI = weight / ((tall / 100) ^ 2) Select Case BMI Case Is >= 40 txt = \"โรคอว้ นข้นั สูงสุด\" Case 35 To 39.9 txt = \"โรคอว้ นข้นั 2\" Case 28.5 To 34.9 txt = \"โรคอว้ นข้นั 1\" Case 23.5 To 28.4 txt = \"น้าหนกั เกิน/ทว้ ม\" Case 18.5 To 23.4 txt = \"น้าหนกั ปกติ\"

Case Is < 18.5 txt = \"ต่ากว่าเกณฑ/์ ผอม\" Case Else txt = \"Error!\" End Select TextBox_BMI.Visible = True TextBox_Desc.Visible = True Button_Process.Enabled = False Button_New.Enabled = True TextBox_BMI.Text = BMI TextBox_Desc.Text = txt End Sub Private Sub Button_New_Click(sender As Object, e As EventArgs) Handles Button_New.Click Button_New.Enabled = False Button_Process.Enabled = True TextBox_BMI.Text = \" \" TextBox_Desc.Text = \" \" TextBox_BMI.Visible = False TextBox_Desc.Visible = False TextBox_weight.Clear() TextBox_Tall.Clear() TextBox_weight.Focus() End Sub Private Sub Button_Exit_Click(sender As Object, e As EventArgs) Handles Button_Exit.Click Me.Close() End Sub End Class ผลการรนั โปรแกรม แสดงหน้าตา่ งโปรแกรมคำนวณหา คา่ ดัชนมี วลกาย

กรอกค่านำ้ หนัก = 65 และส่วนสูง = 170 ผล การประเมินค่า BMI ที่ได้คือ 22.49135 ซึ่ง หมายถงึ น้ำหนักปกติ กรอกค่านำ้ หนัก = 85 และส่วนสูง = 166 ผล การประเมินค่า BMI ท่ีได้คือ 30.84628 ซึ่ง หมายถึงน้ำหนักปกติ

กรณคี ลิกปุม่ Process โดยมไิ ดก้ รอกค่าส่วนสูงจะแจ้งข้อผดิ พลาดให้ทราบ กรณีกรอกค่าที่ไมใ่ ชต่ วั เลขก็จะแจง้ ข้อผดิ พลาดใหท้ ราบเชน่ กนั


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook