코딩하렴

함수가 덕지덕지 C언어 콘솔 계산기

by 으렴

예전에 만들었떤거 올려버리기~~~~~~~~~~~~

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

int inputvalue();
char inputvalue_oper();
int plus(int in1, int in2);
int min_(int in1, int in2);
int mul(int in1, int in2);
float div1(int in1, int in2);
void outputvalue(int in1, char oper, int in2, int result, float result_f);
char selection();


int main(void)
{
	int in1, in2;
	char oper;
	int result = 0;
	float result_f = 0.f;
	char select;

	do
	{
		in1 = inputvalue();
		oper = inputvalue_oper();
		in2 = inputvalue();

		switch (oper)
		{
		case '+': result = plus(in1, in2);break;
		case '-': result = min_(in1, in2);break;
		case '*': result = mul(in1, in2);break;
		case '/': result_f = div1(in1, in2);break;
		default: printf("오류");
			exit(-1); // 바로 종료
		}

		outputvalue(in1, oper, in2, result, result_f);
		select = selection();

	} while (select == 'y' || select == 'Y');

	return 0;
}
int inputvalue()
{
	int num;
	printf("value : ");
	scanf_s("%d", &num);
	return num;
}
char inputvalue_oper()
{
	char op;
	printf("op : ");
	rewind(stdin);
	scanf("%c", &op);
	return op;
}

int plus(int in1, int in2)
{
	return in1 + in2;
}

int min_(int in1, int in2)
{
	return in1 - in2;
}

int mul(int in1, int in2)
{
	return in1 * in2;
}

float div1(int in1, int in2)
{
	return (float)in1 / in2;
}
void outputvalue(int in1, char oper, int in2, int result, float result_f)
{
	if (oper == '/')
	{
		printf("%d %c %d = %.2f\n", in1, oper, in2, result_f);
	}
	else
	{
		printf("%d %c %d = %d\n", in1, oper, in2, result);
	}

}
char selection()
{
	char select;
	printf("again?");
	rewind(stdin);
	scanf("%c", &select);
	return select;
}

 

함수가 덕지덕지

사이트의 정보

코딩하렴

으렴

활동하기