/*함수공부*/
/*calculus*/
#include<stdio.h>
////////function protocal/////////////////////////////////
double add(double left_value, double right_value);
double multiple(double left_value, double right_value);
double divide(double left_value, double right_value);
double subtraction(double left_value, double right_value);
//////////////////////////////////////////////////////////
int main(void){
 double x;
 double y;
 int a,b,c;
 int result;
 int button;

start://(4)
 
left_value_restart://(1)
 
 printf("left_value is input =");
 a=scanf_s("%lf", &x);
 if (a == 0){
  printf("잘못 입력하셨습니다\n");
  fflush(stdin);
  goto left_value_restart;//(1)
    }
right_value_restart://(2)
 
 printf("right_value is input =");
 b=scanf_s("%lf", &y);
 if (b == 0){
  printf("잘못 입력하셨습니다\n");
  fflush(stdin);
  goto right_value_restart;//(2)
 }
 while (1)
 {
  printf("어떤 연산을 하시겠습니까?-------------------\n");
  printf("(1):덧셈 (2):곱셈 (3):나눗셈 (4):뺄셈 (그 외): 종료\n");
  c = scanf_s("%d", &result);

  if (result == 1){
   printf("------------------덧셈에 대한 연산입니다.------------------\n");
   printf(" %.2lf + %.2lf = %.2lf\n ", x, y, add(x, y));
   printf("----------------------------------------------------------\n");
  }
  else if (result == 2){
   printf("------------------곱셈에 대한 연산입니다.------------------\n");
   printf(" %.2lf * %.2lf = %.2lf\n ", x, y, multiple(x, y));
   printf("----------------------------------------------------------\n");
  }
  else if (result == 3){
   printf("------------------나눗셈에 대한 연산입니다.------------------\n");
   printf(" %.2lf / %.2lf = %.2lf\n ", x, y, divide(x, y));
   printf("----------------------------------------------------------\n");
  }
  else if (result == 4){
   printf("------------------뺄셈에 대한 연산입니다.------------------\n");
   printf(" %.2lf - %.2lf = %.2lf\n ", x, y, subtraction(x, y));
   printf("----------------------------------------------------------\n");
  }
  else{
   printf("----------------------------------------------------------\n");
   printf("종료.\n");
   printf("----------------------------------------------------------\n");
   break;
  }
 }
 

   
 printf("처음으로 돌아가기(1)/ 종료하기(그 외).\n");
 while (1)
 {
  scanf_s("%d", &button);
  if (button == 1){
   printf("처음으로 돌아가겠습니다.\n");
   fflush(stdin);
   goto start;//(4)
  }
  else{
   printf("종료.\n");
   break;
  }
  
 }

 return 0;
}
////// addition /////////////////////////////////
double add(double left_value, double right_value){
 double sum = 0;
 sum = left_value + right_value;
 return sum;
}
////// multiplication //////////////////////////
double multiple(double left_value, double right_value){
 double mul = 0;
 mul = left_value * right_value;
 return mul;
}
////// divide /////////////////////////////////
double divide(double left_value, double right_value){
 double div = 0;
 div = left_value / right_value;
 return div;
}
////// subtraction /////////////////////////////////
double subtraction(double left_value, double right_value){
 double sub = 0;
 sub = left_value - right_value;
 return sub;
}