รายละเอียดของการตอบ ::
ผมก็ไม่ได้หมายถึงจะไม่ให้บันทึกข้อมูลการรูดบัตรนอกเหนือจากเวลารูดบัตร
เพียงแต่ไม่ต้องเอา Record ที่ไม่เข้าเกณฑ์มาคิด
หลักการเขียนโปรแกรมรูดบัตร ของผมคือ
เราไม่ควรสนใจว่าเค้าจะรูดเข้า หรือรูดออก
สนใจเพียงแค่ เค้าต้องรูดในช่วงเวลาใดบ้าง
มันจะทำให้เขียนโปรแกรมง่ายขึ้น
การทำงาน
1. อ่านช่วงเวลาที่พนักงานคนที่ 1 ต้องรูดบัตร ว่ามีกี่ช่วง ช่วงเวลาใดบ้าง (กรณีพนักงานเข้างานคนละเวลากัน)
เช่น ช่วงที่ 1 คือ 07:00-08:00 (ตรงนี้เราอาจกำหนด เป็น 00:00-08:00 ก็ได้)
ช่วงที่ 2 คือ 17:00-18:00
2. อ่านข้อมูลการรูดบัตรใน 1 วันของพนักงานคนที่ 1 แล้วลูปดูว่าอยู่ในช่วงเวลาใดบ้าง
ถ้าตรงกับช่วงเวลาใด ก็ให้ Mark ที่ช่วงเวลานั้นว่า "Y"
3. ถ้า Y ครบทุกช่วงแสดงว่า "รูดบัตร" สมบูรณ์ ถ้าไม่ครบ ก็แสดงว่ารูดบัตรไม่ครบ/หรือรูดบัตรไม่ตรงช่วงเวลาที่กำหนด
4. ลูปเช่นนี้ กับพนักงานคนที่ 2 จนถึงคนสุดท้าย