본문 바로가기

C언어/예습

[C언어 예습]DAY12_함수의 응용(계산기)

함수의 응용

계산기 (함수 사용, 헤더파일 사용)

출력예)
계산기
10*4
40

 

string.h
strcmp(): 문자열 비교
strcmp(값, 값)
두 값이 같으면 0 리턴

 

char oper[3] = {' ', };

 

if( !strcmp(oper, "+") ){
              같을 때 실행할 문장
}

 

배열의 scanf는 size를 알려줘야함.


#include <stdio.h>
#include <string.h>
#include"calculator.h"
void calc(int, char[3], int);

void main() {
	int num1 = 0; int num2 = 0;
	char oper[3] = { ' ', };

	printf("계산기\n");
	scanf_s("%d%c%d", &num1, oper, sizeof(oper), &num2);
	//printf("%d%s%d\n", num1, oper, num2);

	calc(num1, oper, num2);
}

 

#pragma once
void calc(int num1, char oper[3], int num2) {

	if (!strcmp(oper, "+")) {
		printf("%d\n", num1 + num2);
	}
	else if (!strcmp(oper, "-")) {
		printf("%d\n", num1 - num2);
	}
	else if (!strcmp(oper, "*")) {
		printf("%d\n", num1 * num2);
	}
	else if (!strcmp(oper, "/")) {
		if (num2 != 0) {
			printf("%.2lf\n", (double)num1 / num2);
		}
		else {
			printf("0으로 나눌 수 없습니다.\n");
		}
	}
	else {
		printf("잘못입력하셨습니다.\n");
	}

}