C/C++
c언어 사칙 연산 해보기

리턴값없는 경우

#include <stdio.h>
void add(int, int);
void sub(int, int);
void mul(int, int);
void div(int, int);

int main() {
	int i, j,choice;
	printf("사칙연산을 수행할 두 수를 입력하세요\n");
	scanf("%d%d", &i, &j);
	printf("어떤 연산을 수행하시겠습니까? 1)add, 2)sub, 3)mul, 4)div\n");
	scanf("%d", &choice);
	switch (choice) {
	case 1:
		add(i, j);
		break;
	case 2: 
		sub(i, j);
		break;
	case 3:
		mul(i, j);
		break;
	case 4:
		div(i, j);
		break;
	default:
		printf("error\n");
		break;
	}

	return 0;

}

void add(int a, int b) {
	printf("%d + %d = %d\n", a, b, a + b);
}
void sub(int a, int b) {
	printf("%d - %d = %d\n", a, b, a - b);
}
void mul(int a, int b) {
	printf("%d * %d = %d\n", a, b, a * b);
}
void div(int a, int b) {
	printf("%d / %d = %f\n", a, b, a /(float) b);
}

리턴값 있는 경우?

#include<stdio.h>

int add(int, int);
int sub(int, int);
int mul(int, int);
int div(int, float);

int main() {
	int i, j,choice;
	printf("두 수 입력\n");
	scanf(" %d%d", &i, &j);
	printf("골라바\n");
	scanf("%d", &choice);
	switch (choice)
	{
	case 1:
		add(i, j);
		printf("%d+%d=%d", i, j, i + j);
		break;
	case 2:
		sub(i, j);
		printf("%d-%d=%d", i, j, i - j);
		break;
	case 3:
		mul(i, j);
		printf("%d*%d=%d", i, j, i * j);
		break;
	case 4:
		div(i, j);
		printf("%d/%d=%d", i, j, i / j);
		break;
	default:
		printf("error\n");
		break;
	}
	return 0;
}

int add(int a, int b) {
		return a+b;
}

int sub(int a, int b) {

	
	return a-b;
}

int mul(int a, int b) {
		
	return a*b;
}

int div(int a,float b) {
	
	
	return a/b;
}

void를 int로 변경해서 쓰긴 했는데 이렇게 하는게 맞나요? 출력은 되긴하는데.. 이 둘의 차이가 어려워요 ㅠㅠㅠ

댓글 1