#include<stdio.h>
#pragma warning(disable:4996)
int x, y, cal;
int add(int x, int y);
int sub(int x, int y);
int mul(int x, int y);
int div(int x, int y);
int main(void)
{
printf("계산기\n정수를 입력하시오 : ");
scanf("%d", &x);
printf("계산을 선택하시오 : 1.addition, 2.substraction, 3.multiply, 4.division\n");
scanf("%d", &cal);
printf("정수를 입력하시오 : ");
scanf("%d", &y);
if(cal==1)
add(x, y);
if(cal==2)
sub(x,y);
if(cal==3)
mul(x,y);
if(cal==4)
div(x,y);
return 0;
}
void add(int x,int y)
{
printf("%d + %d = %d", x, y, x+y);
}
void sub(int x, int y)
{
printf("%d - %d = %d", x, y, x-y);
}
void mul(int x, int y)
{
printf("%d * %d = %d", x, y, x*y);
}
void div(int x, int y)
{
if(y==0)
{
printf("정수를 다시 입력하시오\n두 번째 정수를 입력하시오. : ");
scanf("%d", &y);
}
else
printf("%d / %d = %d....%d", x, y, x/y, x%y);
}
#include<stdio.h>
#pragma warning(disable:4996)
int main(void)
{
int x, y, cal;
int add(int x, int y);
int sub(int x, int y);
int mul(int x, int y);
int div(int x, int y);
printf("계산기\n정수를 입력하시오 : ");
scanf("%d", &x);
printf("계산을 선택하시오 : 1.addition, 2.substraction, 3.multiply, 4.division\n");
scanf("%d", &cal);
printf("정수를 입력하시오 : ");
scanf("%d", &y);
if(cal==1)
add(x, y);
if(cal==2)
sub(x,y);
if(cal==3)
mul(x,y);
if(cal==4)
div(x,y);
return 0;
}
void add(int x,int y)
{
printf("%d + %d = %d", x, y, x+y);
}
void sub(int x, int y)
{
printf("%d - %d = %d", x, y, x-y);
}
void mul(int x, int y)
{
printf("%d * %d = %d", x, y, x*y);
}
void div(int x, int y)
{
if(y==0)
{
printf("정수를 다시 입력하시오\n두 번째 정수를 입력하시오. : ");
scanf("%d", &y);
}
else
printf("%d / %d = %d....%d", x, y, x/y, x%y);
}
- 솔직히 아직 지역변수 전역변수 완전히 이해 된것도 아니고 그냥 변수를 int main (void) 안에 넣었다 밖에 뺐다 했는데 도통 불편한게 아니네요. return 0; 뒤에 선언하는것도 나중에 하다 보니까 알게 됬고.. 그리고 이건 여분으로 만든것. 만들고 나서 보니까 함수가 아니었던..
- 지역변수와 전역변수는 선언하는 위치의 차이라고 보면 돼. 함수 내에서 선언된 변수는 지역변수라고 부르고, 해당 함수 안에서만 사용 가능. 전역변수는 코드의 제일 위에서 선언되며, 모든 함수에서 공통으로 사용 가능. 접근성의 문제. - 최다인
- 그리고 우진이한테도 얘기했지만, 함수의 반환값이 없으면 굳이 int형 함수를 쓸 필요가 없어. void형으로 충분.
- + 0으로 나눴을 때는 0으로 나눌 수 없다는 경고를 출력하고 계산을 실행하지 않도록 하는 기능도 넣어봐 ㅎㅎ - 최다인
#include<stdio.h>
#pragma warning(disable:4996)
int main(void)
{
int num1=0, num2=0, calcul=0;
int addition(int num1, int num2);
int substraction(int num1, int num2);
int multiply(int num1, int num2);
int division(int num1, int num2);
printf("정수를 입력하시오 : ");
scanf("%d", &num1);
printf("계산을 선택하시오 : 1.addition, 2.substraction, 3.multiply, 4.division\n");
scanf("%d", &calcul);
printf("정수를 입력하시오 : ");
scanf("%d", &num2);
if(calcul==1)
{
printf("%d + %d = %d\n", num1, num2, num1+num2);
}
else if(calcul==2)
{
printf("%d - %d = %d\n", num1, num2, num1-num2);
}
else if(calcul==3)
{
printf("%d * %d = %d\n", num1, num2, num1*num2);
}
else if(calcul==4)
{
if(num2==0)
{
printf("정수를 다시 입력하시오 : ");
scanf("%d", &num2);
}
printf("%d / %d = 몫은 %d, 나머지는 %d\n", num1, num2, num1/num2, num1%num2);
}
return 0;
}