โปรแกรมตัวอย่างนี้แสดงการคำนวณเศษ (Remainder) จากการหารจำนวนเต็มสองจำนวน พร้อมการตรวจสอบเงื่อนไขข้อผิดพลาด เช่น หารด้วยศูนย์ หรือตัวถูกหารน้อยกว่าตัวหาร
ฟังก์ชันคำนวณเศษ
public int RemainderFunc(int val1, int val2)
{
if (val2 == 0)
throw new Exception("ตัวหารไม่สามารถเป็นศูนย์ได้! หารด้วยศูนย์ไม่ได้!");
if (val1 < val2)
throw new Exception("ตัวถูกหารไม่สามารถน้อยกว่าตัวหารได้!");
return (val1 % val2);
}
โค้ดสมบูรณ์
using System;
namespace Program
{
class Demo
{
public int RemainderFunc(int val1, int val2)
{
if (val2 == 0)
throw new Exception("ตัวหารไม่สามารถเป็นศูนย์ได้! หารด้วยศูนย์ไม่ได้!");
if (val1 < val2)
throw new Exception("ตัวถูกหารไม่สามารถน้อยกว่าตัวหารได้!");
return (val1 % val2);
}
static void Main(string[] args)
{
int one = 250;
int two = 200;
int remainder;
Console.WriteLine("จำนวนแรก: " + one);
Console.WriteLine("จำนวนที่สอง: " + two);
Demo d = new Demo();
remainder = d.RemainderFunc(one, two);
Console.WriteLine("เศษ: {0}", remainder);
Console.ReadLine();
}
}
}
ผลลัพธ์
จำนวนแรก: 250 จำนวนที่สอง: 200 เศษ: 50
คำอธิบาย
- ใช้ตัวดำเนินการ
%(Modulo) คำนวณเศษ - โยน
Exceptionเมื่อเงื่อนไขไม่ถูกต้อง แทนการส่งค่าผิดพลาด - ในทางคณิตศาสตร์ จำนวนเต็มสามารถหารได้แม้ตัวถูกหารจะน้อยกว่าตัวหาร (เศษจะเท่าตัวถูกหาร) แต่ตัวอย่างนี้จำกัดเงื่อนไขเพื่อการสาธิต
การปรับปรุง: ในการใช้งานจริง ควรใช้ try-catch จัดการ Exception หรือส่งคืนค่า bool แสดงสำเร็จ/ล้มเหลว พร้อมพารามิเตอร์ out สำหรับผลลัพธ์ แทนการโยน Exception สำหรับกรณีที่คาดการณ์ได้