โจทย์โปรแกรมให้ลองฝึก
menu ที่รับคำสั่งจาก keyboard ว่า initialBookList เมื่อพิมพ์คำว่านี้โปรแกรมจะถามให้สร้างจำนวนรายการของหนังสือที่จะสร้างผ่าน keyboard โดยโปรแกรมจะวน loop ให้ป้อนรายการของหนังสือตามจำนวนตัวเลขที่ป้อนผ่าน keyboard เช่นพิมพ์เลข 3 โปรแกรมจะวน loop 3 ครั้ง และในแต่ล่ะครั้งจะให้ใส่ชื่อหนังสือผ่าน keyboard จากนั้นโปรแกรมจะให้ใส่ราคาของหนังสื่อเล่มนั้นผ่าน keyboard อีกครั้ง โดยเมื่อวน loop ครบตาม list ที่ตั้งค่าไว้แล้วเช่นวน loop ครบ 3 ครั้ง โปรแกรมจะขึ้นแสดงว่าให้พิมพ์คำสั่ง minBookPrice หรือ maxBookPrice ผ่าน keyboard ถ้าพิมพ์ minBookPrice โปรแกรมจะแสดงผล ชื่อหนังสือและราคาของหนังสือเล่มที่ราคาน้อยที่สุดเมื่อเทียบจากทุกเล่มในการออกมา ถ้าป้อน maxBookPrice ระบบจะแสดงชื่อหนังสือและราคาของหนังเล่มที่มีราคาสูงที่สุดออกมา
แนวทางการพัฒนา
ตัวอย่างการทำงาน โปรแกรมถามว่า : กรุณาเลือกคำสั่ง checkprice, compare, initialBookList ผู้ใช้ป้อนคำสั่ง : initialBookList ผ่าน keyboard โปรแกรมถามว่า : จงกำหนดรายการของหนังสือที่จะเพิ่มเข้าสุ่ระบบ ผู้ใช้ป้อนคำสั่ง: 3 โปรแกรมถามว่า: จงใส่ชื่อหนังสือสำหรับเล่มที่ X (X คือลำดับของเล่ม โดยเล่มแรกต้องเริ่มที่เลข 1 และ 2, 3, 4 ไล่ไปเรื่อยๆตามลำดับ) ผู้ใช้ใส่คำสั่ง: Chainsaw Man โปรแกรมถามว่า: จงใส่ราคาของหนังสือเล่มที่ X ผู้ใช้ใส่คำสั่ง: 60 โปรแกรมจะกลับไปวน loop ซ้ำให้เริ่มใส่ชื่อหนังสือและราคาใหม่ตามลำดับตามขนาดรายการของหนังสือที่จะเพิ่มเข้าสู่ระบบ เมื่อป้อนรายการหนังสือครบแล้วโปรแกรมจะถามว่าเลือกคำสั่ง minBookPrice หรือ maxBookPrice ถ้าเลือก minBookPrice ต้องแสดงชื่อหนังสือและราคาของหนังสือเล่มนั้นออกมาซึ่งจะเป้นเล่มที่ถูกที่สุด ถ้าเลือก maxBookPrice จะแสดงเล่มที่แพงที่สุดและราคาเล่มที่แพงที่สุดออกมา
เทคนิคที่จะได้ใช้
for loop ใช้วน loop ตามจำนวนขนาดรายการหนังสือที่จะป้อน , ตัวแปรทดค่าหา maxBookPrice, maxBookName, minBookPrice, minBookName การตั้งเงื่อนไข if ว่าถ้าหากเล่มปัจจุบันที่แพงที่สุด ณ ตอนนี้ เจอกับเล่มใหม่แล้วปรากฏว่าเล่มใหม่ที่ส่งเข้ามาเทียบแพง/ถูกกว่า ต้องอัพเดทตัวแปร แพง/ถูกกว่า
มีการใช้ array สองครั้งคือตัวแปร array สำหรับเก็บราคา และ array เก็บชื่อหนังสือ แต่จะใช้ arrray กี่ครั้งก็ได้ไม่ห้าม ขอแค่ได้ผลลัพธ์พอ เพราะทำได้หลายแบบ