จงเขียนโปรแกรมค ำนวณกำรทอนเงินให้กับพนักงำนแคชเชียร์โดยเขียนโปรแกรมก ำหนดให้พนักงำน
แคชเชียร์ท ำกำรระบุว่ำลูกค้ำได้ซื้อสินค้ำเป็นจ ำนวนเงินเท่ำใด และลูกค้ำจ่ำยเงินให้กับพนักงำนเป็น
จ ำนวนเท่ำใด (ก ำหนดให้ จ ำนวนเงินมีหน่วยเป็นเลขจ ำนวนเต็ม เช่น 2500 บำท หรือ 15235 บำท
เป็นต้น จะไม่มีเศษสตำงค์ เช่น 250.75) จำกนั้นท ำกำรตรวจสอบเงื่อนไขดังนี้
- กลูกค้ำจ่ำยเงินให้กับพนักงำนเป็นจ ำนวนเงินที่น้อยกว่ำรำคำสินค้ำ ให้แสดงข้อควำมเตือนว่ำ
ให้พนักงำนเรียกเก็บเงินเพิ่มจำกลูกค้ำ เช่น รำคำสินค้ำ 50 บำท ลูกค้ำจ่ำยเงิน 40 บำท ให้แจ้ง
กับพนักงำนว่ำให้เก็บเงินลูกค้ำเพิ่มอีก 10 บำท เป็นต้น
- กลูกค้ำจ่ำยเงินให้กับพนักงำนเป็นจ ำนวนเงินที่พอดีกับรำคำสินค้ำ ให้แสดงข้อควำมว่ำไม่มีกำร
ทอนเงินให้กับลูกค้ำ
- กลูกค้ำจ่ำยเงินให้กับพนักงำนเป็นจ ำนวนเงินที่เกินจำกรำคำสินค้ำ ให้แสดงข้อควำมว่ำต้อง
ทอนเงินให้กับลูกค้ำเป็นจ ำนวนเงินเท่ำใด โดยโปรแกรมมีเงื่อนไขในกำรทอนเงิน ดังนี้
เงินที่จะทอนให้กับลูกค้ำแบ่งออกเป็นธนบัตรและเหรียญ โดยธนบัตรแบ่งออกเป็น ธนบัตร
ใบละ 1000, 500, 100, 50 และ 20 บำท ส ำหรับเหรียญแบ่งออกเป็น เหรียญ 10, 5 และ 1
บำท
เงื่อนไขกำรทอนเงิน ให้เลือกทอนจำกหน่วยเงินที่มีค่ำเงินใหญ่สุด ไปจนถึงหน่วยเงินที่มี
ค่ำเงินเล็กสุด กล่ำวคือ กสำมำรถทอนธนบัตรใบละ 1000 บำทได้ให้พิจำรณำทอนก่อน
กทอนไม่ได้ให้ทอนธนบัตรใบละ 500 เป็นล ำดับต่อมำ กยังไม่สำมำรถทอนได้อีกให้
เลือกทอนธนบัตรใบละ 100, 50 และ 20 บำท ตำมล ำดับ และกทอนจนกระทั่งไม่
สำมำรถทอนธนบัตรได้แล้วให้พิจำรณำทอนเหรียญแทน โดยเริ่มจำกกำรทอนเหรียญ 10
ทำทก่อน ดำมด้วยเหรียญ 5 บำท และเหรียญ 1 บำทตำมล ำดับ ตัวอย่ำงเช่น สมมติรำคำ
สินค้ำ 18233 บำท ลูกค้ำจ่ำยเงินให้กับพนักงำนเป็นจ ำนวน 20000 บำท ดังนั้นพนักงำน
ต้องทอนเงินให้กับลูกค้ำ 1767 บำท พนักงำนจะท ำกำรทอนเงินให้กับลูกค้ำเป็นธนบัตรใบละ
1000 บำท จ ำนวน 1 ใบ ธนบัตรใบละ 500 บำทจ ำนวน 1 ใบ ธนบัตรใบละ 100 บำท
จ ำนวน 2 ใบ ธนบัตรใบละ 50 บำทจ ำนวน 1 ใบ เหรียญ 10 บำทจ ำนวน 1 เหรียญ เหรียญ
5 บำทจ ำนวน 1 เหรียญ และ เหรียญ 1 บำทจ ำนวน 2 เหรียญ เป็นต้น
โจทเขียนโปรแกรมนี้ทำไงคับ
แคชเชียร์ท ำกำรระบุว่ำลูกค้ำได้ซื้อสินค้ำเป็นจ ำนวนเงินเท่ำใด และลูกค้ำจ่ำยเงินให้กับพนักงำนเป็น
จ ำนวนเท่ำใด (ก ำหนดให้ จ ำนวนเงินมีหน่วยเป็นเลขจ ำนวนเต็ม เช่น 2500 บำท หรือ 15235 บำท
เป็นต้น จะไม่มีเศษสตำงค์ เช่น 250.75) จำกนั้นท ำกำรตรวจสอบเงื่อนไขดังนี้
- กลูกค้ำจ่ำยเงินให้กับพนักงำนเป็นจ ำนวนเงินที่น้อยกว่ำรำคำสินค้ำ ให้แสดงข้อควำมเตือนว่ำ
ให้พนักงำนเรียกเก็บเงินเพิ่มจำกลูกค้ำ เช่น รำคำสินค้ำ 50 บำท ลูกค้ำจ่ำยเงิน 40 บำท ให้แจ้ง
กับพนักงำนว่ำให้เก็บเงินลูกค้ำเพิ่มอีก 10 บำท เป็นต้น
- กลูกค้ำจ่ำยเงินให้กับพนักงำนเป็นจ ำนวนเงินที่พอดีกับรำคำสินค้ำ ให้แสดงข้อควำมว่ำไม่มีกำร
ทอนเงินให้กับลูกค้ำ
- กลูกค้ำจ่ำยเงินให้กับพนักงำนเป็นจ ำนวนเงินที่เกินจำกรำคำสินค้ำ ให้แสดงข้อควำมว่ำต้อง
ทอนเงินให้กับลูกค้ำเป็นจ ำนวนเงินเท่ำใด โดยโปรแกรมมีเงื่อนไขในกำรทอนเงิน ดังนี้
เงินที่จะทอนให้กับลูกค้ำแบ่งออกเป็นธนบัตรและเหรียญ โดยธนบัตรแบ่งออกเป็น ธนบัตร
ใบละ 1000, 500, 100, 50 และ 20 บำท ส ำหรับเหรียญแบ่งออกเป็น เหรียญ 10, 5 และ 1
บำท
เงื่อนไขกำรทอนเงิน ให้เลือกทอนจำกหน่วยเงินที่มีค่ำเงินใหญ่สุด ไปจนถึงหน่วยเงินที่มี
ค่ำเงินเล็กสุด กล่ำวคือ กสำมำรถทอนธนบัตรใบละ 1000 บำทได้ให้พิจำรณำทอนก่อน
กทอนไม่ได้ให้ทอนธนบัตรใบละ 500 เป็นล ำดับต่อมำ กยังไม่สำมำรถทอนได้อีกให้
เลือกทอนธนบัตรใบละ 100, 50 และ 20 บำท ตำมล ำดับ และกทอนจนกระทั่งไม่
สำมำรถทอนธนบัตรได้แล้วให้พิจำรณำทอนเหรียญแทน โดยเริ่มจำกกำรทอนเหรียญ 10
ทำทก่อน ดำมด้วยเหรียญ 5 บำท และเหรียญ 1 บำทตำมล ำดับ ตัวอย่ำงเช่น สมมติรำคำ
สินค้ำ 18233 บำท ลูกค้ำจ่ำยเงินให้กับพนักงำนเป็นจ ำนวน 20000 บำท ดังนั้นพนักงำน
ต้องทอนเงินให้กับลูกค้ำ 1767 บำท พนักงำนจะท ำกำรทอนเงินให้กับลูกค้ำเป็นธนบัตรใบละ
1000 บำท จ ำนวน 1 ใบ ธนบัตรใบละ 500 บำทจ ำนวน 1 ใบ ธนบัตรใบละ 100 บำท
จ ำนวน 2 ใบ ธนบัตรใบละ 50 บำทจ ำนวน 1 ใบ เหรียญ 10 บำทจ ำนวน 1 เหรียญ เหรียญ
5 บำทจ ำนวน 1 เหรียญ และ เหรียญ 1 บำทจ ำนวน 2 เหรียญ เป็นต้น