티스토리 뷰

C언어를 공부하다 보면 제어문(반복문, 조건문)에서 상단한 연습이 필요한 부분이 많습니다. for문이나 if문의 경우는 워낙 다른 언어에서도의 사용빈도가 높아 익숙하지만 switch case문의 경우 C언어 이외에서는 사용빈도가 낮아 쉽게 까먹곤합니다.

 '깔끔하지 않은 코드는 의미가 없다'라는 말이 있듯이 조건문을 switch case문을 이용하여 더욱 깔끔하게 코딩할 수 있다면 당연히 switch case문을 사용하는 것이 맞다고 생각합니다. 그렇기 때문에 switch case문 또한 확실히 익혀 두는 것이 좋습니다.

 오늘은 switch case문의 기본예제인 사칙연산 계산기 만들기를 소개하려고 합니다.

[코드]

#include<stdio.h>
 
int main( void ){
	int num1 = 0;
	int num2 = 0;
	int value = 0;
	char a = 0;
 
	printf( "수식을 입력하시오 : " );
	scanf( "%d %c %d", &num1, &a, &num2 );
 
	switch(a){  //char a의 값에 따라서 case를 설정
	case '+'//char a의 값이 +일경우 +연산을 한다.
		value = num1 + num2;
		printf( "%d %c %d = %d", num1, a, num2, value );
		break;
	case '-'//char a의 값이 -일경우 -연산을 한다.
		value = num1 - num2;
		printf( "%d %c %d = %d", num1, a, num2, value );
		break;
	case '*':  //char a의 값이 *일경우 *연산을 한다.
		value = num1 * num2;
		printf( "%d %c %d = %d", num1, a, num2, value );
		break;
	case '/':  //char a의 값이 /일경우 /연산을 한다.
		printf( "%d/%d = %lf", num1, num2, (double)num1/num2 );
		break;
	default:
		printf( "계산할 수 없음" );
		break;
	}
 
	return 0;
}

[결과]

※공감은 블로거에게 큰힘이 됩니다.

댓글