switch ~ case¹®

¿©·¯ °³ÀÇ Á¶°ÇÀ» Àϸñ¿ä¿¬ÇÏ°Ô Á¤¸®ÇÏ¿© Á¶°Ç¿¡ µû¶ó¼­ ¼±ÅÃÇÏ°Ô ÇÏ´Â ¸í·É¹®ÀÔ´Ï´Ù.

 

¡¼Çü½Ä¡½

switch(¼ýÀÚ ¶Ç´Â ¼ö½Ä){

      case °ª1 : ¹®Àå1; ¹®Àå2;¡¦¹®Àån; break;

      case °ª2 : ¹®Àå1; ¹®Àå2;¡¦¹®Àån; break;

           ¡¦

      case °ªn : ¹®Àå1; ¹®Àå2;¡¦¹®Àån; break;

      default : ¹®Àå1; ¹®Àå2;¡¦¹®Àån;

}

 

switch(¼ýÀÚ ¶Ç´Â ¼ö½Ä)¿¡¼­ ±× °ªÀÌ 1ÀÌ»óÀÇ ÀÚ¿¬¼öÀ̾î¾ß ÇÕ´Ï´Ù. ¼ýÀÚ ¶Ç´Â ¼ö½ÄÀÌ ÀÚ¿¬¼ö°¡ µÇÁö ¾Ê´Â °æ¿ì¿¡´Â ÀÏÁ¤ÇÑ °è»êÀ» ÇÏ¿© ÀÚ¿¬¼ö·Î ¸¸µé¾î ÁÖ¾î¾ß ÇÕ´Ï´Ù.

 

¿¹Á¦ ÇÁ·Î±×·¥

ÇаúÄڵ带 ÀÔ·ÂÇÏ¿© Çаú¸¦ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥

 

¡¼¼Ò½º ÇÁ·Î±×·¥¡½ 

// File Name : ex065_switch01

#include <stdio.h> 

int main(void){ 

  int code;

  printf("ÇаúÄÚµå(1~4)¸¦ ÀÔ·Â: ");

  scanf("%d",&code);

  switch(code){

      case 1 : printf("Á¤º¸Åë½Å°ú"); break;

      case 2 : printf("À¥¿î¿µ°ú"); break;

      case 3 : printf("ÀüÀÚ»ó°Å·¡°ú"); break; 

      case 4 : printf("¸ÖƼ¹Ìµð¾îµðÀÚÀΰú"); break;

      default : printf("ÇØ´çµÇ´Â °ú°¡ ¾ø½À´Ï´Ù.");

  }

  return 0;

}

 

¡¼½ÇÇà °á°ú¡½

ÇаúÄÚµå(1~4)¸¦ ÀÔ·ÂÇϽÿÀ -> 3

ÀüÀÚ»ó°Å·¡°ú

 

 ¿¹Á¦ ÇÁ·Î±×·¥

Á¡¼ö¸¦ ÀÔ·ÂÇÏ¿© ¼ö, ¿ì, ¹Ì, ¾ç, °¡¸¦ ÆÇº°ÇÏ¿© Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î º¾½Ã´Ù.

 

¡¼¼Ò½º ÇÁ·Î±×·¥¡½ 

// File Name : ex066_switch02.c

#include <stdio.h>

int main(){

  int score;

  char grade;

  printf("Á¡¼ö ÀÔ·Â: ");

  scanf("%d", &score);

  switch(score/10){

      case 10 : printf("¼ö"); break;

      case  9 : printf("¼ö"); break;

      case  8 : printf("¿ì"); break;

      case  7 : printf("¹Ì"); break;

      case  6 : printf("¾ç"); break;

      default : printf("°¡");

  }

  return 0;

}

 

 

  ½ÇÀü ÇÁ·Î±×·¥


¿µ¾î, ¼öÇÐ, ±¹»ç Á¡¼ö¸¦ ÀÔ·ÂÇÏ¿© ´ÙÀ½ Çü½ÄÀ¸·Î Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ¿© º¾½Ã´Ù.

¡¼ÀÔÃâ·Â Çü½Ä¡½

¿µ¾î Á¡¼ö:50

¼öÇÐ Á¡¼ö:100

±¹»ç Á¡¼ö:60

===========================================

°ú¸ñ   ¿µ¾î   ¼öÇР ±¹»ç ÃÑÁ¡   Æò±Õ   ÆÇÁ¤

Á¡¼ö     50    100   60   210   70.00  ÇÕ°Ý

ÆòÁ¡     °¡    ¼ö    ¾ç

===========================================

 

 

ÆÇ´Ü Á¶°Ç:

           Æò±ÕÀÌ 80Á¡ ÀÌ»óÀ̸é ÇÕ°Ý

           ¼öÇÐÀÌ 100Á¡À̸é ÇÕ°Ý

¿ª»ç°¡ 60Á¡ ¹Ì¸¸ÀÌ¸é ºÒÇÕ°Ý(¼öÇÐÀÌ 100Á¡ÀÌ´õ¶óµµ ºÒÇÕ°Ý)

ÆòÁ¡ Á¶°Ç:

           ¼ö(90Á¡ ÀÌ»ó), ¿ì(80Á¡ ÀÌ»ó 90Á¡ ¹Ì¸¸), ¹Ì(70Á¡ ÀÌ»ó 80Á¡ ¹Ì¸¸)

           ¾ç(60Á¡ ÀÌ»ó 70Á¡ ¹Ì¸¸), °¡(60Á¡ ¹Ì¸¸)

ó¸® Á¶°Ç: ÇհݺÒÇÕ°Ý ¿©ºÎ´Â if~else if ~else¹®À» »ç¿ëÇÏ°í ÆòÁ¡Àº switch¹®À» »ç¿ë

 

 

¡¼¼Ò½º ÇÁ·Î±×·¥¡½

// File Name : ex064_ifelseif02.c

#include <stdio.h>

int main(void){

  int  eng, math, history, total;

  float ave;

  printf("¿µ¾î Á¡¼ö:");

  scanf("%d", &eng);

  printf("¼öÇÐ Á¡¼ö:");

  scanf("%d", &math);

  printf("±¹»ç Á¡¼ö:");

  scanf("%d", &history);

 

  total=eng+math+history;

  ave=total/3.0;

 

  printf("===========================================\n");

  printf("°ú¸ñ   ¿µ¾î   ¼öÇР ±¹»ç ÃÑÁ¡   Æò±Õ   ÆÇÁ¤\n");

  printf("Á¡¼ö   %4d   %4d %4d  %4d  %6.2f  ", eng, math, history, total, ave);

 

  if (history<60 )

   printf("ºÒÇÕ°Ý");

  else if (ave>=70 || math>=100)

   printf("ÇÕ°Ý");

    else

        printf("ºÒÇÕ°Ý");

 

    printf("\nÆòÁ¡     ");

 

    switch(eng/10){

      case 10 : printf("¼ö    "); break;

      case  9 : printf("¼ö    "); break;

      case  8 : printf("¿ì    "); break;

      case  7 : printf("¹Ì    "); break;

      case  6 : printf("¾ç    "); break;

      default : printf("°¡    ");

  }

    switch(math/10){

      case 10 : printf("¼ö    "); break;

      case  9 : printf("¼ö    "); break;

      case  8 : printf("¿ì    "); break;

      case  7 : printf("¹Ì    "); break;

      case  6 : printf("¾ç    "); break;

      default : printf("°¡    ");

  }

  switch(history/10){

      case 10 : printf("¼ö    "); break;

      case  9 : printf("¼ö    "); break;

      case  8 : printf("¿ì    "); break;

      case  7 : printf("¹Ì    "); break;

      case  6 : printf("¾ç    "); break;

      default : printf("°¡    ");

  }

    printf("\n===========================================\n");

  return 0;

}