프로그래밍

C언어 함수와 친해지기(1)_계산기

zerovector 2017. 8. 30. 23:08

C언어로 계산기를 만들었다.

 

함수도 선언하고, while 반복문, switch문 까지....

 

여러 가지가 혼합되어 만들어진 결과물!!!!

 

계산기를 두 가지 방법으로 만들어 봤는데, 두 번 째 만든 결과물인 if문 을 switch문으로 대체했다.

 

내용은 다음과 같다.

 

#include <stdio.h>

 

//함수 먼저 정의하기

 

//제목함수

void TITLE (void)
{
     printf("-----------------------CALCULATER----------------------\n\n");
     printf("\t\t   Choose ONLY one!\n\n");
}

//연산기호 함수

int CHOICE(void)
{
     int opt;
     printf("  1.ADDITION  2.SUBSTRACTION  3.MULTIPLY  4.DIVISION\n");
     printf(" Choice: ");
     scanf("%d", &opt);
     return opt;
}

 

//수 입력

double INPUT(void)

{
     double num;
     printf(" Input: ");
     scanf("%lf", &num);
     return num;
}

 

//연산식

double ADD(double num1, double num2)
{
     return num1+num2;
}

 

double SUB(double num1, double num2)

{
     return num1-num2;
}

 

double MUL(double num1, double num2)
{
     return num1*num2;
}

 

double DIV(double num1, double num2)
{
     return num1/num2;
}

 

//결과 입력

 

double OUTPUT(double result)
{
     printf("\t\tRESULT : %lf\n", result);
     return result;
}

 

//뼈대 main 함수

 

double main(void)
{
 int opt;
     double num1, num2, result;

     TITLE();

 while(1)
 {
      opt=CHOICE();
      num1=INPUT();
      num2=INPUT();
      switch(opt)
  {
       case 1:
        result=ADD(num1,num2);
        break;
       case 2:
        result=SUB(num1,num2);
        break;
       case 3:
        result=MUL(num1,num2);
        break;
       case 4:
        result=DIV(num1,num2);
        break;
       default:
        printf(" Let's do it again\n");
        break;
  
  }
  OUTPUT(result);
 }

 return 0;
}

 

break;을 안쓰고 실행해 봤더니, 오류도 없이 실행이 잘 되나 싶었는데,

 

글쎄!!! 이상하고 엉뚱깽뚱한 답이 나오는게 아닌가?

 

다시 침착하게 코드를 쭉 읽어봤다.

 

break;을 모두 쓰니 완벽하게 계산기로 만들어졌다.

 

내용도 길고, 무슨 내용인지 모르는 사람들에게는 창을 꺼버리게 만드는 내용일 수도 있지만,

 

수업 과제나 시험 공부에 도움이 됐으면 좋겠다.