if-else-if
เป็นการตัดสินใจเลือกทำคำสั่งหรือชุดคำสั่งทางเลือกใดทางเลือกหนึ่งจากหลาย ๆ ทางเลือก โดยที่แต่ละทางเลือกมีเงื่อนไข และมีการกระทำที่แตกต่างกัน
รูปแบบ
if ( condition1 )
statement1;
else if ( condition2 )
statement2;
else if ( condition3 )
statement3;
:
else if (condition n )
statement n;
else
statement n+1;
*** คำสั่งที่ต้องการให้ทำในแต่ละทางเลือกอาจมีเพียงคำสั่งเดียว หรือมากกว่า 1 คำสั่งก็ได้ ซึ่งถ้ามีมากกว่า 1 คำสั่ง จะต้องเขียนชุดคำสั่งนั้นอยู่ภายในเครื่องหมาย { }
ตัวอย่าง
ดัชนีมวลกาย (BMI :Body Mass Index) ใช้เปรียบเทียบความสมดุลระหว่างน้ำหนักตัว ต่อความสูงของมนุษย์
โดยที่ ดัชนีมวลกาย = น้ำหนักตัว / ความสูง(เมตร) ยกกำลังสอง
ถ้าดัชนีมวลกายมีค่าน้อยกว่า 18.5 แสดงว่า น้ำหนักต่ำกว่าเกณฑ์
ถ้าดัชนีมวลกายมีค่า 18.5 – 24.9 แสดงว่า ปกติ
ถ้าดัชนีมวลกายมีค่า 25.0 – 29.9 แสดงว่าเป็น โรคอ้วน
ถ้าดัชนีมวลกายมีค่า 30 หรือมากกว่านี้ แสดงว่าเป็น โรคอ้วนมาก
ให้เขียนโปรแกรมเพื่อคำนวณค่าดัชนีมวลกาย และแสดงว่าผู้ป้อนข้อมูลมีน้ำหนักตัวเป็นอย่างไร
#include<stdio.h>
#include<conio.h>
main()
{ float weight,height,bmi;
printf("How heavy are you (kg)? ");
scanf("%f",&weight);
printf("How tall are you (m)? ");
scanf("%f",&height);
bmi = weight/(height * height);
printf("\nBMI = %.2f",bmi);
if (bmi < 18.5)
printf("\nUnderweitht");
else if (bmi < 25)
printf("\nNormal");
else if (bmi < 30)
printf("\nOverweight");
else
printf("\nObese");
getch();
}
แบบฝึกหัด รับคะแนนสอบของนักศึกษาซึ่งมีคะแนนเต็ม 100 คะแนน จากนั้นแสดงเกรดที่นักศึกษาได้
โดยที่ ถ้าคะแนน >=80 คะแนน จะได้เกรด A
ถ้าคะแนน 70-79 คะแนนจะได้เกรด B
ถ้าคะแนน 50-69 คะแนนจะได้เกรด C
ถ้าคะแนน 40-49 คะแนนจะได้เกรด D
ถ้าคะแนนน้อยกว่า 40 คะแนน จะได้เกรด E