= 진행사항 = * 참여자 || 튜터 || [최다인] || 참석 || || 튜티 || [유재범] || 참석 || || || [오영은] || 참석 || || || [장우진] || 참석 || || || [문태현] || 참석 || * 함수 * 전역 변수, 지역 변수 * 재귀함수 * 다음 수업 : 4월 11일 금요일 오후 6시 = 과제 = * 간단한 계산기 * 덧셈, 뺄셈, 곱셈, 나눗셈 을 각 함수로 만들어서 실행 * 덧뺄곱나 중 어떤 과정을 실행할 지도 입력받는다. * 특별 과제 : 전역 변수 / 지역 변수 를 이용한 코드 2개를 각각 짜오기. == 유재범 == {{{ #include #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 #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 #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 #include 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 #include 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 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);} }}} = 후기 = ----- [:새싹교실/2014/속도위반 속도위반]