วันพฤหัสบดีที่ 1 มกราคม พ.ศ. 2558

คําสั่ง do-while

5. คําสั่ง do-while

        คําสั่ง do-while จะตองมีการทํางานคําสั่ง1 และคําสั่ง2 เสมอ หลังจากนั้นจะมีการตรวจสอบเงื่อนไข หากเงื่อนไขเปนจริงก็จะกลับไปทํ าคํ าสั่งใน do-while อีก จนกวาเงื่อนไขนั้นจะเปนเท็จ เขียนในรูปแบบของคําสั่งไดวา
                          do {
                                คํ าสั่ง1 ;
                                คํ าสั่ง2 ;
                         } while ( เงื่อนไข ) ;

         คําสั่ง do-while จะตางกับคําสั่ง while ตรงที่จะมีการทํางานคําสั่งกอนตรวจสอบเงื่อนไข ในขณะที่
คําสั่ง while จะมีการตรวจสอบเงื่อนไขกอนการทํางานเสมอ
พิจารณาจากตัวอยางการรัขอมูลใหอยูในชวงที่ตองการ สมมติใหอยูในชวงตั้งแต 10 ถึง 20 ซึ่งเปนที่แนนอนวาจะตองมีการรับขอมูลเขามากอน จากนั้นจะตรวจสอบวาขอมูลถูกตองหรือไม หากเขียนในรูปแบบของคํ าสั่ง do-while จะไดวา
                              do {
                                      printf(“Enter number (between 10 and 20) : “);
                                      scanf(“%d”, &num);
                               } while (num < 10 || num > 20);

           จากตัวอยางจะมีการรับขอมูล แลวตรวจสอบวาขอมูลอยูนอกชวงที่กํ าหนด คือ นอยกวา 10 หรือมากกวา 20 ถือวาขอมูลไมถูกตองใหไปรับขอมูลใหมจนกวาจะถูกตอง

ตัวอยาง  รับขอมูลจํานวนเต็มจากผูใช และหาคาเฉลี่ยของขอมูลที่รับเขามา จนกวาผูใชจะปอนเลข 9999

                         #include <stdio.h>
                         void main( ) {
                         int num, count=0;
                         float sum=0.0f, average;
                        do {
                               printf(“Enter number : “):
                               scanf(“%d”, &num);
                               if (num != 9999) {
                                     count++;
                                     sum += num;
                               }
                         } while (num != 9999);
                         average = sum / count;
                         printf(“Average is %.2f”, average);
                      }

ไม่มีความคิดเห็น:

แสดงความคิดเห็น