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