วันนี้เราจะศึกษาหนึ่งในหน้าที่สำคัญของการปัดเศษค่าจำนวนเต็มในภาษาโปรแกรม C++ เราจะเรียนรู้ว่าเราจะใช้วิธีการปัดเศษนี้อย่างไร แต่ก่อนหน้านั้น เรามาดูพื้นฐานของ C++ กันก่อน เพื่อไม่ให้ผู้ใช้ต้องคิดมาก
C++ เป็นภาษาเชิงวัตถุเชิงขั้นตอนและง่ายต่อการเข้าใจ ซึ่งนำเสนอโครงสร้างที่ชัดเจนของโปรแกรมที่ช่วยให้สามารถประเมินรหัสภายในโปรแกรมเดียวกันได้ แต่บางครั้งก็มีปัญหาที่ซับซ้อนที่เราต้องการแก้ไข ด้วยเหตุนี้ เราจึงใช้หลายฟังก์ชันใน C++ เพื่อแบ่งปัญหาที่ซับซ้อนออกเป็นชิ้นเล็กๆ ซึ่งเป็นฟังก์ชันที่เราใช้ในโปรแกรมของเรา และวันนี้เรามาศึกษาหนึ่งในฟังก์ชั่นที่สำคัญ นั่นคือ ฟังก์ชั่น rint() ในภาษา C++
บทนำ
ใน C++ ฟังก์ชันrint()เป็นฟังก์ชันที่กำหนดไว้ล่วงหน้าซึ่งจะปัดเศษค่าให้เป็นค่าจำนวนเต็มที่ใกล้เคียงที่สุด ในการปัดเศษค่าอินพุต เราใช้โหมดการปัดเศษปัจจุบัน ซึ่งก็คือโหมด fesetround() เพื่อให้เข้าใจและเรียนรู้เกี่ยวกับฟังก์ชัน rint() ได้ชัดเจนยิ่งขึ้น เรามาเจาะลึกและดูว่าเราจะใช้ฟังก์ชันนี้ใน C++ อย่างไร
ไวยากรณ์
มาทำความเข้าใจรูปแบบการเขียนและการใช้งานฟังก์ชัน rint() ใน C++ กัน อันดับแรก เราจะเขียน return type ของฟังก์ชัน rint() ในวงเล็บฟังก์ชัน rint() เราจะเขียนชนิดข้อมูลของตัวแปรอินพุตและส่งผ่านพารามิเตอร์อินพุตในนั้น เพื่อให้เราได้ค่าอินพุตเป็นประเภทจำนวนเต็มแบบปัดเศษ
พารามิเตอร์
Input_variable: สามารถเป็นชื่อตัวแปรใด ๆ ที่มีค่าใด ๆ ในนั้น ตัวอย่างเช่น เรามีพารามิเตอร์ x ที่เราต้องการปัดเศษ
ข้อผิดพลาดและข้อยกเว้น
ถ้าเราส่งพารามิเตอร์ 0 และพารามิเตอร์อนันต์ ในทางกลับกัน เราจะได้ค่าอินพุตเดิม และหากเอาต์พุตของฟังก์ชันอยู่นอกพารามิเตอร์ที่ยอมรับได้สำหรับประเภทการส่งคืน อาจเกิดข้อผิดพลาดของโดเมนได้
ค่าส่งคืน
ในทางกลับกัน เราจะได้ค่าประเภทจำนวนเต็มแบบปัดเศษของค่าอินพุต
ตัวอย่าง 01
เรามาเริ่มใช้งานตัวอย่างแรกและง่ายที่สุดของฟังก์ชัน rint() ซึ่งเราจะเขียนในภาษา C++ เราต้องการคอมไพเลอร์ C++ เพื่อใช้ฟังก์ชัน rint() เปิดคอมไพเลอร์และเริ่มเขียนโค้ด
ในโปรแกรม C++ ก่อนอื่นเราจะรวมไลบรารีพื้นฐานที่เกี่ยวข้องกับโปรแกรมของเรา ไลบรารีเหล่านี้เป็นไลบรารีที่กำหนดไว้ล่วงหน้าของ C++ เราต้องเขียนโค้ดเพียงบรรทัดเดียวเพื่อรวมไลบรารีเหล่านี้ แทนที่จะเขียนเป็นร้อยๆ บรรทัดเพื่อสร้างไลบรารี ในการรวมไฟล์ ก่อนอื่นเราเขียนเครื่องหมาย “#” ที่แจ้งให้คอมไพเลอร์โหลดไฟล์ส่วนหัว คำว่า “รวม” ประกอบด้วยไฟล์ส่วนหัวในโปรแกรม และ “iostream” หมายถึงการรับข้อมูลจากผู้ใช้และแสดง ให้กับผู้ใช้
เรายังได้รวมไฟล์ส่วนหัวที่สองที่มีคำนำหน้า “#include
#รวม
ใช้เนมสเปซ std;
int หลัก ( )
{
ลอย X = 9.1 , และ = 0.9 ;
ศาล << 'ค่าของ X หลังจากปัดเศษ: ' << วิ่ง ( เอ็กซ์ ) << ท้าย;
ศาล << 'ค่าของ Y หลังจากปัดเศษ: ' << วิ่ง ( วาย ) ;
กลับ 0 ;
}
จากนั้นเราจะเริ่มเขียนฟังก์ชัน main() เพราะที่นี่ เราจะเขียนโค้ดบรรทัดจริงหรือใช้ฟังก์ชันที่เราต้องการนำไปใช้ ในวงเล็บฟังก์ชัน main() เราได้ประกาศตัวแปรสองตัวชื่อ “X และ Y” ประเภท float และกำหนดค่าที่แตกต่างกัน จากนั้นเราจะเรียกใช้ฟังก์ชันการปัดเศษที่เราต้องการทำ ซึ่งก็คือฟังก์ชันrint() เราเรียกใช้ฟังก์ชันโดยเขียนชื่อฟังก์ชันก่อน ซึ่งก็คือฟังก์ชัน rint() แล้วป้อนตัวแปร 'X' ลงไป จากนั้นเราจะพิมพ์โดยเขียนเมธอด cout() แล้วส่งฟังก์ชัน เราทำเช่นเดียวกันกับตัวแปร “Y” และสุดท้าย เราจะคืนค่า 0 เป็นฟังก์ชัน main() และปิดวงเล็บ
ที่นี่ เรามีเอาต์พุตที่ต้องการ ซึ่งค่าของ “X” คือ 9 และค่าของ “Y” คือ 1 ในประเภทจำนวนเต็ม
ตัวอย่าง 02
ทีนี้ มาดูตัวอย่างที่สองของฟังก์ชัน rint() ในภาษา C++ กัน ในตัวอย่างนี้ เราใช้วิธีโหมดปัจจุบัน ซึ่งก็คือโหมด fesetround() เมธอด fesetround() สร้าง 'ทิศทางการปัดเศษปัจจุบัน' ในฟังก์ชัน rint() ที่จะกำหนดทิศทางค่าที่ป้อนขึ้น ลง ใกล้เคียงที่สุด และไปทางศูนย์
#รวมถึง#include
#รวมถึง
ใช้เนมสเปซ std;
int หลัก ( )
{
X สองเท่า;
ศาล << 'ป้อนค่าอินพุตของ X คือ: ' ;
การกิน >> X;
ศาล << ' \n การปัดเศษเป็นจำนวนเต็มที่ใกล้ที่สุดของ X(' << เอ็กซ์ << '): ' << วิ่ง ( เอ็กซ์ ) << ท้าย;
เทศกาล ( FE_ขึ้นไป ) ;
ศาล << 'การปัดเศษ X(' << เอ็กซ์ << ') ขึ้น: ' << วิ่ง ( เอ็กซ์ ) << ท้าย;
เทศกาล ( FE_ลง ) ;
ศาล << 'การปัดเศษ X(' << เอ็กซ์ << ') ลง: ' << วิ่ง ( เอ็กซ์ ) << ท้าย;
กลับ 0 ;
}
เราได้รวมไลบรารีพื้นฐานบางส่วนที่เกี่ยวข้องกับฟังก์ชันที่เราจะนำไปใช้ในโปรแกรม ไฟล์ส่วนหัวแรกคือ “#include
จากนั้นเราก็เรียกใช้ฟังก์ชัน main() และเริ่มเขียนโค้ดบรรทัดจริง ขั้นแรก เราจะประกาศตัวแปร “X” ชนิด double จากนั้นเราจะรับค่าจากผู้ใช้โดยใช้เมธอด cin() ของ C++ แล้วจึงพิมพ์โดยใช้เมธอด cout() ต่อไปเราจะเรียกใช้ฟังก์ชัน rint() เพื่อพิมพ์ค่าปัดเศษที่ใกล้ที่สุดของ 'X' ผ่านเมธอด cout()
ตอนนี้เราได้ใช้เมธอด fesetround() เพื่อพิมพ์ค่าในทิศทางขึ้นและลง สำหรับสิ่งนั้น ให้เรียกใช้ฟังก์ชัน fesetround() และเขียน 'FE_UPWARD' เป็นตัวพิมพ์ใหญ่ในวงเล็บฟังก์ชัน และพิมพ์โดยส่งฟังก์ชัน rint() ในเมธอด cout() จากนั้นเราพิมพ์ค่าในทิศทางลง ดังนั้นเขียนเมธอด fesetround() และส่ง “FE_DOWNWARD” เป็นตัวพิมพ์ใหญ่ และเขียนฟังก์ชัน rint() ในเมธอด cout() และสุดท้าย ส่งคืน 0 ไปยังฟังก์ชัน main() และปิดวงเล็บ
มาดูผลลัพธ์ของตัวอย่างก่อนหน้านี้:
บทสรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับบทบาทของฟังก์ชันใน C++ และครอบคลุมหัวข้อหลักของเรา ซึ่งก็คือฟังก์ชัน rint() ใน C++ เราได้เรียนรู้วิธีการทำงานของฟังก์ชัน rint() ใน C++ และวิธีรับค่าจำนวนเต็มแบบปัดเศษโดยใช้เมธอด fesetround() เรายังได้นำตัวอย่างบางส่วนไปใช้ในคำอธิบายโดยละเอียดของโค้ดทุกบรรทัด เพื่อให้ผู้ใช้สามารถเข้าใจตัวอย่างได้ง่าย