과제 ¶
- 간단한 계산기
- 덧셈, 뺄셈, 곱셈, 나눗셈 을 각 함수로 만들어서 실행
- 덧뺄곱나 중 어떤 과정을 실행할 지도 입력받는다.
- 덧셈, 뺄셈, 곱셈, 나눗셈 을 각 함수로 만들어서 실행
- 특별 과제 : 전역 변수 / 지역 변수 를 이용한 코드 2개를 각각 짜오기.
유재범 ¶
#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;
}
오영은 ¶
#include<stdio.h>
#include <windows.h>
int a, b, buho;
int add(int a, int b);
int sub(int a, int b);
int mul(int a, int b);
int divd(int a, int b);
int main(void)
{
printf("계산기입니다.\n");
printf("수식을 계산합니다. 계산할 정수값을 입력해 주세요.\n\n");
printf("a : ");
scanf("%d", &a);
printf("-------------------------------------\n");
printf("덧셈->1 뺄셈->2\n");
printf("곱셈->3 나눗셈->4\n");
printf("원하는 계산 부호를 선택해 주세요.\n");
printf("-------------------------------------\n");
scanf("%d", &buho);
printf("b : ");
scanf("%d", &b);
if(buho == 1)
{
add(a, b);
}
else if(buho == 2)
{
sub(a, b);
}
else if(buho == 3)
{
mul(a, b);
}
else if(buho == 4)
{
if(b == 0)
{
printf("0으로 나눌 수 없습니다.\n");
return 0;
}
else
{
divd(a, b);
}
}
else
{
printf("ERROR!!\n");
return 0;
}
return 0;
}
int add(int a, int b)
{
printf("\n덧셈 계산을 선택하셨습니다.\n");
printf("%d + %d = %d입니다.\n", a, b, a+b);
return 0;
}
int sub(int a, int b)
{
printf("\n뺄셈 계산을 선택하셨습니다.\n");
printf("%d - %d = %d입니다.\n", a, b, a-b);
return 0;
}
int mul(int a, int b)
{
printf("\n곱셈 계산을 선택하셨습니다.\n");
printf("%d * %d = %d입니다.\n", a, b, a*b);
return 0;
}
int divd(int a, int b)
{
printf("\n나눗셈 계산을 선택하셨습니다.\n");
printf("%d / %d = 몫은 %d이고 나머지는 %d입니다.\n", a, b, a/b, a%b);
return 0;
}
장우진 ¶
#include <stdio.h>
#include <windows.h>
void add(int x,int y);
void subtraction(int x, int y);
void multiplication(int x,int y);
void division(int x,int y);
int a=0, b=0, calculate=0, sum=0;
float division_sum=0;
int main()
{
printf("계산기\n\n");
printf("먼저 정수 두개를 입력해 주세요. : ");
scanf("%d",&a);
scanf("%d",&b);
printf("입력하신 a=%d,b=%d입니다\n\n",a,b);
printf("덧셈이면 1 뺄셈이면 2 곱셈이면3 나눗셈이면 4를 입력해 주세요. : ");
scanf("%d",&calculate);
if(calculate==1)
add(a,b);
else if(calculate==2)
subtraction(a,b);
else if(calculate==3)
multiplication(a,b);
else if(calculate==4)
division(a,b);
system ("pause");
return 0;
}
void add(int x,int y)
{
sum = x+y;
printf("값은 a+b=%d입니다.\n",sum);
}
void subtraction(int x, int y)
{
sum = x-y;
printf("값은 a-b=%d입니다.\n",sum);
}
void multiplication(int x,int y)
{
sum = x*y;
printf("값은 a*b=%d입니다.\n",sum);
}
void division(int x,int y)
{
if (y==0)
{
printf("잘못입력하셨습니다.\n",sum);
}
else if(y!=0)
{
division_sum = (float) x/y;
printf("값은 a/b=%.2f입니다.\n",division_sum);
}
}
일단 하나 만들었습니다. 원래 천천히 할 계획이였으나 영은이와 필립이가 과제하자더니 날 버리고가서...
- 선배약속이랑 여모가 겹쳐서;; 미안 코드 잘짰네~수고했어ㅎㅎ - 오영은
문태현 ¶
#include<stdio.h>
int num1, num2, cal ;
int add( int num1, int num2);
int sub( int num1 , int num2);
int mult( int num1, int num2);
int div( int num1, int num2);
int main()
{
printf("정수를 입력하시오 : \n");
scanf("%d", &num1);
printf("어떤 계산을 할지 입력하시오 : (1 : +,2 :-,3 : / , 4 : X) \n");
scanf("%d",&cal);
printf("정수를 입력하시오 : \n");
scanf("%d",&num2);
if(cal== 1 )
add (num1, num2);
else if(cal==2)
sub( num1, num2);
else if(cal==3)
div( num1, num2);
else if(cal==4)
mult( num1, num2);
while (1);
return 0;
}
int add( int num1, int num2)
{
printf ("%d+%d=%d\n", num1, num2, num1+num2);}
int sub( int num1, int num2)
{ printf ("%d-%d=%d\n" , num1, num2, num1-num2);}
int div (int num1, int num2)
{
printf("%d/%d=%d\n", num1, num2, num1/num2);}
int mult( int num1, int num2)
{
printf("%d x %d=%d\n", num1, num2, num1*num2);}










