ความเห็นเพิ่มเติมที่ 18 18 ก.ย. 2555 (18:52) เจอโจทย์มา น่าสนใจมากค่ะ ช่วยทำให้ดูหน่อยได้ไหมคะ อยากเขียนเป็น
โจทย์ การจำลองสร้างโปรแกรมวาดรูป ด้วยโปรแกรมภาษา C
จงสร้างโปรแกรมวาดรูปสองมิติ อย่างง่าย ซึ่งรูปที่วาดจะประกอบด้วยเส้นตรงในแนวตั้งและแนวนอนเท่านั้น ในการวาดรูปโปรแกรมต้องรู้พิกัด
(x, y) ของจุดเริ่มต้นและจุดจบของเส้นตรงแต่ละเส้น ซึ่งผู้ใช้สามารถเลือกใส่ทีละจุดจากแป้นพิมพ์หรืออ่านค่าพิกัดทั้งหมดจากไฟล์ก็ได้ และจะ
ใส่กี่เส้นก็ได้ แต่ไม่เกิน 20 เส้ น
ตย. การใส่จุด (7, 3) (7, 0) จะได้เส้นตรงแนวตั้ง และ (7, 0) (13, 0) ได้ แนวนอน ซึ่งเกิดจากการเรียงกันของ * 4 และ - 6 ตัว ตามล าดับ
จะมีช่องว่างหน้า เส้นแนวตั้ง 7 ช่อง (ตามค่า x) ในช่องที่เส้นตัดกันให้เลือกวาดเส้นแนวตั้ง ตามตัวอย่าง
*
*
*
*------
ข้อกำหนดของโปรแกรมมี ดังนี้
1. โปรแกรมมี 2 โหมดคือ โหมดรับข้อมูล และ โหมดวาดรูป ให้เขียนเป็นฟังก์ชันแยกกัน
2. ในโหมดรับข้อมูล จะรับค่าจุดต่างๆจากแป้นพิมพ์หรือจากไฟล์ แล้วแต่ผู้ใช้เลือก นักศึกษาก าหนดรูปแบบไฟล์เอง
- หากรับค่าจุดจากแป้นพิมพ์ โปรแกรมต้องถามผู้ใช้ว่าจะบันทึกข้อมูลไว้ในไฟล์ใหม่หรือเพิ่มข้อมูลในไฟล์เดิม ค่าที่ผู้ใช้ใส่เข้ามาต้องถูกบันทึก
ลงในไฟล์ ซึ่งต้องเป็นไฟล์ที่จะสามารถน ามาใช้วาดรูปได้ทันที
- หากรับข้อมูลจากไฟล์ โปรแกรมต้องแสดงค่าข้อมูลที่อ่านได้บนหน้าจออีกครั้ง
- เมื่อรับข้อมูลเสร็จ เรียกโหมดวาดรูปและแสดงภาพทันที
3. ในโหมดวาดรูป ให้มีการเรียกฟังก์ชันย่อยในการวาดเส้นแนวตั้ง และเส้นแนวนอน (ให้มองว่าภาพที่เราจะแสดงคือกระดาน array 2 มิติ ถ้าไม่
มีเส้นใดๆค่าในกระดานหรือ array ก็คือช่องว่างทั้งหมด การวาดเส้นก็คือการเปลี่ยนค่าบางค่าใน array ให้เป็น * หรือ -)