반응형

아래 코드는 사용자에게 입력을 받는 scanf 함수를 사용한다.

비주얼스튜디오에서 scanf를 사용시 발생하는 에러에 대한 내용 아래 참고.

https://ansan-survivor.tistory.com/899

 

[Visual Studio 2019] 비주얼 스튜디오 2019 scanf_s 오류, scanf 사용하기 변경

예전에는 scanf 를 상용함에 있어 문제가 없었는데, 비쥬얼스튜디오가 계속업그레이드가 되면서 scanf_s를 사용하지 않으면 오류를 일으킨다. 따라서 이 에러를 해제 시키고 예전처럼 scanf를 사용

ansan-survivor.tistory.com

 

아래 함수는 사용자에게 연산자(덧셈, 뺄셈, 곱셈, 나눗셈)를 입력 받고 값 2개를 계산하는 코드이다.

 

C언어에서 사용하는 If, else, if else 문에 대한 예시, 조건에 만족하면 진행하고 그렇지 않으면 통과한다.

그리고, do - while 반복문을 사용했다. (조건이 맞을때까지 반복하고, 조건이 맞으면 탈출)

사용한 비교 연산은 == AND연산, 두 조건이 내가 넣은 값 (char)이 일치해야 수행

#include <stdio.h>

int main(void)
{
	char  x;
	int a, b, result;

	printf("********************\n");
	printf("A----Add\n");
	printf("S----Subtract\n");
	printf("M----Muliply\n");
	printf("D----Divide\n");
	printf("Q----Quit\n");
	printf("********************\n\n");

	do
	{
		printf("[A,S,M,D,Q]에서 연산을 선택하시오:");
		scanf_s(" %c", &x);

		if (x == 'A')
		{
			printf("두수를 공백으로 분리하여 입력하시오: ");
			scanf_s("%d %d", &a, &b);
			result = a + b;

			printf("연산의 결과는 %d\n", result);
		}
		else if (x == 'S')
		{
			printf("두수를 공백으로 분리하여 입력하시오: ");
			scanf_s("%d %d", &a, &b);
			result = a - b;

			printf("연산의 결과는 %d\n", result);
		}
		else if (x == 'M')
		{
			printf("두수를 공백으로 분리하여 입력하시오: ");
			scanf_s("%d %d", &a, &b);
			result = a * b;

			printf("연산의 결과는 %d\n", result);
		}
		else if (x == 'D')
		{
			printf("두수를 공백으로 분리하여 입력하시오: ");
			scanf_s("%d %d", &a, &b);
			result = a / b;

			printf("연산의 결과는 %d\n", result);
		}
		else if (x == 'Q')
		{
			break;
		}
		else
		{
			printf("잘못입력하셨습니다. 다시 입력하세요\n");
		}
	} while (x == 'A', 'S', 'M', 'D', 'Q');   // 이곳이 거짓이면 다시 반복하여 실행.

	return 0;
}

 

(실행 결과)

A면 덧셈연산을 수행, 그리고 값을 넣고 엔터, 또다른 값을 넣고 엔터를 누르면 연산결과 값이 출력된다.

또는 한줄에 연산자와 숫자를 띄어쓰기를 기준으로 값을 넣으면 연산이 된다.

 

만약 Q를 입력하면 break; 함수를 통해 while 반복문을 탈출한다.

 

 

 

 

 

반응형

+ Recent posts