พอดีว่าอาจารย์สั่งการบ้านภาษา C มา โดยที่อาจารย์ให้โจทย์มาว่า
“เขียนโปรแกรมแปลงค่าจากหน่วย ฟุต,นิ้ว เป็นหน่วย เมตร,เซนติเมตร”
ยกตัวอย่างเช่น ให้ป้อนค่า 6 ฟุต 2 นิ้ว
ให้ผลลัพธ์ออกมาเป็น 1 เมตร 85 เซนติเมตร
อะไรประมาณนี้
ขอบอกว่าโจทย์ข้อนี้ค่อนข้างยากในการแปลงหน่วย
( แต่ไม่อยากโม้ ผมใช้เวลา 10 นาทีเสร็จ เอิ๊กๆ )
เริ่มแรกเราก็ต้องเขียนออกมาเป็น Pseudocode ก่อน
start read foot read nich float cm = 2.54 n = n+(f*12) x = n*cm m = floor(x/100) cm = x-(m*100) print m print cm stop
เมื่อเราเขียนในรูปแบบ Pseudocode ออกมาแล้ว
ลำดับต่อไปก็มาเขียนเป็น code ภาษา C กันเลย
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include<stdio.h> #include<math.h> main() { float f,m,n,x; float cm = 2.54; printf("Enter foot = "); scanf("%f",&f); printf("Enter inch = "); scanf("%f",&n); n = n + (f*12); x = n * cm; m = floor(x/100); cm = x - (m*100); printf("%.0f metre %.0f centimetre \n",m,cm); } |
จะสังเกตุว่า ในส่วน Head จะมีคำสั่งเสริมเพิ่มเข้ามาด้วยคือ ( บรรทัดที่ 2 )
2 | #include<math.h> |
สาเหตุที่เพิ่มเข้ามาเพราะว่า เราได้ใส่ฟังก์ชั่น floor ( จากบรรทัดที่ 13 )
13 | m = floor(x/100); |
ฟังก์ชั่น floor หมายถึง การปัดเศษลง นั้นเอง
























